Pokékipe Public API
Libreng competitive Pokémon analytics, kuha mula sa monthly usage stats ng Smogon at na-refresh kada buwan. Walang account na kailangan para sa casual use; mag-mint ng personal key mula sa Account Settings para iangat ang rate-limit ceiling para sa bulk pulls.
Endpoints
100+
Formats
30+
Refresh
Buwanan
Auth
Optional
License
CC BY 4.0
Bakit ito umiiral
Ano ang API na ito, at ano ang hindi
Apat na bagay na dapat malaman bago ka magsulat ng kahit isang linya ng code laban sa /api/v1/.
Ano ang API na ito
Isang read-only JSON surface sa ibabaw ng world's competitive Pokémon data. Itanong "ano ang meta sa Gen 9 OU sa 1500+ ELO ngayong buwan?" o "sino ang nag-counter sa Pokémon na ito sa top cut ng tournament na ito?" at kunin ang single-call answer na may stable, documented na shapes.
Saan galing ang data
Ang monthly battle logs ng Smogon (ang public chaos JSON), opisyal na tournament feeds (Pokémon Company, VGC, Smogon Tour), at community sources tulad ng Limitless TCG para sa community-run events. Pinapatakbo ng Pokékipe ang sarili nitong ingestion, normalization, at enrichment pipeline sa ibabaw, tapos re-expose ang cleaned result.
Ano ang HINDI ang API na ito
Hindi live Pokémon Showdown bridge, hindi battle simulator, hindi damage calculator endpoint, hindi teambuilding engine. Nakatira ang mga tool na iyon sa website. Ang API ay ang data layer na pinapatungan nila.
Credit sa upstream
Credit kung saan dapat. Smogon, ang mga chaos-format JSON exporters, at ang community ng mga players na naglalaro ng games kada buwan ang dahilan kung bakit umiiral ang dataset na ito. Pokékipe ang nagpapagana nitong i-interrogate; hindi nito pag-aari ang underlying data.
Magsimula
Ang iyong unang call, sa 30 segundo
Tatlong copy-paste example na kumukuha ng format catalog. Walang API key, walang setup, walang signup. Pumili ng language tab, paste, run.
curl -s https://pokekipe.com/api/v1/formats \
| jq '.[0:3]'Palitan ang path ng anumang endpoint na nakalista sa reference sa baba. Dapat bumalik ang unang call sa loob ng under one second sa warm cache.
Authentication
Authentication at rate limits
Gumagana ang anonymous calls para sa casual na gamit. Ang personal key (libre, gawa mula sa account settings mo) ang nag-aangat ng rate-limit ceiling para sa mga analyst at tool-builder na kumukuha ng data sa bulk. Hindi nag-uunlock ng bagong endpoints ang keys; itinataas lang nila ang ceiling.
Anonymous, walang key
DefaultGumawa ng calls nang walang anumang header. Naka-key ang bucket sa IP mo, kaya ang maliit na script o LLM agent na gumagawa ng ilang requests bawat session ay hindi mag-tri-trigger ng limit.
- Walang account, walang signup, walang header na isi-set.
- Per-IP bucket, angkop para sa ad-hoc scripts at LLM agent tool-use.
- Tatama sa 429 kung ipipilit ang bulk pulls; lumipat sa personal key.
kada minuto
60
kada araw
5,000
Authenticated, may personal key
Inirerekomenda para sa bulkIpasa ang key mo bilang X-API-Key (o Authorization: Bearer pk_live_…). Patuloy na gumagana ang anonymous calls kasabay; itinataas lang ng key ang ceiling, hindi ito nag-uunlock ng bagong endpoints.
- Per-user bucket: hindi mag-re-reset ng count ang pagbabago ng IP mo.
- Mas mataas na ceilings sa bawat per-route limit.
- Hanggang 5 active keys kada account, pwedeng i-revoke anumang oras.
kada minuto
600
kada araw
100,000
Headers sa bawat response
Bawat successful response ay may dalang rate-limit headers sa baba para makapag-self-pace ang client mo nang walang retries. Basahin minsan bawat response at mag-back off kapag umabot ang Remaining sa ilang requests na lang, hindi sa zero.
| Header | Kahulugan |
|---|---|
| X-RateLimit-Tier | Anong tier ka napupunta: anonymous (walang key) o authenticated (JWT o API key na resolved). |
| X-RateLimit-Limit-Min | Per-minute ceiling para sa tier mo (60 anonymous, 600 authenticated). |
| X-RateLimit-Limit-Day | Per-day ceiling para sa tier mo (5 000 anonymous, 100 000 authenticated). |
| X-RateLimit-Remaining-Min | Calls na natitira sa kasalukuyang minute window. Bagalan kapag malapit na ito sa zero. |
| X-RateLimit-Remaining-Day | Calls na natitira sa kasalukuyang day window. Nagre-reset sa parehong wall-clock minute araw-araw. |
| Retry-After | Pinapadala lang sa 429. Maghintay ng ganito karaming segundo bago mag-retry, kadalasan less than 60 para sa per-minute window. |
Errors
Mga error na maaari mong makita
Standard HTTP status codes. Lagi nang JSON ang body na may "detail" field na naglalarawan kung ano ang nangyari. Tratuhin ang 4xx bilang contract problem (request mo) at 5xx bilang problema namin (mag-retry na may backoff).
OK
OK. Ang body ay ang JSON payload na nakadocument sa reference. Ang empty arrays ay ibig sabihin "walang rows", hindi "missing", i-handle bilang data, hindi bilang failure.
Not Modified
Not Modified. Na-validate ang cache headers. Gamitin ang cached body, walang re-parse na kailangan. Awtomatikong ibinabalik kapag nag-send ka ng If-None-Match o If-Modified-Since.
Bad Request
Bad Request. Mali ang isang query parameter o body shape. Pinapangalanan ng detail message ang exactong field. Huwag mag-retry nang hindi inaayos ang input.
Unauthorized
Unauthorized. Kailangan ng request ng API key o session at walang naibigay, o invalid/revoked ang credentials. Wag mag-fire nang walang tigil, mag-issue ulit ng credential.
Not Found
Not Found. Hindi umiiral ang path o resource. Para sa per-Pokémon routes, kadalasan ibig sabihin nito ay wala pang usage data ang format para sa Pokémon na iyon, hindi typo sa iyong side.
Too Many Requests
Too Many Requests. Tumama ka sa rate-limit ceiling. Basahin ang Retry-After at maghintay, mabuting etiquette ang exponential backoff pero bihirang kailangan dahil maikli ang window.
Server Error
Internal Server Error. May sumabog sa aming side. Mag-retry minsan pagkatapos ng ilang segundo; kung tuloy-tuloy, i-ping kami sa Discord kasama ang request URL.
Service Unavailable
Service Unavailable. Either nag-deploy kami o pansamantalang overloaded. Mag-retry na may backoff. Naka-post sa community Discord ang status updates.
Ground rules
Terms of use
Apat na ground rules. Basahin minsan, i-save ang future self mo sa Discord ping.
Credit sa upstream
Kailangan ang attribution kapag nag-redistribute o republish. I-credit ang Pokékipe (link sa https://pokekipe.com), at i-credit ang Smogon para sa underlying chaos JSON na pino-publish nila kada buwan.
Best-effort, walang SLA
Best-effort, walang SLA. Ang data ay ini-serve nang "as is" na walang uptime guarantee. Mag-cache nang agresibo at mag-degrade gracefully kapag mabagal ang endpoint o nagbabalik ng 429.
Versioning
Ang schemas sa ilalim ng /api/v1/ ay manatiling backwards-compatible sa loob ng v1 lifecycle. Ang breaking changes ay napupunta sa /api/v2/ na may prior notice sa Discord at sunset header sa deprecated path.
Commercial use
Pinapayagan ang commercial use sa ilalim ng CC BY 4.0. Kung may ginawa ka sa ibabaw ng API na ito, gusto naming marinig ito sa community Discord.
I-browse ang bawat endpoint, lahat sa isang lugar
I-browse ang bawat endpoint na may description, parameter tables, request at response schemas, at code samples sa curl, JavaScript, at Python. I-search ang buong API sa isang box, mag-deep-link sa anumang operation, i-share ang URL.
- 100+ endpoints
- ·
- 3-pane navigation, content, samples
- ·
- full-text search
- ·
- live request samples