Skip to content
Публичный API · v1

Pokékipe Public API

Бесплатная конкурентная аналитика Pokémon на базе месячной статистики усэйджа Smogon, обновляется ежемесячно. Для повседневного использования аккаунт не нужен; выпусти персональный ключ в Account Settings, чтобы поднять потолок лимитов для массовых выгрузок.

  • Эндпоинты

    100+

  • Форматы

    30+

  • Обновление

    Ежемесячно

  • Авторизация

    Опционально

  • Лицензия

    CC BY 4.0

Зачем это существует

Чем этот API является и чем нет

Четыре вещи, которые надо знать до того, как ты напишешь хоть одну строку кода против /api/v1/.

Чем этот API является

Read-only JSON-поверхность над мировыми данными конкурентного Pokémon. Спроси «какая мета в Gen 9 OU на 1500+ ELO в этом месяце?» или «кто контрил этого Pokémon в топ-кате этого турнира?» — и получи ответ одним вызовом со стабильными задокументированными формами.

Откуда берутся данные

Месячные боевые логи Smogon (публичный chaos JSON), официальные турнирные фиды (Pokémon Company, VGC, Smogon Tour) и коммьюнити-источники вроде Limitless TCG для community-run ивентов. Pokékipe гоняет свой собственный пайплайн ингеста, нормализации и обогащения поверх, а потом отдаёт чистый результат.

Чем этот API не является

Не живой мост к Pokémon Showdown, не симулятор боёв, не эндпоинт damage-калькулятора, не движок тимбилдинга. Эти инструменты живут на сайте. API — это слой данных, на котором они сидят.

Кредит апстриму

Заслуги — заслуженным. Smogon, экспортёры chaos-формата JSON и коммьюнити игроков, которые каждый месяц гоняют партии — вот почему этот датасет вообще существует. Pokékipe делает его пригодным для запросов; он не владеет исходными данными.

Начни

Твой первый вызов за 30 секунд

Три copy-paste примера, которые тянут каталог форматов. Без API-ключа, без сетапа, без регистрации. Выбери вкладку языка, вставь, запусти.

curl -s https://pokekipe.com/api/v1/formats \
  | jq '.[0:3]'

Замени путь на любой эндпоинт из справочника ниже. Первый вызов должен вернуться меньше чем за секунду на прогретом кэше.

Аутентификация

Аутентификация и лимиты запросов

Анонимные запросы подходят для повседневного использования. Персональный ключ (бесплатный, генерируется в настройках аккаунта) поднимает потолок лимита запросов для аналитиков и разработчиков инструментов, которые тянут данные пачками. Ключи не открывают новые эндпоинты — они только поднимают потолок.

Анонимно, без ключа

По умолчанию

Делай вызовы вообще без заголовков. Бакет привязан к твоему IP, так что небольшой скрипт или LLM-агент, который делает горстку запросов за сессию, никогда не упрётся в лимит.

  • Без аккаунта, без регистрации, без заголовков.
  • Per-IP бакет, годится для ad-hoc скриптов и tool-use LLM-агентов.
  • Ловит 429 при длительных массовых выгрузках; переключайся на персональный ключ.

в минуту

60

в день

5,000

С авторизацией, по персональному ключу

Рекомендуется для массовых выгрузок

Передавай ключ как X-API-Key (или Authorization: Bearer pk_live_…). Анонимные вызовы продолжают работать параллельно; ключ только поднимает потолок, новых эндпоинтов он не открывает.

  • Per-user бакет: смена IP не сбрасывает счётчик.
  • Более высокие потолки на каждом per-route лимите.
  • До 5 активных ключей на аккаунт, отзыв в любой момент.

в минуту

600

в день

100,000

Заголовки в каждом ответе

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

