Skip to content
Public API · v1

Pokékipe Public API

Gratis competitive Pokémon-analytics, härledd från Smogons månatliga usage-stats och uppdaterad varje månad. Inget konto behövs för vanlig användning; mynta en personlig nyckel från Account Settings för att höja rate-limit-taket för bulk-pulls.

  • Endpoints

    100+

  • Format

    30+

  • Uppdatering

    Varje månad

  • Auth

    Valfri

  • Licens

    CC BY 4.0

Varför detta existerar

Vad detta API är, och vad det inte är

Fyra saker att veta innan du skriver en enda kodrad mot /api/v1/.

Vad detta API är

En read-only JSON-yta över världens competitive Pokémon-data. Fråga "vad är metan i Gen 9 OU på 1500+ ELO den här månaden?" eller "vem countrade den här Pokémonen i top cut på den här turneringen?" och få ett single-call-svar med stabila, dokumenterade shapes.

Var datan kommer ifrån

Smogons månatliga battle logs (den publika chaos JSON), officiella tournament-feeds (Pokémon Company, VGC, Smogon Tour), och community-källor som Limitless TCG för community-drivna events. Pokékipe kör sin egen ingestion-, normalization- och enrichment-pipeline ovanpå, och re-exponerar sedan det städade resultatet.

Vad detta API inte är

Inte en live Pokémon Showdown-bridge, inte en battle simulator, inte en damage calculator-endpoint, inte en teambuilding-motor. De verktygen bor på sajten. API:t är datalagret de sitter på.

Credit till källan

Credit där credit hör hemma. Smogon, chaos-format-JSON-exportörerna och communityt av spelare som spelar matcherna varje månad är anledningen att den här datamängden ens existerar. Pokékipe gör den interrogerbar; vi äger inte den underliggande datan.

Kom igång

Ditt första anrop, på 30 sekunder

Tre copy-paste-exempel som hämtar format-katalogen. Ingen API-nyckel, ingen setup, ingen signup. Välj språkflik, klistra in, kör.

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

Byt ut pathen mot vilken endpoint som helst i referensen nedan. Första anropet bör returnera på under en sekund på en varm cache.

Autentisering

Autentisering och rate limits

Anonyma anrop funkar för vanlig användning. En personlig nyckel (gratis, genererad i ditt kontoinställningar) höjer rate-limit-taket för analytiker och tool-buildare som drar data i bulk. Nycklar låser aldrig upp nya endpoints; de höjer bara taket.

Anonym, ingen nyckel

Default

Gör anrop utan någon header. Bucketen är keyad på din IP, så ett litet skript eller en LLM-agent som gör en handfull requests per session kommer aldrig att tripla limiten.

  • Inget konto, ingen signup, ingen header att sätta.
  • Per-IP-bucket, lämplig för ad-hoc-skript och LLM-agent tool-use.
  • Slår i 429 om du kör bulk-pulls länge; byt till en personlig nyckel.

per minut

60

per dag

5,000

Autentiserad, med en personlig nyckel

Rekommenderas för bulk

Skicka din nyckel som X-API-Key (eller Authorization: Bearer pk_live_…). Anonyma anrop fortsätter funka parallellt; nyckeln höjer bara taket, den låser inte upp nya endpoints.

  • Per-user-bucket: dina IP-byten nollställer inte räknaren.
  • Högre tak på varje per-route-limit.
  • Upp till 5 aktiva nycklar per konto, återkallbara när som helst.

per minut

600

per dag

100,000

Headers på varje response

Varje lyckad response bär rate-limit-headersen nedan så att din klient kan självpacea utan retries. Läs dem en gång per response och backa av i samma stund Remaining hamnar nära några få requests — inte noll.

