If you build with language models, you know the tax. Separate accounts for OpenAI, Anthropic, and Google. Three sets of API keys. Three billing dashboards. Different request formats. And every time a better model ships, another integration to write.
- Hosted API gateway that normalizes requests and responses across hundreds of models and providers through a single OpenAI-compatible endpoint.
- Switching existing OpenAI code requires only changing the base URL and API key, making migrations two-line changes.
- Routing controls: provider preferences, fallback chains, optimization variants, and per-key budgets let you control cost, availability, and data jurisdiction.
- Costs: no inference markup, token rates match providers; credit purchases incur a 5.5% fee and BYOK has a free tier then 5% charge.
- Trade-offs: single-gateway dependency, 25 to 40 ms gateway overhead, no public SLA or published compliance certifications, and closed source.
OpenRouter exists to remove that. One API key, one credit balance, and access to hundreds of models from dozens of providers through a single endpoint.
That is the pitch, and it holds up. But there are real trade-offs around cost, privacy, and reliability that the marketing pages skip. This guide covers how it actually works and when you should use something else.
What Is OpenRouter?
OpenRouter is a hosted API gateway that sits between your application and model providers. You send a request to OpenRouter, it forwards that request to the provider serving your chosen model, and it returns the response in a normalized format.
The catalog is the main draw. OpenRouter currently lists over 500 active models across 80 or more providers, covering text, image, video, audio, embeddings, and reranking through the same endpoint.
The critical design decision is that the endpoint is OpenAI-compatible. It follows the Chat Completions shape, so most code already written against OpenAI works after changing two things: the base URL and the API key.
How Does OpenRouter Work?
The mechanics are straightforward.
- You create an account and either add credits or configure your own provider keys.
- You get one API key that works across the entire catalog.
- You send a request to OpenRouter’s chat completions endpoint with a model name and your messages.
- OpenRouter routes it to a provider serving that model, applying your routing preferences.
- You get a normalized response in the same format regardless of which provider handled it.
Because many open models are served by multiple providers, OpenRouter can choose between them. It handles fallbacks automatically, so if one provider is down or throttled, the request routes elsewhere rather than failing. Variant suffixes let you optimize for particular goals, such as prioritizing throughput.
There is also an automatic routing option that picks a model for you, plus a named free router introduced in February 2026 that draws from the current pool of zero-cost models. That matters because free model availability changes constantly, and the router absorbs that volatility instead of forcing you to rewrite integrations.
How Much Does OpenRouter Cost?
This is where most explanations get vague, so here are the specifics.
OpenRouter does not mark up inference. Token rates mirror what the underlying provider charges. The money is made elsewhere.
- Credit purchases carry a 5.5% fee, with a minimum of $0.80 per transaction. Buy $100 in credits and roughly $94.50 becomes usable inference. Crypto payments carry a 5% fee.
- Bring your own key (BYOK) is free for the first million requests per month, then costs 5% of what the model would normally cost. Enterprise plans raise that free threshold substantially.
- Free models exist at zero cost but are rate-limited, typically capped around 20 requests per minute.
- Accounts without credits are limited to roughly 50 requests per day, rising to around 1,000 per day after purchasing $10 in credits.
The practical read: at $1,000 a month in spend, the credit fee costs you about $55. At prototype scale that is irrelevant. At production scale it compounds, and the $0.80 minimum makes small top-ups disproportionately expensive.
One more thing worth checking. Because OpenRouter routes the same open model to multiple providers with different direct rates, going direct to the cheapest provider is often a bigger cost lever than the platform fee itself.
The Privacy Detail Most Guides Miss
Data handling on OpenRouter is decided per model, not platform-wide. That distinction matters enormously.
OpenRouter itself does not log prompts or completions by default, even on errors, unless you opt in. Opting into logging earns a small usage discount.
But your request still reaches an upstream provider, and that provider’s policy governs what happens next. Routing to a model hosted in a jurisdiction with different data rules is a decision you are making, whether or not you realize it. If you handle sensitive data, audit which models your application can reach rather than leaving the catalog wide open.
Who Actually Uses It
Three patterns dominate.
Prototyping and model evaluation. Testing whether Claude, GPT, or an open model handles your task best is trivial when switching means changing one string.
Coding agent configuration. Many teams adopt OpenRouter not to call from application code but to point their AI coding tools at it, so every developer’s editor bills to one account. Tools including Cline, Aider, and Continue support it directly, usually via an environment variable and a provider-prefixed model string.
Production applications wanting fallbacks. Automatic failover across providers gives better availability than a single provider integration, provided you accept the added dependency.
Routing Controls Worth Knowing
The routing layer is where OpenRouter earns its keep, and it is more configurable than most people realize.
Provider preferences. For open models served by several providers, you can specify an order of preference, exclude specific providers entirely, or let OpenRouter optimize automatically. This is the main lever for controlling both cost and data jurisdiction.
Fallback chains. You can define a sequence of models so that if the first is unavailable or refuses, the request tries the next. This is more robust than handling retries in application code.
Optimization variants. Suffixes on the model string let you bias toward throughput or cost rather than accepting the default routing decision.
Per-key budgets. You can issue multiple API keys with individual spending limits, which is how most teams separate development, staging, and production spend without separate accounts.
Setting these deliberately is the difference between a gateway that saves money and one that quietly spends more than going direct would have.
Trade-offs to Understand
- You add a dependency. If OpenRouter has an outage, you lose access to every model even when the providers themselves are fine. That is the inherent cost of a centralized gateway.
- There is gateway latency. Documented overhead sits in the range of roughly 25 to 40 milliseconds. Negligible for most applications, relevant for latency-critical ones.
- No public SLA. Fine for prototyping. A problem for regulated production workloads.
- No SOC 2 or ISO 27001 certification published for the core product. Teams needing vendor-issued compliance certs should look at alternatives that carry them.
- Closed source. You cannot independently verify the security posture. You are trusting the vendor.
- Heavy single-model use undercuts the value. If one provider dominates your workload, going direct is usually cheaper and simpler.
OpenRouter vs LiteLLM
The most common comparison, and the choice is cleaner than it looks.
| OpenRouter | LiteLLM | |
|---|---|---|
| Hosting | Hosted, zero ops | Self-hosted |
| Source | Proprietary | Open source (MIT core) |
| Cost | 5.5% credit fee, BYOK fees | Free core, you pay hosting |
| Setup | Minutes | Infrastructure work |
| Data path | Through OpenRouter | You control it |
| Best for | Prototyping, small teams | Data residency, regulated workloads |
Choose OpenRouter when you want breadth immediately and lack DevOps capacity. Choose LiteLLM when you need control over the data path, want to avoid per-request fees at scale, or must lock down which models are reachable.
Getting Started
- Create an account at openrouter.ai and add a small amount of credit, or start with free models.
- Generate an API key.
- Point your existing OpenAI client at
https://openrouter.ai/api/v1and swap in your OpenRouter key. - Specify models using the
provider/model-nameformat. - Set spending limits per key before you build anything real.
Most migrations are a two-line change, which is also why leaving later is easy. That portability is a genuine argument for starting here.
Final Thoughts
OpenRouter solves a real problem well. For experimentation, model comparison, and small-to-mid production workloads, the convenience clearly justifies the fee.
The honest limits are scale and compliance. Once spend grows, one model dominates your traffic, or auditors start asking questions, the maths and the governance requirements both push toward going direct or self-hosting a gateway you control.
Start with OpenRouter, set spending limits, audit which models you allow, and revisit the decision when your bill or your compliance scope changes.
FAQs
There is a free tier with rate-limited models, but paid usage requires credits, which carry a 5.5% purchase fee.
No. Token rates match provider rates. Revenue comes from the credit purchase fee and BYOK charges instead.
Privacy depends on the specific model you route to. OpenRouter does not log by default, but upstream provider policies still apply.
OpenRouter is a hosted marketplace requiring no setup. LiteLLM is an open-source proxy you self-host and fully control.
Yes. The API is OpenAI-compatible, so changing the base URL and API key is usually all that is required.
