Home → Guides → Moving from OpenRouter
Both speak the OpenAI format, so the migration itself is small. The parts worth planning are the model names, the features that do not carry over, and how you verify the bill.
Two strings, assuming you already use the OpenAI SDK:
client = OpenAI(
api_key="YOUR_APICLAN_KEY",
base_url="https://apiclan.us/v1",
)
If you are on Claude Code or the Anthropic SDK, the base URL is
https://apiclan.us with no /v1 — those clients append
/v1/messages themselves. Getting that backwards produces a 404 that never
reaches the gateway and therefore never appears in your usage logs, which is the single
most common false alarm during a migration.
OpenRouter namespaces models as vendor/model. Here the model string is the
plain provider name, so anthropic/claude-sonnet-5 becomes
claude-sonnet-5. Strip the prefix and check the exact spelling against
the price list — some names use hyphens where the vendor's
marketing uses dots. claude-fable-5-1 is hyphenated, not
claude-fable-5.1.
Keys here are bound to one group, and a group carries one family. A key that works for Claude models will be refused by image models. If a model 404s while others on the same key succeed, that is a group boundary and not an outage.
Their published fee terms and the price arithmetic between the two are set out in APICLAN vs OpenRouter, with the numbers quoted from their own documentation rather than paraphrased.
Do not cut over in one commit. Put the base URL and key in environment variables, point a single low-risk workload at the new endpoint, and leave everything else where it is. A week of real traffic on one service tells you more than any benchmark.
When you compare bills, compare cost per unit of work rather than per token. Prompt
caching moves per-call cost by a factor of three on the same model — on our own
traffic the median claude-sonnet-5 call costs 0.0087 credits and the mean
is 0.0255, and the entire gap is cache behaviour. If one side of your comparison caches
more effectively than the other, per-token pricing will not show it and the invoice
will.
No subscription, no monthly minimum, no sales call. Top up with USDT and spend what you use — 1 USDT gives you 2 credits of API balance.
Read the 30-second quickstartPrices quoted on this page are regenerated automatically from live billing data. Third-party terms are quoted from that party's own published documentation.