HeaderBetydelse
X-RateLimit-TierVilken tier du faller under: anonym (ingen nyckel) eller autentiserad (JWT eller API-nyckel upplöst).
X-RateLimit-Limit-MinPer-minut-tak för din tier (60 anonymt, 600 autentiserat).
X-RateLimit-Limit-DayPer-dag-tak för din tier (5 000 anonymt, 100 000 autentiserat).
X-RateLimit-Remaining-MinAnrop kvar i nuvarande minutfönster. Sakta ner när det närmar sig noll.
X-RateLimit-Remaining-DayAnrop kvar i nuvarande dagsfönster. Nollställs på samma wall-clock-minut varje dag.
Retry-AfterSkickas bara på 429. Vänta så här många sekunder innan du försöker igen, oftast under 60 för per-minut-fönstret.

Fel

Fel du kan stöta på

Standard HTTP-statuskoder. Bodyn är alltid JSON med ett "detail"-fält som beskriver vad som gick snett. Behandla 4xx som ett kontraktsproblem (din request) och 5xx som vårt problem (försök igen med backoff).

200

OK

OK. Bodyn är JSON-payloaden som är dokumenterad i referensen. Tomma arrays betyder "inga rader", inte "saknas" — hantera dem som data, inte som ett fel.

304

Not Modified

Not Modified. Cache-headers validerades. Använd den cachade bodyn, ingen re-parse behövs. Returneras automatiskt när du skickar If-None-Match eller If-Modified-Since.

400

Bad Request

Bad Request. En query-parameter eller body-form är fel. Detail-meddelandet namnger exakt vilket fält. Försök inte igen utan att fixa input först.

401

Unauthorized

Unauthorized. Requesten behövde en API-nyckel eller session och fick ingetdera, eller så var credentialsen ogiltiga/återkallade. Sluta hamra, utfärda credentialsen på nytt.

404

Not Found

Not Found. Pathen eller resursen finns inte. För per-Pokémon-routes betyder det ofta att formatet inte har någon usage-data ännu för den Pokémonen — inte ett stavfel från din sida.

429

Too Many Requests

Too Many Requests. Du slog i rate-limit-taket. Läs Retry-After och vänta — exponentiell backoff är god ton men sällan nödvändigt eftersom fönstret är kort.

500

Server Error

Internal Server Error. Något sprängde på vår sida. Försök igen en gång efter några sekunder; om det kvarstår, pinga oss på Discord med request-URL:en.

503

Service Unavailable

Service Unavailable. Vi deployar antingen eller är tillfälligt överbelastade. Försök igen med backoff. Statusuppdateringar postas på community-Discorden.

Grundregler

Användarvillkor

Fyra grundregler. Läs en gång, bespara ditt framtida jag en Discord-pingande.

Credit till källan

Attribution krävs vid redistribution eller republicering. Crediter Pokékipe (länk till https://pokekipe.com), och creditera Smogon för den underliggande chaos JSON de publicerar varje månad.

Best-effort, inget SLA

Best-effort, inget SLA. Datan serveras "as is" utan uptime-garanti. Cacha aggressivt och degradera graciöst när en endpoint är långsam eller returnerar en 429.

Versionering

Scheman under /api/v1/ förblir bakåtkompatibla inom v1-livscykeln. Breaking changes går till /api/v2/ med förvarning på Discord och en sunset-header på den deprekerade pathen.

Kommersiell användning

Kommersiell användning är tillåten under CC BY 4.0. Om du bygger något ovanpå det här API:t skulle vi gärna höra om det på community-Discorden.

Referens · OpenAPI 3Live, tre-panel

Bläddra varje endpoint, allt på ett ställe

Bläddra varje endpoint med beskrivningar, parameter-tabeller, request- och response-scheman, och kodexempel i curl, JavaScript och Python. Sök hela API:t i en ruta, deep-länka till valfri operation, dela URL:en.

  • 100+ endpoints
  • ·
  • 3-pane navigation, content, exempel
  • ·
  • fulltextsök
  • ·
  • live request-exempel