LPH98/undominated-ai-model-pricing
Undominated AI model pricing and Arena scores Snapshot of 425 model listings from 52 providers, measured 2026-09-22. Every row carries its own source URL and fetch date. Produced by https://undominated.ai · scripts/build-export.mjs What is in here Rows 425 Providers 52 Rows with a price 420 Rows priced at zero 24 Rows with context-tiered pricing 61 Rows with time-of-day pricing 6 Open-weight rows 18 Rows with an announced retirement date… See the full description on the dataset page: https://huggingface.co/datasets/LPH98/undominated-ai-model-pricing.
Undominated AI model pricing and Arena scores
Snapshot of 425 model listings from 52 providers, measured 2026-09-22. Every row carries its own source URL and fetch date.
Produced by https://undominated.ai · scripts/build-export.mjs
What is in here
What is not in here, and why
289 of 425 rows carry no quality score in this deposit — 68% of the file. That absence has two different causes and they are not interchangeable:
- 190 rows are unmeasured. Nobody has scored them.
- 99 rows were measured and the score is withheld here. It comes from Artificial Analysis, which this deposit may not redistribute. The model is not unmeasured; this file simply may not carry the number.
In neither case does null mean zero, and sorting either group to the bottom of a ranking would defame a model on the strength of our licence rather than its capability. Read null as "not stated here".
384 of 425 rows have no vendor cross-check. Their price came from the OpenRouter listing and nothing else. provenance.enrichedBy is the vendor document URL where a human checked one, and null where none did. Do not read the presence of a price as confirmation of it.
No Artificial Analysis field is present. AA's free tier permits internal use only; public redistribution requires a commercial licence this project does not hold. Their intelligence, coding and agentic indices reach our internal dataset because OpenRouter re-serves them, and passing through an aggregator does not change the terms. The fence is an allowlist in scripts/build-export.mjs, so a new AA field upstream is excluded by default rather than by remembering to exclude it.
No model descriptions. Prose is somebody's copyright in a way a price is not.
Two upstream provider entries are withheld from every published surface: one is a test fixture in the upstream registry, the other serves a zero-priced model with no privacy policy. Neither is a real seller anyone can buy from.
Files
How it was measured
Prices are the vendor list rates as published, normalised to USD per million tokens. Where a vendor charges different rates above a context threshold, every rung of the ladder is kept in pricing.tiers — flattening a ladder to one rung mispriced five models by up to 2× once, which is why the rungs are all here. Where a vendor varies price by hour, pricing.priceWindows carries each window with its own rates rather than a single averaged figure.
LMArena Elo is the highest-scoring Bradley-Terry row from the text arena, with the reasoning effort that produced it in benchmarks.lmarenaEffort. A score without its effort level is not comparable to another score; a model's rank depends on how hard it was allowed to think. benchmarks.lmarenaCi carries Arena's own confidence bounds, so two scores whose intervals overlap should be read as a tie, not as a ranking.
How to cite
Undominated.ai (2026-09-22). Undominated AI model pricing and Arena scores. DOI assigned on deposit — see datapackage.json for the content hash that identifies this exact snapshot.
The manifest in datapackage.json carries a SHA-256 for every file and one combined contentHash over all of them. Cite that hash and a reader can confirm they are looking at the same bytes you were.
Licence
Arena-derived fields are CC BY 4.0 and carry a required attribution. Everything else is set out in LICENSE.md. Read it before redistributing.
Corrections
This project publishes the claims it got wrong, dated, rather than quietly editing them. The log is at https://undominated.ai/corrections/ and in docs/EMPIRICAL-GROUNDING.md in the source repository. If you find an error in this snapshot, it belongs in that log — say which row and which field.
