The price archive
Published rates are not versioned by the people who publish them. A provider edits a number on a pricing page and the old one is simply gone, with no record it was ever different. We take our own snapshot every day so that it is not, and every figure on this site is drawn from it.
What is captured, and how often
The published on-demand rates for every first-party text model we track: input, output and cache-read, per million tokens. Taken daily by a scheduled job and committed to the repository, so every reading has a date and a commit behind it rather than a note in a spreadsheet.
The archive begins 2024-01-01. It starts earlier than the indices' 2024-07 base because an index cannot begin until enough of its basket has published rates.
Dates throughout this site are observation dates: the day we saw a rate, not the day a provider announced it. Those can differ, and we do not guess at the difference.
How it is verified
Every published figure is reproducible from the snapshot it came from. The series is downloadable as JSON and CSV, the construction is written out in full on the methodology page, and each issue lists its basket and any substitutions. Nothing here is computed from a number that is not in the archive.
Issues are frozen on release and never regenerated with later data, so a citation of a dated issue resolves to what was published rather than to whatever is true now. Corrections are published as corrections, on the issue, rather than applied quietly.
Why this is unusual
Anyone can read today's prices off a provider's own page. Almost nobody kept yesterday's. Keeping them is what makes it possible to say how much a given workload has actually moved since 2024-07, which model repriced and on what day, and how much of any fall came from providers cutting prices rather than from cheaper models arriving underneath the old ones. After the fact, none of those are answerable without a daily record.