Pokékipe Public API
Kostenlose Pokémon-Wettkampf-Analytik, abgeleitet aus den monatlichen Smogon-Nutzungsstatistiken und jeden Monat aktualisiert. Kein Konto nötig für gelegentliche Nutzung; generiere einen persönlichen Schlüssel in den Kontoeinstellungen, um die Rate-Limit-Obergrenze für Bulk-Pulls anzuheben.
Endpoints
100+
Formate abgedeckt
30+
Refresh
Monatlich
Auth
Optional
Lizenz
CC BY 4.0
Warum es das gibt
Was diese API ist und was nicht
Vier Dinge, die du wissen solltest, bevor du eine einzige Zeile Code gegen /api/v1/ schreibst.
Was diese API ist
Eine read-only JSON-Oberfläche über die weltweiten Pokémon-Wettkampfdaten. Frage "was ist das Meta in Gen 9 OU bei 1500+ ELO diesen Monat?" oder "wer hat dieses Pokémon im Top Cut dieses Turniers gekontert?" und bekomme eine Single-Call-Antwort mit stabilen, dokumentierten Shapes.
Woher die Daten kommen
Smogons monatliche Battle-Logs (das öffentliche Chaos-JSON), offizielle Turnier-Feeds (Pokémon Company, VGC, Smogon Tour) und Community-Quellen wie Limitless TCG für Community-Events. Pokékipe macht eigene Ingestion, Normalisierung und Anreicherung obenauf, und stellt das saubere Ergebnis hier bereit.
Was diese API nicht ist
Keine Live-Brücke zu Pokémon Showdown, kein Battle-Simulator, kein Damage-Calculator-Endpoint, kein Teambuilding-Engine. Diese Tools leben auf der Website. Die API ist die Datenschicht darunter.
Credit an die Quellen
Credit gehört dorthin, wo er hingehört. Smogon, die Chaos-Format-JSON-Exporteure und die Spielergemeinschaft, die jeden Monat die Ladders bespielt, sind der Grund, warum dieser Datensatz existiert. Pokékipe macht ihn abfragbar; die zugrundeliegenden Daten gehören uns nicht.
Loslegen
Dein erster Aufruf, in 30 Sekunden
Drei Copy-Paste-Beispiele, die den Format-Katalog abrufen. Kein API-Schlüssel, kein Setup, kein Signup. Wähle deinen Sprach-Tab, paste, run.
curl -s https://pokekipe.com/api/v1/formats \
| jq '.[0:3]'Ersetze den Pfad mit jedem in der Referenz unten gelisteten Endpoint. Der erste Aufruf sollte bei warmem Cache in unter einer Sekunde zurückkommen.
Authentifizierung
Authentifizierung und Rate-Limits
Anonyme Aufrufe funktionieren für gelegentliche Nutzung. Ein persönlicher Schlüssel (kostenlos, in den Kontoeinstellungen erstellt) erhöht die Rate-Limit-Obergrenze für Analysten und Tool-Builder, die Daten in großen Mengen ziehen. Schlüssel schalten keine neuen Endpoints frei; sie heben nur die Obergrenze an.
Anonym, ohne Schlüssel
StandardMache Aufrufe ohne Header. Der Bucket ist auf deine IP gemappt, daher wird ein kleines Skript oder ein LLM-Agent mit einer Handvoll Anfragen pro Session nie das Limit erreichen.
- Kein Konto, kein Signup, kein Header zu setzen.
- Per-IP-Bucket, geeignet für Ad-hoc-Skripte und LLM-Agent-Tool-Use.
- Triggert ein 429, wenn du Bulk-Pulls aufrechterhältst; wechsle zu einem persönlichen Schlüssel.
pro Minute
60
pro Tag
5,000
Authentifiziert, mit persönlichem Schlüssel
Empfohlen für BulkSende deinen Schlüssel als X-API-Key (oder Authorization: Bearer pk_live_…). Anonyme Aufrufe funktionieren parallel weiter; der Schlüssel hebt nur die Obergrenze an, schaltet keine neuen Endpoints frei.
- Per-User-Bucket: deine IP-Wechsel resetten den Zähler nicht.
- Höhere Obergrenzen auf jedem Per-Route-Limit.
- Bis zu 5 aktive Schlüssel pro Konto, jederzeit widerrufbar.
pro Minute
600
pro Tag
100,000
Header in jeder Antwort
Jede erfolgreiche Antwort trägt die unten aufgeführten Rate-Limit-Header, damit dein Client sich ohne Retries selbst regulieren kann. Lies sie einmal pro Antwort und drossle, sobald Remaining auf wenige Anfragen sinkt, nicht erst bei null.
| Header | Bedeutung |
|---|---|
| X-RateLimit-Tier | In welche Stufe du fällst: anonym (kein Schlüssel) oder authentifiziert (JWT oder API-Schlüssel erkannt). |
| X-RateLimit-Limit-Min | Minuten-Obergrenze für deine Stufe (60 anonym, 600 authentifiziert). |
| X-RateLimit-Limit-Day | Tages-Obergrenze für deine Stufe (5 000 anonym, 100 000 authentifiziert). |
| X-RateLimit-Remaining-Min | Verbleibende Aufrufe im aktuellen Minutenfenster. Drossle, wenn dieser Wert nahe null kommt. |
| X-RateLimit-Remaining-Day | Verbleibende Aufrufe im aktuellen Tagesfenster. Reset zur gleichen Wandzeit täglich. |
| Retry-After | Nur bei 429 gesendet. Warte so viele Sekunden vor dem Retry, meist unter 60 für das Minutenfenster. |
Fehler
Fehler, die du sehen könntest
Standard-HTTP-Statuscodes. Der Body ist immer JSON mit einem "detail"-Feld, das beschreibt was schiefging. Behandle 4xx als Vertragsproblem (deine Anfrage) und 5xx als unser Problem (Retry mit Backoff).
OK
OK. Der Body ist das in der Referenz dokumentierte JSON-Payload. Leere Arrays bedeuten "keine Zeilen", nicht "fehlt", behandle sie als Daten, nicht als Fehler.
Not Modified
Not Modified. Cache-Header wurden validiert. Verwende den gecachten Body, kein erneutes Parsen nötig. Wird automatisch zurückgegeben, wenn du If-None-Match oder If-Modified-Since sendest.
Bad Request
Bad Request. Ein Query-Parameter oder Body-Shape ist falsch. Die detail-Nachricht nennt das genaue Feld. Nicht ohne Korrektur des Inputs erneut senden.
Unauthorized
Unauthorized. Die Anfrage benötigte einen API-Schlüssel oder eine Session und hat nichts gültiges erhalten, oder die Credentials wurden widerrufen. Nicht weiter senden, sondern den Credential neu ausstellen.
Not Found
Not Found. Pfad oder Ressource existiert nicht. Bei pro-Pokémon-Routen heißt das oft, dass das Format noch keine Nutzungsdaten für dieses Pokémon hat, kein Tippfehler deinerseits.
Too Many Requests
Too Many Requests. Du hast die Rate-Limit-Obergrenze erreicht. Lies Retry-After und warte. Exponential Backoff ist guter Stil, aber selten nötig, da das Fenster kurz ist.
Server Error
Internal Server Error. Bei uns ist etwas explodiert. Versuche es nach ein paar Sekunden erneut; bei anhaltendem Problem schreib uns auf Discord mit der Request-URL.
Service Unavailable
Service Unavailable. Wir deployen gerade oder sind kurzzeitig überlastet. Retry mit Backoff. Status-Updates auf dem Community-Discord.
Spielregeln
Nutzungsbedingungen
Vier Grundregeln. Einmal lesen, das spart deinem zukünftigen Selbst einen Discord-Ping.
Credit an die Quellen
Attribution erforderlich beim Weitergeben oder erneuten Veröffentlichen. Credit Pokékipe (Link zu https://pokekipe.com), und credit Smogon für das zugrundeliegende Chaos-JSON, das sie monatlich veröffentlichen.
Best-Effort, kein SLA
Best-Effort, kein SLA. Die Daten werden "as is" ohne Uptime-Garantie ausgeliefert. Cache aggressiv und degradiere graceful, wenn ein Endpoint langsam ist oder 429 zurückgibt.
Versionierung
Schemas unter /api/v1/ bleiben rückwärtskompatibel im v1-Lifecycle. Breaking Changes gehen auf /api/v2/ mit vorheriger Ankündigung auf Discord und einem Sunset-Header auf dem deprecated Pfad.
Kommerzielle Nutzung
Kommerzielle Nutzung ist unter CC BY 4.0 erlaubt. Wenn du etwas auf dieser API aufbaust, würden wir gerne auf dem Community-Discord davon hören.
Jeden Endpoint durchsuchen, alles an einem Ort
Durchsuche jeden Endpoint mit Beschreibungen, Parameter-Tabellen, Request- und Response-Schemas und Code-Samples in curl, JavaScript und Python. Suche die ganze API in einer Box, deeplinke zu jeder Operation, teile die URL.
- 100+ Endpoints
- ·
- 3-pane Navigation, Inhalt, Samples
- ·
- Volltextsuche
- ·
- Live-Request-Samples