Pricing research · reviewed 12 September 2026
Model prices, with a history.
See what each model costs, when its rates changed, and which source supports them. On a subscription, use these prices to compare consumption.
Every catalog model, priced
USD per million tokens, direct-provider standard tier. Anthropic cache writes use the 5-minute rate; OpenAI writes use the model’s applicable write rate. Model rows follow release date, newest first; archived models have their own collapsed table.
Fixed token mix: 100,000 fresh input + 20,000 output tokens, no cache. The index divides each model’s estimated API cost by the selected reference cost. 1× means equal API list-price cost for these token counts. It does not predict task success or subscription quota.
Loading prices…
Download all prices and sources (JSON) · Use the price lookup API
The changes that matter
- Astra launches at $10 input / $50 output. A new model price, alongside the earlier GPT-5.6 family. OpenAI announcement
- Fable 5.1: $10 / $50, with $0.25 cache reads. Cache reads cost less than Fable 5’s $1 rate. Anthropic rate card
- Sol drops from $5 / $30 to $4 / $20. This promotion runs at least through 21 November. No automatic price reversion is recorded. Dated change notice
- Sonnet 5’s $2 / $10 becomes permanent. Anthropic cancelled the planned 1 September increase to $3 / $15. Its price history stays continuous from launch on 30 June. Anthropic release notes
- Luna falls 80%; Terra falls 20%. Luna moves from $1 / $6 to $0.20 / $1.20; Terra from $2.50 / $15 to $2 / $12. OpenAI change notice
- Opus 4.6 and Sonnet 4.6 lose the long-context premium. Their base rates stay $5 / $25 and $3 / $15. This changes a context tier, not the standard short-context history. Anthropic announcement
Opus 4.1, GPT-5 and GPT-5 Codex now also have sourced historical prices. Each model below links its rates and effective dates to the underlying evidence.
Open a model’s price history
Effective dates describe the tariff. Review dates describe when we checked its evidence. Where a historical start is inferred from release, the row says so.
Loading histories…
Subscriptions: a relative consumption metric
Measured tokens multiplied by API prices give an API-equivalent amount. Within an included subscription allowance, that amount helps compare workloads. It does not say what the run added to your bill or how much quota remains.
| How the run is paid for | What to display | Where the actual limit or charge comes from |
|---|---|---|
| API key | Estimated API list-price cost | The provider’s usage and billing records, with the applied service tier and contract. |
| Included subscription usage | API-equivalent USD and a reference index | The plan’s usage meter and reset windows. Never convert this index into a quota percentage. |
| Additional credits or metered plan | Provider credits or metered spend; API-equivalent amount separately | The plan’s rate card and purchased-credit terms. |
Codex and ChatGPT
OpenAI publishes separate credit rates. For example, Astra Fast consumes 2.5× its standard credits; the credit unit has plan-dependent purchase terms. Included usage also depends on context, reasoning and tools. Use the account usage dashboard for the allowance. Codex pricing and credits
Claude Code
Claude Code estimates a session’s dollar amount locally. Pro and Max subscribers should read their plan usage meter for included consumption. Claude Code cost reporting describes the distinction. Model, effort and conversation length affect the allowance. Usage limits
If Claude usage credits are enabled beyond the included allowance, those runs are charged separately at standard API rates. Claude usage credits
The proposed separate monthly credit for Agent SDK and claude -p was paused on 15 June. Subscription-authenticated use still draws from the plan’s limits. The older announcement below the update is historical. Current Agent SDK plan guidance
Compare consumption over time
Keep one price snapshot fixed when measuring efficiency. The same Luna token counts became 80% cheaper on 30 July; the workload itself did not shrink. For cost estimates, use the tariff at execution time. For a consumption trend, price every run against the same reference date and retain success rate beside the amount.
A subscription fee divided by accepted tasks is a separate internal cost allocation. Do not add the API-equivalent amount to it: the latter represents a comparison, not another charge.
How the numbers are built
The catalog stores direct-provider standard text-token rates in USD. The coverage claim means every model already in this repository’s catalog, including archived entries. It does not cover every model or deployment offered by either provider.
Calculation: sum each disjoint token bucket × its price ÷ 1,000,000. Output includes reported billable reasoning tokens. Cache reads and writes must not also appear in fresh input.
- Anthropic: the stored write rate is for 5-minute caching. The 1-hour rate is higher. Context premiums, Fast and US-only inference require their applicable rate card. Pricing and modifiers
- OpenAI: GPT-5.6 and later have a separate cache-write rate of 1.25× fresh input. Earlier models use the input rate for writes. Requests over 272K input tokens on applicable models use a different tier. Batch, Flex and Priority are separate. API rates · Cache accounting
- Scope: this flat-rate API does not automatically calculate context tiers, caching TTLs, speed multipliers, tool/service charges, taxes or contract discounts. Supply matching custom prices when those apply.
Price lookup returns the applied rate and its evidence
var catalog = ModelPriceCatalog.Default;
var atUtc = new DateTime(2026, 9, 12, 0, 0, 0, DateTimeKind.Utc);
var result = catalog.ResolvePrice(KnownModels.ClaudeSonnet5, atUtc);
if (result.Price is { } price)
{
Console.WriteLine($"{price.InputPerMTok} / {price.OutputPerMTok} USD per MTok");
Console.WriteLine($"Verified: {price.VerifiedOn}; date basis: {price.ValidFromBasis}");
foreach (var url in price.SourceUrls)
Console.WriteLine(url);
}
// Rates: 2 / 10. Every history entry carries its own provenance.
var history = catalog.PriceDevelopment(KnownModels.ClaudeSonnet5);
PriceDevelopment returns the ordered price periods. ResolvePrice selects the applicable period; ComputeCost returns the component amounts and applied price. NoPriceForDate means the date has no supported price, not that the run was free. Full API contract
Announced daily dates are represented at 00:00 UTC. The sources generally do not establish an intraday cutover. Real price changes append periods; corrections remove claims that never took effect, as with Sonnet 5’s cancelled increase. The repository history records those corrections.
Sources and research record
Rates use provider documentation and dated announcements. Each model history links the specific evidence for its periods; these are the main cross-checks.