OpenRouter is a hosted LLM gateway. You send OpenAI-format requests to https://openrouter.ai/api/v1 with one key, and it routes them to whichever provider serves that model. As of 19 August 2026 its public API returns 415 model entries across 102 provider endpoints. It charges no markup on tokens: the fee is 5.5% (minimum $0.80) when you buy credits with a card, or 5% with crypto. Free models exist with a 20 request-per-minute and 50 request-per-day cap, rising to 1,000 per day once you have bought $10 of credits.
- One key, one endpoint. Base URL
https://openrouter.ai/api/v1, OpenAI SDK drop-in. - No markup on inference. The money is a 5.5% credit purchase fee ($0.80 minimum), or 5% via crypto.
- Verified 19 Aug 2026 from the public API: 415 models, 102 provider endpoints, 17 free variants. The homepage says 500+ and 80+.
- Free models are capped at 20 requests/minute and 50/day, or 1,000/day after a $10 credit purchase.
- BYOK is supported and free up to $25,000/month of list-price inference, then 5%.
- The listed price is the cheapest endpoint, not the one you necessarily get. Routing is price-weighted by default.
What OpenRouter actually is
OpenRouter sits between your code and every model vendor. You write one integration against an OpenAI-shaped API, hold one key, top up one balance, and get access to Anthropic, OpenAI, Google, xAI, DeepSeek, Moonshot, Mistral, Qwen, and a long tail of open-weight models served by specialist inference hosts. That is the entire product idea, and it is a good one: the alternative is five vendor accounts, five billing relationships, five SDKs, and a procurement conversation each time a new model matters.
It is a hosted gateway, not a library. There is nothing to deploy and nothing to operate, which is the main axis it differs on from LiteLLM.
The numbers, checked this month
Vendor homepages round up. These come from OpenRouter's own public API, read on 19 August 2026.
GET /api/v1/models and /api/v1/providers, 19 August 2026.| Homepage says | API returns | |
|---|---|---|
| Models | 500+ | 415 model entries |
| Providers | 80+ | 102 provider entries |
| Free models | not stated | 17 ids ending :free |
| Model authors | not stated | 53 (openai 96 ids, qwen 51, google 43, anthropic 32) |
| Scale | 200T+ tokens/month, 250k+ apps, 4.2M+ users | not exposed |
How billing works
This is the part people get wrong, in both directions. OpenRouter does not take a cut of inference. Its FAQ is explicit: "We pass through the pricing of the underlying providers without any markup, so you pay the same rate as you would directly with the provider."
The fee is on the top-up. You buy credits, the fee is added on top of the purchase, and the credits then spend at provider list price.
| Charge | Amount | When |
|---|---|---|
| Credit purchase (card) | 5.5% of the order, $0.80 minimum | Added on top of every top-up |
| Credit purchase (crypto) | 5.0% flat, no minimum | Added on top of every top-up |
| Inference markup | None | Never |
| BYOK fee | 5% of the equivalent list price | Only above $25,000/month of list-price inference |
| Prompt logging opt-in | 1% discount on usage | If you let OpenRouter retain prompts |
So a $100 top-up costs $105.50 on a card and buys $100 of tokens. The effective overhead against going direct is 5.5%, and it is flat: it does not scale with how expensive the model is, and it does not compound.
Free models and their real limits
Seventeen model ids end in :free today, mostly NVIDIA Nemotron variants, Google Gemma 4, Z.ai GLM 5.2, OpenAI gpt-oss-20b, and a few preview models. They are genuinely free of token charges. They are not free of limits.
| Account state | Requests/minute | Requests/day |
|---|---|---|
| No credits ever purchased | 20 | 50 |
| At least $10 in credits purchased (lifetime) | 20 | 1,000 |
The $10 threshold is a lifetime purchase, not a balance, so it survives spending the credits. OpenRouter's own docs say free models are "usually not suitable for production use", which is the right way to read a 20 RPM ceiling: they are for evaluation, hobby projects, and fallback tiers, not for a coding agent that fires ten tool-call turns a minute.
BYOK: your keys, their routing
Bring-your-own-key lets you attach your existing Azure AI Foundry, Azure OpenAI, Amazon Bedrock, Google Vertex, or OpenAI credentials and keep your negotiated rates, committed spend, and provider-side rate limits, while still using OpenRouter's single API and its analytics.
- The fee is 5% of what the same model and provider would have cost at list price, deducted from your OpenRouter credit balance.
- It only applies above $25,000 of list-price inference per month on pay-as-you-go, or $200,000 on enterprise. Below that, BYOK is free.
- BYOK endpoints are always tried first and bypass your provider ordering.
- BYOK spend does not count toward guardrail or workspace budgets by default. There is a toggle.
- A BYOK key cannot override a zero-data-retention restriction. Data policy still applies.
Routing, and why the price you see is a floor
A model on OpenRouter is usually served by several providers at several prices, and the number on the model card is the cheapest endpoint. That is not the same as the price you will pay, because routing depends on availability, your data-policy filters, and your sort preference.
Here is the endpoint list for one model, read from /api/v1/models/openai/gpt-5.6-sol/endpoints on 19 August 2026.
openai/gpt-5.6-sol, per million tokens.| Provider | Input | Output |
|---|---|---|
| OpenAI | $2.50 | $15.00 |
| OpenAI (batch) | $1.25 | $7.50 |
| OpenAI (standard) | $5.00 | $30.00 |
| Azure | $5.00 | $30.00 |
| Azure | $5.50 | $33.00 |
| Amazon Bedrock | $5.50 | $33.00 |
The card shows $2.50/$15. OpenAI's own published rate for that model is $5.00 input and $30.00 output at short context. Nothing here is a markup, and nothing is hidden: it is a genuine spread across endpoints, and OpenRouter passes each one through. But "cheapest listed" is a routing outcome you have to ask for, not a price you are promised.
{
"model": "openai/gpt-5.6-sol",
"provider": {
"sort": "price",
"only": ["openai"],
"allow_fallbacks": false,
"data_collection": "deny"
}
}
By default OpenRouter load-balances on price weighted by the inverse square of cost, with uptime taken into account: its docs give the example that a $1/M provider is nine times more likely to be picked than a $3/M one. sort: "price" or the :floor suffix drops the balancing and always takes the cheapest; sort: "throughput" or :nitro takes the fastest. allow_fallbacks: false pins you to the top provider and fails rather than silently spending more.
Privacy, logging, and attribution
OpenRouter does zero logging of prompts and completions unless you opt in, and opting in earns a 1% discount on usage. Separately, your account settings carry a training toggle for paid and free models: with training opt-out on, OpenRouter will not route to providers that train on your data. Each provider's own retention shows in a table as zero retention, retained for N days, or unknown, and you can filter per request with data_collection: "deny". Enterprise accounts can pin processing to a region via https://eu.openrouter.ai or https://us.openrouter.ai.
App attribution
Send an HTTP-Referer header and your app gets a page on openrouter.ai/rankings with daily, weekly, and monthly token usage; X-OpenRouter-Title sets the display name, and X-OpenRouter-Categories tags it (two per request, ten per app). The referer header is required: without it no app page is created. It is free distribution for a developer tool, and it is also public disclosure of your token volume, which some teams will not want.
When OpenRouter is the right call, and when it is not
Use it when
- You want to try models faster than you can open vendor accounts. This is the strongest case and it is not close.
- You are shipping a product that lets users pick a model. One integration, 400+ options.
- You want failover across providers for the same model without writing it yourself.
- You are a solo developer or small team and the 5.5% is cheaper than the hours of managing five billing relationships.
Do not use it when
- You call one model, all day, at volume. 5.5% of a large bill buys nothing you cannot get from the vendor SDK.
- Latency is your product. There is an extra hop, and the vendor does not stop existing.
- You need a provider-specific feature on day one. Aggregators normalize, and normalization lags: prompt caching semantics, extended thinking controls, and beta headers are where the edges show.
- Your compliance review counts data processors. One more name on the list can cost more than the fee saves.
Questions people ask
Is OpenRouter more expensive than going direct?
By about 5.5%, and only on the top-up. OpenRouter does not mark up tokens: it passes provider list prices through. What you pay extra is the credit purchase fee, 5.5% with a $0.80 minimum on cards or 5% flat via crypto. On a $100 top-up that is $5.50. Below roughly $15 a top-up the minimum fee dominates, so buy credits in larger increments.
How many models does OpenRouter have?
Its public models API returned 415 entries on 19 August 2026, across 102 provider entries, including 17 free variants and some :batch and ~latest aliases. The homepage rounds this to "500+ models" and "80+ providers". Either way it is the largest single-key catalogue available.
Are OpenRouter free models really free?
Yes, with hard rate limits. Any model id ending in :free costs nothing per token but is capped at 20 requests per minute and 50 requests per day. Buying $10 of credits at any point in the account lifetime raises the daily cap to 1,000. OpenRouter's own docs describe free models as usually not suitable for production.
Does OpenRouter train on my prompts?
No. OpenRouter does zero logging of prompts and completions unless you explicitly opt in, and the opt-in comes with a 1% usage discount. Separately, an account-level training toggle stops it routing to upstream providers that train on data, and per-request data_collection: "deny" restricts a single call to zero-retention providers.
Can I use my own OpenAI or Anthropic keys with OpenRouter?
Yes. BYOK supports Azure AI Foundry, Azure OpenAI, Amazon Bedrock, Google Vertex, and OpenAI. It is free up to $25,000 per month of list-price inference on pay-as-you-go ($200,000 on enterprise), then 5% of the equivalent list price, charged to your credit balance. BYOK endpoints are always tried first and cannot override a zero-data-retention restriction.
What is the OpenRouter API base URL?
https://openrouter.ai/api/v1 for the OpenAI-compatible API. For Claude Code and other Anthropic-wire clients, set ANTHROPIC_BASE_URL to https://openrouter.ai/api instead, without the /v1.
Sources
Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.
- OpenRouter FAQ credit fees, no-markup statement, free-model limits, logging
- OpenRouter pricing 5.5% platform fee, BYOK allowances
- OpenRouter API rate limits 20 RPM, 50/day, 1,000/day thresholds
- OpenRouter BYOK 5% fee, supported providers, ZDR interaction
- OpenRouter provider routing sort, only, order, allow_fallbacks, price weighting
- OpenRouter data policies training toggle, per-provider retention, regional endpoints
- OpenRouter app attribution HTTP-Referer requirement and rankings
- OpenRouter models API model count and per-model prices read 19 Aug 2026