Skip to content
Publiczne API · v1

Pokékipe Public API

Darmowa kompetytywna analityka Pokémon, wyciągnięta z miesięcznych statystyk usage Smogona i odświeżana co miesiąc. Nie potrzebujesz konta do casualowego użytku; wybij osobisty klucz w Ustawieniach Konta żeby podnieść sufit rate-limitu pod bulk pulle.

  • Endpointy

    100+

  • Formaty

    30+

  • Odświeżanie

    Co miesiąc

  • Auth

    Opcjonalne

  • Licencja

    CC BY 4.0

Po co to istnieje

Czym to API jest, a czym nie

Cztery rzeczy do wiedzenia zanim napiszesz linijkę kodu pod /api/v1/.

Czym jest to API

Read-only powierzchnia JSON nad światowymi danymi kompetytywnego Pokémona. Zapytaj "jaka jest meta w Gen 9 OU na 1500+ ELO w tym miesiącu?" albo "kto kontrował tego Pokémona w top cucie tego turnieju?" i dostań odpowiedź w jednym wywołaniu, ze stabilnymi, udokumentowanymi kształtami.

Skąd są dane

Miesięczne logi bitew Smogona (publiczny chaos JSON), oficjalne feedy turniejowe (Pokémon Company, VGC, Smogon Tour) i źródła społecznościowe jak Limitless TCG dla eventów community-run. Pokékipe odpala swój własny pipeline ingestion, normalizacji i wzbogacania na wierzchu, potem re-eksponuje wyczyszczony wynik.

Czym to API nie jest

Nie live bridge do Pokémon Showdowna, nie symulator bitew, nie endpoint kalkulatora damage'u, nie engine teambuildingu. Te narzędzia żyją na stronie. API to warstwa danych pod nimi.

Kredyt dla źródła

Kredyt tam gdzie się należy. Smogon, eksporterzy JSON-a chaos-format i społeczność graczy którzy grają w gry każdego miesiąca to powód dla którego ten dataset istnieje. Pokékipe robi go interrogowalnym; nie posiada danych bazowych.

Start

Twoje pierwsze wywołanie, w 30 sekund

Trzy przykłady copy-paste które pobierają katalog formatów. Bez klucza API, bez setupu, bez rejestracji. Wybierz zakładkę języka, wklej, odpal.

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

Podmień path na dowolny endpoint z referencji niżej. Pierwsze wywołanie powinno wrócić poniżej sekundy na warm cache.

Uwierzytelnianie

Uwierzytelnianie i rate-limity

Anonimowe wywołania działają do casualowego użytku. Osobisty klucz (darmowy, generowany w ustawieniach konta) podnosi sufit rate-limitu dla analityków i twórców narzędzi, którzy ciągną dane hurtem. Klucze nigdy nie odblokowują nowych endpointów; tylko podnoszą sufit.

Anonimowo, bez klucza

Domyślne

Wykonuj wywołania bez żadnego headera. Bucket jest keyowany na twoje IP, więc mały skrypt lub agent LLM robiący garść requestów na sesję nigdy nie podetnie limitu.

  • Bez konta, bez rejestracji, bez headera do ustawienia.
  • Bucket per-IP, pasuje pod ad-hoc skrypty i tool-use agentów LLM.
  • Walnie w 429 jeśli utrzymujesz bulk pulle; przerzuć się na osobisty klucz.

na minutę

60

na dzień

5,000

Uwierzytelnione, z osobistym kluczem

Rekomendowane pod bulk

Wrzucaj klucz jako X-API-Key (albo Authorization: Bearer pk_live_…). Anonimowe wywołania działają dalej obok; klucz tylko podnosi sufit, nie odblokowuje nowych endpointów.

  • Bucket per-user: zmiany twojego IP nie zresetują licznika.
  • Wyższe sufity na każdym per-route limicie.
  • Do 5 aktywnych kluczy na konto, do cofnięcia kiedykolwiek.

na minutę

600

na dzień

100,000

Nagłówki na każdej odpowiedzi

Każda udana odpowiedź niesie nagłówki rate-limit poniżej, żeby twój klient mógł sam dawkować tempo bez retry'ów. Czytaj je raz na response i zwalniaj w momencie gdy Remaining spada do kilku requestów, nie do zera.

