API · MCP
Нормализованные данные о ценах, возможностях и рейтингах, на которых работает сайт, публикуются в виде статического JSON: их можно свободно загружать без ключа API. Код или агент может обращаться к ним напрямую.
Эндпоинты
Все модели: каноническая запись, цена официального + самого дешёвого канала, смешанные цены, контекст, возможности, оценки Artificial Analysis и использование за 30 дней.
Все провайдеры: имя, уровень (первая сторона / облако / шлюз), число моделей, SDK, база API и документация.
Текстовое резюме сайта для AI-краулеров (соглашение llms.txt).
Отдаётся как статические файлы через CDN, поэтому ограничений скорости нет. Тем не менее кэшируйте ответы, а не запрашивайте их заново при каждом обращении. Данные обновляются при каждой сборке.
Ключевые поля (models.json)
id, name, lab, kindКанонический id, отображаемое имя, лаборатория и тип модели.reference / cheapestРеференс (официальный/прайс) и самый дешёвый платный канал, каждый с входом/выходом/чтением кэша за 1M токенов.blendedRef / blendedMin / blendedTrustedСмешанная удельная цена (вход×0,75 + выход×0,25) для референсного, самого дешёвого и самого дешёвого доверенного (без шлюзов) каналов.context, outputLimit, capabilitiesОкно контекста, максимальный вывод и трёхзначные флаги возможностей (true/false/null).aa (idx, coding, agentic, speed, taskCost)Индексы Artificial Analysis по интеллекту, кодированию, агентности, скорость вывода и стоимость за задачу (null, если не охвачено).usage (rank, tokens, share)Ранг использования OpenRouter за 30 дней, всего токенов и доля (null, если не отслеживается).hostCount, spreadСколько провайдеров размещают модель и разброс цен между платформами.Примеры
Пять самых дешёвых моделей по смешанной цене, через curl и jq:
curl -s https://llmpricing.dev/api/models.json \
| jq '.models
| map(select(.blendedMin != null))
| sort_by(.blendedMin)[:5]
| .[] | {name, blendedMin, cheapest: .cheapest.provider}'JavaScript (fetch):
const res = await fetch("https://llmpricing.dev/api/models.json");
const { meta, models } = await res.json();
// 5 cheapest by blended price (input x0.75 + output x0.25)
const cheapest = models
.filter((m) => m.blendedMin != null)
.sort((a, b) => a.blendedMin - b.blendedMin)
.slice(0, 5);
console.log(meta.syncedAt, cheapest);Python (requests):
import requests
data = requests.get("https://llmpricing.dev/api/models.json").json()
models = data["models"]
# highest Artificial Analysis intelligence with a public price
ranked = sorted(
(m for m in models if m["aa"] and m["aa"]["idx"] is not None),
key=lambda m: m["aa"]["idx"],
reverse=True,
)
for m in ranked[:5]:
print(m["name"], m["aa"]["idx"], m["blendedMin"])Эндпоинты отправляют Access-Control-Allow-Origin: *, поэтому работают и из браузера.
MCP-сервер
Поскольку данные — это чистый JSON по HTTPS, любой MCP-сервер с поддержкой fetch может открыть их агенту. Например, референсный fetch-сервер:
{
"mcpServers": {
"llm-pricing": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}Затем попросите агента прочитать https://llmpricing.dev/api/models.json и порассуждать над этим: самая дешёвая модель в рамках бюджета, лучший интеллект на доллар, какие поставщики размещают конкретную модель.
Лицензия и атрибуция
Данные собраны из models.dev (MIT), Artificial Analysis и OpenRouter. Их можно использовать повторно по лицензии CC BY 4.0, сохраняя указание на LLM Pricing и исходные источники.