Skip to content
Public API · v1

Pokékipe Public API

Gratis competitive Pokémon-analytics, afgeleid van Smogon's maandelijkse usage stats en elke maand ververst. Geen account nodig voor casual gebruik; mint een persoonlijke key via Account Settings om het rate-limit-plafond op te tillen voor bulk pulls.

  • Endpoints

    100+

  • Formats

    30+

  • Refresh

    Maandelijks

  • Auth

    Optioneel

  • Licentie

    CC BY 4.0

Waarom dit bestaat

Wat deze API is, en wat hij niet is

Vier dingen om te weten voordat je één regel code schrijft tegen /api/v1/.

Wat deze API is

Een read-only JSON-surface over 's werelds competitive Pokémon-data. Vraag "wat is de meta in Gen 9 OU op 1500+ ELO deze maand?" of "wie countered deze Pokémon in de top cut van dit tournament?" en krijg een single-call antwoord met stabiele, gedocumenteerde shapes.

Waar de data vandaan komt

Smogon's maandelijkse battle logs (de publieke chaos JSON), officiële tournament feeds (Pokémon Company, VGC, Smogon Tour) en community-bronnen zoals Limitless TCG voor community-run events. Pokékipe draait zijn eigen ingestion-, normalisatie- en verrijkings-pipeline daarbovenop, en re-exposet vervolgens het opgeschoonde resultaat.

Wat deze API niet is

Geen live Pokémon Showdown-bridge, geen battle simulator, geen damage calculator endpoint, geen teambuilding engine. Die tools leven op de website. De API is de datalaag waarop ze rusten.

Credit upstream

Credit waar credit verdiend is. Smogon, de chaos-format JSON-exporters en de community spelers die elke maand games spelen zijn de reden dat deze dataset bestaat. Pokékipe maakt hem doorzoekbaar; we owne de onderliggende data niet.

Aan de slag

Je eerste call, in 30 seconden

Drie copy-paste voorbeelden die de format-catalog ophalen. Geen API-key, geen setup, geen signup. Kies je language tab, plak, run.

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

Vervang het path met elk endpoint dat in de reference hieronder staat. De eerste call zou onder een seconde terug moeten komen op een warme cache.

Authenticatie

Authenticatie en rate limits

Anonieme calls werken prima voor casual gebruik. Een persoonlijke key (gratis, te genereren via je accountinstellingen) tilt het rate-limit-plafond op voor analisten en tool-builders die data in bulk binnenhalen. Keys ontgrendelen nooit nieuwe endpoints; ze verhogen alleen het plafond.

Anoniem, geen key

Default

Maak calls zonder enige header. De bucket is gekeyed op je IP, dus een klein script of een LLM-agent die een handvol requests per sessie doet zal de limit nooit raken.

  • Geen account, geen signup, geen header om te zetten.
  • Per-IP bucket, geschikt voor ad-hoc scripts en LLM agent tool-use.
  • Loopt tegen een 429 aan als je bulk pulls volhoudt; switch naar een persoonlijke key.

per minuut

60

per dag

5,000

Authenticated, met een persoonlijke key

Aanbevolen voor bulk

Geef je key mee als X-API-Key (of Authorization: Bearer pk_live_…). Anonieme calls blijven daarnaast werken; de key tilt alleen het plafond op, hij ontgrendelt geen nieuwe endpoints.

  • Per-user bucket: IP-changes resetten de count niet.
  • Hogere plafonds op elke per-route limit.
  • Tot 5 actieve keys per account, op elk moment revocable.

per minuut

600

per dag

100,000

Headers op elke response

Elke succesvolle response bevat de onderstaande rate-limit-headers, zodat je client zichzelf kan pacen zonder retries. Lees ze één keer per response uit en back off zodra Remaining bij een handvol requests komt — niet pas op nul.

