Skip to content
Public API · v1

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

Default

Gumawa 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 bulk

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

HeaderKahulugan
X-RateLimit-TierAnong tier ka napupunta: anonymous (walang key) o authenticated (JWT o API key na resolved).
X-RateLimit-Limit-MinPer-minute ceiling para sa tier mo (60 anonymous, 600 authenticated).
X-RateLimit-Limit-DayPer-day ceiling para sa tier mo (5 000 anonymous, 100 000 authenticated).
X-RateLimit-Remaining-MinCalls na natitira sa kasalukuyang minute window. Bagalan kapag malapit na ito sa zero.
X-RateLimit-Remaining-DayCalls na natitira sa kasalukuyang day window. Nagre-reset sa parehong wall-clock minute araw-araw.
Retry-AfterPinapadala 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).

200

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.

304

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.

400

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.

401

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.

404

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.

429

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.

500

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.

503

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.

Reference · OpenAPI 3Live, three-pane

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