Skip to navigation

Data sources and licences

Where the provider price catalog's prices come from, how they are checked, and the notices the open files it watches ask for.

The provider price catalog is maintained by Runledger. Every price version in it names the page it was read from (source_url), the day it was read (as_of) and the day it takes effect (effective_from), and every provider, model and price carries last_verified_at: the last time Runledger read the source and found it unchanged.

Where prices come from

Prices are read from each provider’s own pricing page, by a person, and published as a new version with its effective date. Runledger reads no aggregator as a source of prices. The catalog covers what the lists show; a model you call that it lacks is priced by your own cost model or by the cost you send with trace().

How the catalog is kept current

  • A daily watch reads each covered provider’s pricing page and two open files, keeps a hash of what it read, and opens a review item when a page changes or cannot be read. A person reads the change and publishes the new version. No price moves without that step.
  • A weekly verification reads the page behind every published price again. When it still reads as it did when the version was published, last_verified_at moves to the read time on the price, its model and its provider. When it does not, a review item opens and the dates stay where they were, so a stale last_verified_at is a signal you can read.
  • Scheduled versions carry the date the provider announced. Until then the current version prices your calls; from that date the new one does, and your catalog cost models follow it as described in Provider price changes and simulation.

Accuracy

The catalog records public prices as published, read on the day as_of says. Providers change prices, and a reading can lag or err. The provider’s own page governs what it charges you; the catalog prices your calls so you can set your prices from your costs. Check a price that matters to you against the provider’s page, and tell us when you find a difference.

Open files read as alarms

Two open files are read daily to notice price changes and new models early. No price is published from them; a change in either opens a review item for a person to check against the provider’s page. Their licences ask that their notices be kept, and they are kept in the repository’s NOTICE file and here.

models.dev (https://models.dev), api.json. MIT License. Copyright (c) 2025 models.dev. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

LiteLLM model price file (https://github.com/BerriAI/litellm), model_prices_and_context_window.json. MIT License. Copyright (c) 2023 Berri AI. The same permission notice and disclaimer as above apply, and are reproduced in full in the repository’s NOTICE file.