Guides / openrouter api cost
OpenRouter API cost and the cached rate you give up
OpenRouter re-lists Anthropic models at identical headline rates, $5.00 and $25.00 per million on Opus 4.7, but records no cached rate where the direct route offers one at $0.50. Culpa, a local-first LLM cost, margin, and forecast ledger, prices each call by the route that served it, so the difference stops being invisible.
Why this happens
An aggregator looks free because the headline rates match. The difference sits in what the rate card omits. None of the four OpenRouter models in this price book record a cached input rate, including the two Anthropic re-listings whose direct equivalents carry a tenfold cached discount. On a workload with a large repeated prompt, that missing discount is the entire cost of routing, and no headline comparison reveals it.
What this usually looks like
- Your routed spend runs above what the same models cost when you priced them direct.
- You budgeted a cache discount that never appeared on the invoice.
- The model behind a routed call changed without any deploy on your side.
- Comparing providers on headline rates alone showed no difference, yet the bills differ.
Free, no card, no account
Run the free Cost Leak Scan
It shows your most expensive conversation before you install anything.
Mistakes that cost the most
| Mistake | Why it hurts | Do instead |
|---|---|---|
| Comparing an aggregator to a direct provider on the headline rate. | The headline matches while the cached rate doesn't, so a repeated prompt costs ten times more. | Compare on your own repeated-token share, not on the rate card's first two columns. |
| Routing a heavy repeated-prompt workload through an aggregator. | That workload is exactly the one caching rescues, and the cached rate is what routing gives up. | Route exploratory and long-tail traffic, and take your stable high-volume path direct. |
| Leaving a routed model unpinned. | The model behind a route can change under you, so both behaviour and rate move without a deploy. | Pin explicit models on routed traffic and treat a change as a release with a cost review. |
Run this check tonight
- Measure what share of your routed prompt repeats across calls. That block gets no discount here.
- Price the same workload direct with the cached rate applied. The gap is what routing costs you.
- Check whether your routed models are pinned or floating.
- Confirm which provider actually served each routed call over the last month.
- Compare your routed spend against a direct quote before renewing any assumption about parity.
The same Opus workload, routed and direct
Illustrative example
A workload sending a 5,000-token repeated system prompt across 300,000 calls a month on Opus 4.7. Direct Anthropic offers a $0.50 per million cached read. OpenRouter records no cached rate for the same model.
$5,400 a month, invisible on any headline comparison, and it exists entirely because the routed listing records no cached rate.
Every number, with its confidence and source
| Figure | What it means | Confidence | Source |
|---|---|---|---|
| $5.00 / $25.00 per million | OpenRouter Opus 4.7 rates, identical to the direct Anthropic headline | calculated | Price book row for openrouter/anthropic/claude-opus-4.7, $0.005 and $0.025 per 1k, effective 2026-07-02, matching the anthropic/claude-opus-4-7 row. |
| $2,100 to $7,500 | modelled monthly cost of a repeated-prompt workload, direct with caching versus routed without | estimated | Both endpoints from the teardown arithmetic using real Opus 4.7 rates on both routes. A range because call volume and hit rate are modelled. |
What a generic answer can’t know
An aggregator reports what it billed. It can't tell you what the same workload would have cost direct with a cached rate applied, because that comparison needs your own repeated-token share. Culpa measures it on your infrastructure, keeps your prompts and responses there, and counts the calls to run your plan.
Questions founders ask next
Is OpenRouter more expensive than going direct?
On headline rates the Anthropic re-listings match exactly, $5.00 and $25.00 per million on Opus 4.7. The difference is that this price book records no cached rate for the routed listing, so a repeated prompt costs ten times what it would direct.
What is the cheapest model on OpenRouter?
Hunyuan 3 Preview at $0.06 per million input and $0.21 output in this price book. DeepSeek V4 Flash is close behind at $0.09 and $0.18, and carries the flattest ratio of the four at about 2x.
When does routing through an aggregator make sense?
For exploratory work, long-tail models you wouldn't otherwise integrate, and traffic where the repeated-prompt share is small. It makes least sense on a stable high-volume path with a large repeated prompt, which is exactly where caching pays.
On your infrastructure
Culpa runs on your infrastructure. Your prompts and responses never leave it. Culpa counts calls to run your plan, and it fails open, so if it ever breaks your app keeps running.
Free, no card, no account
Run the free Cost Leak Scan
It shows your most expensive conversation before you install anything.
Keep reading
Sources: OpenRouter models, Anthropic pricing. Last reviewed 2026-08-01, rates effective 2026-07-02. Plain text version.