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).
OK
OK. Тело — это JSON-нагрузка, описанная в справочнике. Пустые массивы означают «нет строк», а не «данные отсутствуют» — обрабатывай их как данные, а не как ошибку.
Not Modified
Not Modified. Кэш-заголовки прошли валидацию. Используй закэшированное тело, повторный парсинг не нужен. Возвращается автоматически при отправке If-None-Match или If-Modified-Since.
Bad Request
Bad Request. Параметр запроса или форма тела некорректны. Сообщение в detail указывает точное поле. Не повторяй запрос без правки входа.
Unauthorized
Unauthorized. Запрос требовал API-ключ или сессию и не получил ни того, ни другого, либо креды невалидны/отозваны. Не долби запросами — перевыпусти креденшелс.
Not Found
Not Found. Путь или ресурс не существует. Для роутов конкретного Pokémon это часто значит, что по этому формату нет данных усэйджа для него, а не опечатка с твоей стороны.
Too Many Requests
Too Many Requests. Ты упёрся в потолок лимита. Прочитай Retry-After и подожди — экспоненциальный backoff это хороший тон, но редко нужен, так как окно короткое.
Server Error
Internal Server Error. Что-то сломалось на нашей стороне. Повтори один раз через пару секунд; если не отпускает — пингани нас в Discord с URL запроса.
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.
Все эндпоинты в одном месте
Пробегись по каждому эндпоинту с описаниями, таблицами параметров, схемами запросов и ответов и примерами кода на curl, JavaScript и Python. Ищи по всему API в одном поле, бей по deep-линку на любую операцию, делись URL-ом.
- 100+ эндпоинтов
- ·
- 3-pane навигация, контент, примеры
- ·
- полнотекстовый поиск
- ·
- живые примеры запросов