HeaderBetekenis
X-RateLimit-TierOnder welke tier je valt: anoniem (geen key) of authenticated (JWT of API-key resolved).
X-RateLimit-Limit-MinPer-minuut-plafond voor jouw tier (60 anoniem, 600 authenticated).
X-RateLimit-Limit-DayPer-dag-plafond voor jouw tier (5 000 anoniem, 100 000 authenticated).
X-RateLimit-Remaining-MinCalls die over zijn in het huidige minuut-window. Vertraag zodra dit richting nul gaat.
X-RateLimit-Remaining-DayCalls die over zijn in het huidige dag-window. Reset elke dag op dezelfde wall-clock minuut.
Retry-AfterAlleen verstuurd bij een 429. Wacht dit aantal seconden voordat je retryt — meestal onder 60 voor het per-minuut-window.

Errors

Errors die je kunt tegenkomen

Standaard HTTP-statuscodes. De body is altijd JSON met een "detail"-veld dat beschrijft wat er misging. Behandel 4xx als een contract-probleem (jouw request) en 5xx als ons probleem (retry met backoff).

200

OK

OK. De body is de JSON-payload die in de reference staat. Lege arrays betekenen "geen rijen", niet "missing" — behandel ze als data, niet als een failure.

304

Not Modified

Not Modified. Cache-headers zijn gevalideerd. Gebruik de gecachte body, geen re-parse nodig. Wordt automatisch teruggestuurd als je If-None-Match of If-Modified-Since meestuurt.

400

Bad Request

Bad Request. Een query-parameter of body-vorm klopt niet. Het detail-bericht noemt het exacte veld. Niet retryen zonder de input te fixen.

401

Unauthorized

Unauthorized. De request had een API-key of sessie nodig en kreeg geen van beide, of de credentials waren invalid/revoked. Niet blijven schieten — issue de credential opnieuw.

404

Not Found

Not Found. Het path of de resource bestaat niet. Voor per-Pokémon routes betekent dit vaak dat het format nog geen usage data heeft voor die Pokémon, niet dat je een typo hebt gemaakt.

429

Too Many Requests

Too Many Requests. Je hebt het rate-limit-plafond geraakt. Lees Retry-After en wacht; exponential backoff is goede etiquette maar zelden nodig omdat het window kort is.

500

Server Error

Internal Server Error. Iets is bij ons geklapt. Retry één keer na een paar seconden; als het blijft, ping ons op Discord met de request-URL.

503

Service Unavailable

Service Unavailable. We zijn aan het deployen of tijdelijk overloaded. Retry met backoff. Status-updates worden gepost op de community Discord.

Spelregels

Gebruiksvoorwaarden

Vier spelregels. Eén keer lezen, je future self een Discord-ping besparen.

Credit upstream

Attributie verplicht bij redistributie of republishing. Credit Pokékipe (link naar https://pokekipe.com), en credit Smogon voor de onderliggende chaos JSON die ze elke maand publiceren.

Best-effort, geen SLA

Best-effort, geen SLA. De data wordt geserveerd "as is" zonder uptime-garantie. Cache aggressief en degradeer netjes wanneer een endpoint traag is of een 429 teruggeeft.

Versioning

Schemas onder /api/v1/ blijven backwards-compatible binnen de v1-lifecycle. Breaking changes gaan naar /api/v2/, met voorafgaande aankondiging op Discord en een sunset-header op het deprecated path.

Commercieel gebruik

Commercieel gebruik is toegestaan onder CC BY 4.0. Als je iets bouwt bovenop deze API, horen we het graag op de community Discord.

Reference · OpenAPI 3Live, three-pane

Browse elk endpoint, allemaal op één plek

Browse elk endpoint met beschrijvingen, parameter-tables, request- en response-schemas, en code samples in curl, JavaScript en Python. Doorzoek de hele API in één box, deep-link naar elke operation, deel de URL.

  • 100+ endpoints
  • ·
  • 3-pane navigation, content, samples
  • ·
  • full-text search
  • ·
  • live request samples