---
title: "API — static JSON — Undominated"
canonical: https://undominated.ai/de/api/
description: "Machine-readable catalogue, frontier, and dominance verdicts. Static files, no keys. Public lens is LMArena while Artificial Analysis redistribution is unresolved."
---

# API — static JSON — Undominated

> Machine-readable catalogue, frontier, and dominance verdicts. Static files, no keys. Public lens is LMArena while Artificial Analysis redistribution is unresolved.

Machine-readable

# Static JSON. No keys. No router.

These files are generated at build time and served as static assets. There is no query API, no account, and no log of what you fetch. A verdict without a lens, as-of date, and licence line is a bug.

## Licence, per field

Vendor prices are facts the vendor published. LMArena Elo is used under CC BY 4.0 from the official dataset. Artificial Analysis scores appear on some human pages for evaluation; **they are not in the dominance JSON**, and this site does not grant a sublicence to redistribute them.

 LMArena Elo under CC BY 4.0 from the official dataset. This file does not contain Artificial Analysis scores. We do not grant a sublicence to redistribute Artificial Analysis figures.

## Endpoints

| URL | What it is | Provenance |
| --- | --- | --- |
| /data/catalogue.json | Lean board payload (prices, scores, facets). | Mixed. Human pages may show AA; treat AA as evaluation-only. |
| /data/plans.json | Subscription plans, published caps only. | Hand-researched. Unverified quotas are not numbers. |
| /data/frontier.json | Current undominated set on lmarena, workload balanced. | LMArena + vendor prices. No AA scores. |
| /data/dominance/ .json | One model’s verdict: frontier , dominated , dominated-with-tradeoff , unrated , or unpriced . File slug is the model slug with / and : replaced by __ . | LMArena + vendor prices. Losses named when the cheaper row is not a superset. |
| /data/series/price-at-floor.json | Cheapest model at pinned Arena Elo floors, per snapshot date. Absence is null. | LMArena. Floors are append-only. |
| /data/models/ .json | Full model record for drill-in pages. | Field-level. Do not treat the whole file as one licence. |

## How to read a verdict

 - Unrated is not zero and is not on the frontier.
 - A cheaper model that drops image input, context, max output, tools, or reasoning is a trade, not an upgrade.
 - Do not blend Artificial Analysis and LMArena into one number.
 - Name the asOf date from the file when you cite it.
 - This is not a router. It does not execute inference.

## CLI — npx undominated-check

Read-only. Fetches the published dominance JSON for one model, prints the verdict with lens, workload and as-of date, and exits. No key, no account, no recomputation.

 npx undominated-check google/gemini-3.7-flash
npx undominated-check openai/gpt-5.2 --exit-code --json
npx undominated-check --frontier --local static/data

Under --exit-code , unrated is not the same exit as dominated . Package: packages/undominated-check (MIT, zero dependencies).

Contract version 1. A breaking change is a new version directory, never an in-place edit. Generate with npm run data:dominance . For the OpenRouter routing question — computed seller counts, illustrative break-even, no invented direct price — see [OpenRouter or direct](/openrouter-vs-direct/).