NagłówekZnaczenie
X-RateLimit-TierPod który tier podpadasz: anonymous (bez klucza) lub authenticated (JWT lub klucz API rozwiązany).
X-RateLimit-Limit-MinMinutowy sufit dla twojego tieru (60 anonimowo, 600 uwierzytelnione).
X-RateLimit-Limit-DayDzienny sufit dla twojego tieru (5 000 anonimowo, 100 000 uwierzytelnione).
X-RateLimit-Remaining-MinWywołania pozostałe w obecnym oknie minutowym. Zwolnij gdy to zbliża się do zera.
X-RateLimit-Remaining-DayWywołania pozostałe w obecnym oknie dziennym. Resetuje się o tej samej minucie ściennej każdego dnia.
Retry-AfterWysyłane tylko przy 429. Czekaj tyle sekund przed retry, zwykle poniżej 60 dla okna minutowego.

Błędy

Błędy które możesz zobaczyć

Standardowe kody statusu HTTP. Body to zawsze JSON z polem "detail" opisującym co poszło nie tak. Traktuj 4xx jako problem kontraktu (twój request), a 5xx jako nasz problem (retry z backoffem).

200

OK

OK. Ciało to JSON payload udokumentowany w referencji. Puste tablice oznaczają "brak wierszy", nie "brakuje", traktuj je jako dane, a nie błąd.

304

Not Modified

Not Modified. Nagłówki cache zostały zwalidowane. Użyj zcache'owanego ciała, bez re-parse'owania. Zwracane automatycznie gdy wyślesz If-None-Match lub If-Modified-Since.

400

Bad Request

Bad Request. Parametr query lub kształt body jest zły. Wiadomość detail wskazuje konkretne pole. Nie retry'uj bez naprawy inputu.

401

Unauthorized

Unauthorized. Request potrzebował klucza API lub sesji i nie dostał żadnego, albo credentials były nieprawidłowe/cofnięte. Nie pal kolejnych requestów, wystaw nowy credential.

404

Not Found

Not Found. Ścieżka lub zasób nie istnieje. Dla tras per-Pokémon często znaczy to, że format nie ma jeszcze usage data dla tego Pokémona, a nie literówka po twojej stronie.

429

Too Many Requests

Too Many Requests. Walnąłeś w sufit rate-limitu. Przeczytaj Retry-After i czekaj, exponential backoff to dobry obyczaj, ale rzadko potrzebny bo okno jest krótkie.

500

Server Error

Internal Server Error. Coś wybuchło po naszej stronie. Retry raz po kilku sekundach; jeśli się utrzymuje, pingnij nas na Discordzie z URL requesta.

503

Service Unavailable

Service Unavailable. Albo deployujemy, albo jesteśmy tymczasowo przeciążeni. Retry z backoffem. Updaty statusu lecą na community Discord.

Zasady gry

Warunki użytkowania

Cztery zasady gry. Przeczytaj raz, zaoszczędź sobie pinga na Discordzie w przyszłości.

Kredyt dla źródła

Atrybucja wymagana przy redystrybucji lub republikacji. Kredytuj Pokékipe (link do https://pokekipe.com) i kredytuj Smogon za bazowy chaos JSON który publikują co miesiąc.

Best-effort, bez SLA

Best-effort, bez SLA. Dane serwowane "as is" bez gwarancji uptime'u. Cache'uj agresywnie i degraduj się elegancko gdy endpoint jest wolny lub zwraca 429.

Wersjonowanie

Schematy pod /api/v1/ zostają wstecznie kompatybilne w ramach cyklu życia v1. Breaking changes lecą na /api/v2/ z wcześniejszą zapowiedzią na Discordzie i sunset headerem na deprecated ścieżce.

Użycie komercyjne

Użycie komercyjne dozwolone pod CC BY 4.0. Jeśli zbudujesz coś na wierzchu tego API, chętnie posłuchamy o tym na community Discord.

Referencja · OpenAPI 3Live, trzy panele

Przeglądaj każdy endpoint, wszystko w jednym miejscu

Przeglądaj każdy endpoint z opisami, tabelami parametrów, schematami request/response i przykładami kodu w curl, JavaScript i Python. Szukaj w całym API w jednym polu, deep-linkuj do dowolnej operacji, share'uj URL.

  • 100+ endpointów
  • ·
  • 3-pane nawigacja, treść, przykłady
  • ·
  • full-text search
  • ·
  • live request samples