К содержимому
sulimko.com

API

Те же данные, что на сайте, в JSON. Для чтения ключ не нужен, и у каждого значения есть источник и дата — когда оно стало верным, а если источник этого не сообщает, когда его последний раз подтвердили.

На странице

Попробуйте

Одна модель со всеми полями, что у нас есть:

curl https://sulimko.com/api/v1/models/deepseek-chat-v3
Показать живой ответ
{
  "vertical": "models",
  "entity": {
    "slug": "deepseek-chat-v3",
    "name": "DeepSeek Chat V3 (prev)",
    "fields": [
      {
        "fieldKey": "price_input_per_mtok",
        "valueNum": 0.2574,
        "unit": "usd_per_mtok",
        "sourceType": "vendor-claimed",
        "validAsOf": null,
        "eventTimeUnknown": true,
        "confirmedAt": "2026-11-03T02:00:19.989Z",
        "freshnessTier": "FRESH"
      },
      …
    ],
    "signals": [
      {
        "signalType": "aider_polyglot_pct",
        "valueNum": 48.4,
        "validAsOf": "2024-12-25T00:00:00.000Z",
        "freshnessTier": "STALE",
        "methodUrl": "https://aider.chat/docs/leaderboards/"
      },
      …
    ]
  }
}

Адреса

Всё находится под https://sulimko.com/api/v1. Любой список и любую карточку с сайта можно прочитать отсюда.

  • GET/api/v1/{vertical}

    Все модели, тарифы, машины или инструменты одного вида с текущими значениями. Виды: models, hardware, harnesses, subscriptions, tools, people.

    Например:/api/v1/models
  • GET/api/v1/{vertical}/{slug}

    Одна запись со всеми значениями, их источником, датой и свежестью.

    Например:/api/v1/models/deepseek-chat-v3
  • GET/api/v1/{vertical}/{slug}/history

    Как менялось каждое значение одной записи. Добавьте ?changed=1, чтобы получить только настоящие изменения.

  • GET/api/v1/{vertical}/{slug}/history/{field}

    Как менялось одно значение, например цена.

  • Последние изменения во всём реестре: цены, лимиты, релизы. До 100 за раз через ?limit=.

  • Последний дайджест новостей в виде данных. ?lang=en или ?lang=ru.

  • POST/api/v1/match

    Подобрать замену модели — тот же ответ, что на сайте.

    Тело запроса, например:
    {
      "vertical": "models",
      "referenceEntity": "claude-opus-4-7",
      "intents": ["cheaper"],
      "limit": 5
    }
  • POST/api/v1/hardware/capacity

    Сколько агентов потянет компьютер — тот же ответ, что в калькуляторе.

    Тело запроса, например:
    {
      "box": "mac-studio-m3-ultra",
      "models": [{ "slug": "qwen3-coder-30b-a3b", "quant": "q4_k_m" }],
      "profile": { "preset": "coding_agent" }
    }
  • GET/api/v1/me/config

    Ваш собственный набор, по личному токену.

    С вашим токеном:
    curl -H "Authorization: Bearer <token>" \
      https://sulimko.com/api/v1/me/config

Этот список собирается из контракта API, а контракт при каждой сборке сверяется с настоящими обработчиками, — поэтому здесь не может оказаться адреса, которого нет.

Что есть у каждого значения

Каждое значение приходит с полями ниже, чтобы скрипт мог отличить свежий замер от старого заявления.

sourceType
Откуда значение: заявление производителя, независимый замер, наш замер, наш расчёт или утверждение из иска.
validAsOf
Когда значение стало верным. Пусто, если источник этого не сообщает, — тогда eventTimeUnknown равно true.
confirmedAt
Когда источник последний раз подтвердил значение. Есть, даже если дата события неизвестна.
freshnessTier
Свежее, стареющее или устаревшее — считается от этой даты.
Что значит каждая метка

Правила хорошего тона

  1. 1Для чтения ключ не нужен. Пожалуйста, кэшируйте: у каждого ответа есть ETag и Last-Modified, повторный запрос может ничего не стоить.
  2. 2Если реестр недоступен, вы получите статус 503, а не старые данные под видом свежих.
  3. 3Свой набор читается по личному токену в заголовке Authorization: Bearer <token>. Создать токен можно в «Моём наборе» после входа.
Открыть «Мой набор»