Skip to content
Public API · v1

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

Standard

Mache 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 Bulk

Sende 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.

HeaderBedeutung
X-RateLimit-TierIn welche Stufe du fällst: anonym (kein Schlüssel) oder authentifiziert (JWT oder API-Schlüssel erkannt).
X-RateLimit-Limit-MinMinuten-Obergrenze für deine Stufe (60 anonym, 600 authentifiziert).
X-RateLimit-Limit-DayTages-Obergrenze für deine Stufe (5 000 anonym, 100 000 authentifiziert).
X-RateLimit-Remaining-MinVerbleibende Aufrufe im aktuellen Minutenfenster. Drossle, wenn dieser Wert nahe null kommt.
X-RateLimit-Remaining-DayVerbleibende Aufrufe im aktuellen Tagesfenster. Reset zur gleichen Wandzeit täglich.
Retry-AfterNur 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).

200

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.

304

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.

400

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.

401

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.

404

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.

429

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.

500

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.

503

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.

Referenz · OpenAPI 3Live, drei-Pane

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