Methodology

How this site records what each first-party model API costs, what it used to cost, and when that changed. Accuracy comes first: a missing price is shown as missing, never guessed.

What counts as official

A price is published only when the provider itself shows it: its pricing page or API docs, a launch announcement, its API changelog, or a Wayback Machine capture of one of those pages. Each price on the site links to that evidence, and each event on a model page lists the exact words or table cells it rests on.

How dates work

What "current" means

The current price is the latest verified event whose date has passed: the effective date, or for a first-seen change, the date it was first seen. Announced future prices appear as "changes on" with their date and become current on that day. When the history can no longer say what a model costs, for example an alias like gemini-flash-latest whose target after a certain date isn't documented, the page says "unknown since" that date and shows the last documented price greyed out, never as current. Models that haven't launched aren't published, even when a price has been listed.

Price moves and the 3:1 blend

A move compares the same model, the same rate and the same billing conditions between two consecutive verified events. The headline number is the blended price at 3:1 input to output, (3 × input + output) ÷ 4, the common convention for comparing models. The raw input and output prices are always shown next to it. Moves that only touch cache or long-context rates are shown as those rates.

New rates appearing (batch or prompt caching arriving) while every existing rate stays the same is a rate addition, not a move. A correction replaces a wrong record and is never shown as a move either.

Context tiers and derived long-context cache prices

Some models charge more once a prompt passes a context threshold (for example over 200K or 272K tokens). Provider tables show the base tier and note which models have a higher one; model pages show every tier. When a tier ends, the event notes say whether longer prompts now bill at the base price or are no longer accepted. Anthropic's pricing page states cache prices as multipliers of the input price (1.25× for a 5-minute cache write, 2× for a 1-hour write, 0.1× for a cache read) and states that the Batch API's 50% discount applies to long-context pricing. Where it quotes the long-context input price but not each long-context cache or batch price, lmprices applies those stated multipliers, and the event notes say so.

Restricted access

Some models have a public price but are only available to approved customers, such as OpenAI's cyber and Rosalind models and Claude Mythos. They're labelled "restricted access", with who can use them in the provider's words.

Out of scope

Standard paid text inference on the first-party APIs only. Not covered: resellers and clouds (OpenRouter, Amazon Bedrock, Google Vertex AI, Azure), flex and priority tiers, fine-tuning, image, audio and video prices, embeddings, cache storage fees, and tool or search fees.

LiteLLM and OpenRouter

The history was backfilled by walking the git history of LiteLLM's model price file, which goes back to September 2023. Every price change found there was only a candidate: it was checked against official pages and Wayback captures, and published only if official evidence confirmed it. LiteLLM itself warns its file can be stale or wrong, and many candidates were rejected. OpenRouter's model list will be used as an alert that something may have changed, never as a price: its prices can reflect a different endpoint or tier.

Coverage

126 models are published, 81 with their own price-history page. A model gets a page when it has a verified change beyond its launch price, or a verified launch price plus availability history; the rest are rows in the provider tables. Histories are "documented since" a date, not complete unless shown to be:

Each model page lists the known gaps in its history. Data was last checked .