How this index tracks AI prices, and what it deliberately leaves out
Transparency is part of the product: if a number cannot be reproduced from published sources, it does not belong on the site.
This site is a pipeline that happens to render pages. The dataset is the product; the pages are a view of it. That choice has consequences for how you should read every number here, and this article is the plain-language version of the methodology page.
What the dataset contains
- 1,657 endpoints from 32 providers, of which 1,557 chat models publish both an input and an output rate.
- Normalised units. Every rate is expressed in US dollars per one million tokens, so two providers' tables can be compared without a spreadsheet.
- Provenance on every record. Each model carries the sources it was read from, and a second source where one exists.
- Capability flags (vision, tools, reasoning and similar) taken from the same upstream records, never inferred.
The four steps
- Collection. Rates are read from provider pricing pages and community registries, then normalised into one schema.
- Cross-check. Where a second source exists, the figures are compared. A disagreement above a couple of percent is shown on the page with both numbers rather than averaged away, because an averaged price is a made-up price.
- Diff. Each refresh is compared against the previous snapshot. Price moves, additions and retirements become changelog entries with old and new values.
- Publication. The dataset is published as JSON and as an open mirror, then rendered into the pages here — and, where editorial judgement adds something the raw table cannot, into the articles in this section.
What is deliberately excluded
- Batch and asynchronous discounts — they move real bills and cannot be represented in a single comparable rate.
- Committed-use agreements — per-account, therefore unrepresentable in a public dataset.
- Regional rate cards and free tiers — frequently different from the USD list rate.
- Retries, evaluation and non-token costs — real, but not token pricing.
Curation is part of the method, not a growth hack
One model is often resold by a dozen platforms. Publishing a page per listing would multiply this site by roughly six and add nothing a reader can use, so listings are grouped and each model gets one canonical page that shows every platform's price for it. The duplicate listings stay reachable from that page but are not offered to search engines — the About page explains the policy, and `apps/web/src/lib/indexing.ts` in the public repository is the implementation.
Corrections
If a rate here is wrong, the correction goes into the pipeline rather than onto the page: fix the source mapping, re-run, and the fix propagates everywhere the number appears. Tell us via the contact page — corrections are usually live within one refresh cycle.
The full recipe, field definitions and exclusion list.
Read the methodologyFrequently asked
› Where do the prices come from?
Provider pricing pages and two community-maintained price registries. Every record keeps its sources, and where a second source exists for a model the two figures are shown side by side on the model page rather than averaged into one number.
› How often is the data refreshed?
The pipeline refreshes on a schedule; the current dataset was generated 2026-10-28. Every refresh is diffed against the previous snapshot, producing the changelog and the weekly reports.
› What does the index not include?
Batch discounts, committed-use agreements, regional rate cards, free tiers, retries, and non-token costs. Those are stated as exclusions on every model page because they can change a real bill materially and cannot be normalised across providers.
Where the numbers come from
The data pages this article draws on — check any figure against them, they are recomputed on every refresh.