ЗаголовокЗначение
X-RateLimit-TierК какому тиру ты относишься: anonymous (без ключа) или authenticated (резолвится JWT или API-ключ).
X-RateLimit-Limit-MinМинутный потолок для твоего тира (60 анонимно, 600 с авторизацией).
X-RateLimit-Limit-DayДневной потолок для твоего тира (5 000 анонимно, 100 000 с авторизацией).
X-RateLimit-Remaining-MinСколько вызовов осталось в текущем минутном окне. Сбрасывай темп, когда это число приближается к нулю.
X-RateLimit-Remaining-DayСколько вызовов осталось в текущем дневном окне. Сбрасывается каждый день в одну и ту же минуту по часам.
Retry-AfterШлётся только на 429. Подожди столько секунд перед повтором, обычно меньше 60 для минутного окна.

Ошибки

Ошибки, которые ты можешь увидеть

Стандартные HTTP-коды. Тело всегда JSON с полем «detail», описывающим, что пошло не так. Считай 4xx проблемой контракта (твой запрос), а 5xx — нашей проблемой (повтор с backoff).

200

OK

OK. Тело — это JSON-нагрузка, описанная в справочнике. Пустые массивы означают «нет строк», а не «данные отсутствуют» — обрабатывай их как данные, а не как ошибку.

304

Not Modified

Not Modified. Кэш-заголовки прошли валидацию. Используй закэшированное тело, повторный парсинг не нужен. Возвращается автоматически при отправке If-None-Match или If-Modified-Since.

400

Bad Request

Bad Request. Параметр запроса или форма тела некорректны. Сообщение в detail указывает точное поле. Не повторяй запрос без правки входа.

401

Unauthorized

Unauthorized. Запрос требовал API-ключ или сессию и не получил ни того, ни другого, либо креды невалидны/отозваны. Не долби запросами — перевыпусти креденшелс.

404

Not Found

Not Found. Путь или ресурс не существует. Для роутов конкретного Pokémon это часто значит, что по этому формату нет данных усэйджа для него, а не опечатка с твоей стороны.

429

Too Many Requests

Too Many Requests. Ты упёрся в потолок лимита. Прочитай Retry-After и подожди — экспоненциальный backoff это хороший тон, но редко нужен, так как окно короткое.

500

Server Error

Internal Server Error. Что-то сломалось на нашей стороне. Повтори один раз через пару секунд; если не отпускает — пингани нас в Discord с URL запроса.

503

Service Unavailable

Service Unavailable. Мы либо деплоим, либо временно перегружены. Повторяй с backoff. Статусы публикуются в коммьюнити-Discord.

Базовые правила

Условия использования

Четыре базовых правила. Прочти один раз, сэкономь будущему себе пинг в Discord.

Кредит апстриму

Атрибуция обязательна при перераспространении или перепубликации. Ставь кредит Pokékipe (ссылку на https://pokekipe.com) и кредит Smogon за исходный chaos JSON, который они публикуют каждый месяц.

Best-effort, без SLA

Best-effort, без SLA. Данные отдаются «как есть», без гарантии аптайма. Кэшируй агрессивно и красиво деградируй, когда эндпоинт тормозит или возвращает 429.

Версионирование

Схемы под /api/v1/ остаются обратно совместимыми в рамках жизненного цикла v1. Breaking changes уходят в /api/v2/ с предварительным анонсом в Discord и sunset-заголовком на устаревшем пути.

Коммерческое использование

Коммерческое использование разрешено по CC BY 4.0. Если ты собрал что-то поверх этого API — будем рады услышать в коммьюнити-Discord.

Справочник · OpenAPI 3Живой, три панели

Все эндпоинты в одном месте

Пробегись по каждому эндпоинту с описаниями, таблицами параметров, схемами запросов и ответов и примерами кода на curl, JavaScript и Python. Ищи по всему API в одном поле, бей по deep-линку на любую операцию, делись URL-ом.

  • 100+ эндпоинтов
  • ·
  • 3-pane навигация, контент, примеры
  • ·
  • полнотекстовый поиск
  • ·
  • живые примеры запросов