Unbiased

Blog

Switching from OpenRouter: the whole migration, mapped

The code change is famously small; the OpenAI-compatible surface makes leaving a base-URL swap. The real migration is credits, routing rules, and choosing the right destination for the reason you are leaving.

By the Unbiased Team · published · fees and prices verified July 28, 2026; measured data dated in place

2 lines
base URL and API key: the code portion of most migrations
2 anchors
the things that do not travel: credit balances and routing rules
4 exits
direct, control plane, self-hosted, or blended model, one per leaving-reason

Switching from OpenRouter is a base-URL and API-key change for code, plus two real tasks: draw down credit balances before you go, and re-express routing rules at the destination. Pick the destination by your reason for leaving: fees past ~$900/month (flat fee), governance (control plane), data locality (self-hosted), or selection fatigue (blended model).

The easy part, honestly easy

Everything serious in this category speaks the OpenAI-compatible surface, OpenRouter included. Your application migration is a base URL and a key, and if you built anything reasonable, model names live in config. Budget an hour for the code and a day for the testing you should do anyway.

Two things do not travel. Credit balances: stop topping up ahead of the move and draw the balance down, because accumulated credits, not code, are the aggregator's real lock-in. Routing rules: fallbacks, provider preferences, and per-route choices are expressed in OpenRouter's dialect and need re-writing in the destination's; budget an afternoon.

Choose the destination by the leaving-reason

Leaving over fees (spend cleared the ~$900/month crossover): a flat-fee control plane like Portkey at $49/month, or direct APIs if your model set has stabilized to one or two providers. Leaving over governance: the control plane, which is the product built for SSO, audit, and spend control. Leaving over data locality: self-hosted LiteLLM, free plus the ops line we price honestly at ~$1,000/month unless your platform team has real spare capacity.

Leaving because model selection became a chore: that is not solved by any of the above, they all hand the choosing back to you. The blended-model category exists for it: Pareto, several LLMs per request, one answer, billed at cost, receipts published. Ours, so verify before believing.

Start from your constraint

Pick the constraint that is actually binding.

Honest by design: two of the four answers are not us. Fees verified 2026-07-28; the deeper walkthrough of each trade is above.

The migration checklist

Meter before and after: run your top three tasks through both stacks and compare metered bills, not rate-card math; verbosity makes paper math lie. Confirm streaming and tool calling on the destination for your exact models. Re-run your eval set against the new route (provider variance means the same model name can behave differently through a different path). Keep the OpenRouter key alive for a week of fallback. Then close the loop: whatever you learned about your traffic during the move, write it down; it is the selection homework most teams never get receipts on.

Questions, answered

Can I use my OpenRouter credits after leaving?

Draw balances down before you go; that money is spent with the platform. Plan the top-up schedule two weeks ahead of a migration so the balance lands near zero on moving day.

Will my code break when I switch?

Rarely, if you stayed on the OpenAI-compatible surface: base URL and key are the change. Gateway-specific routing parameters are the part that breaks; re-express them at the destination.

Should I go direct to providers instead of another gateway?

If your production traffic has settled on one or two models, yes; direct is the correct architecture, no fee, no hop. Keep a router only if breadth or fallbacks still earn their keep.

How do I compare costs fairly before switching?

Meter identical prompts through both stacks and compare actual bills. Rate cards miss verbosity (same-priced models billed 77% apart on our battery) and fee structures land in different places (credits vs tokens vs flat).

Compare any two models

VS

Rates verified 2026-07-28. "Measured task" = our identical dashboard-generation prompt, metered where marked ✓ and list-math otherwise. Verbosity from the Verbosity Index, Edition 1. Data: prices.json.

Run the comparison on your own traffic. $100 to verify.
Buy Pareto API credits