Skip to content
Public API · v1

Pokékipe Public API

Free competitive Pokémon analytics, Smogon के monthly usage stats से derived और हर महीने refresh होते हैं। Casual use के लिए कोई account नहीं चाहिए; bulk pulls के लिए rate-limit सीलिंग ऊपर उठाने हेतु Account Settings से personal key mint करो।

  • Endpoints

    100+

  • Formats

    30+

  • Refresh

    Monthly

  • Auth

    Optional

  • License

    CC BY 4.0

यह क्यों exist करता है

यह API क्या है, और क्या नहीं

/api/v1/ के against एक line code लिखने से पहले चार चीज़ें जानने लायक।

यह API क्या है

दुनिया के competitive Pokémon data के ऊपर एक read-only JSON surface। पूछो "इस महीने Gen 9 OU में 1500+ ELO पर meta क्या है?" या "इस tournament के top cut में इस Pokémon को किसने counter किया?" और stable, documented shapes के साथ single-call answer पाओ।

Data कहाँ से आता है

Smogon के monthly battle logs (public chaos JSON), official tournament feeds (Pokémon Company, VGC, Smogon Tour), और community-run events के लिए Limitless TCG जैसे community sources। Pokékipe इसके ऊपर अपना ingestion, normalization, और enrichment pipeline चलाता है, फिर cleaned result को re-expose करता है।

यह API क्या नहीं है

Live Pokémon Showdown bridge नहीं, battle simulator नहीं, damage calculator endpoint नहीं, teambuilding engine नहीं। वे tools website पर रहते हैं। API वह data layer है जिस पर वे बैठते हैं।

Upstream को credit

जिसको credit मिलना चाहिए उसको मिले। Smogon, chaos-format JSON exporters, और हर महीने games खेलने वाले players का community — इन्हीं की वजह से यह dataset exist करता है। Pokékipe इसे interrogable बनाता है; underlying data का मालिक नहीं है।

शुरू करें

आपकी पहली call, 30 seconds में

तीन copy-paste examples जो format catalog fetch करते हैं। कोई API key नहीं, कोई setup नहीं, कोई signup नहीं। अपना language tab चुनो, paste करो, run करो।

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

Path को नीचे reference में listed किसी भी endpoint से replace करो। पहली call warm cache पर एक second के अंदर return होनी चाहिए।

ऑथेंटिकेशन

ऑथेंटिकेशन और rate limits

कैजुअल यूज़ के लिए एनोनिमस कॉल्स काम करते हैं। एक पर्सनल key (फ्री, अपने अकाउंट सेटिंग्स से जनरेट होती है) उन एनलिस्ट्स और टूल-बिल्डर्स के लिए rate-limit सीलिंग ऊपर उठा देती है जो bulk में डेटा खींचते हैं। Keys कभी भी नए endpoints अनलॉक नहीं करतीं; वे सिर्फ सीलिंग बढ़ाती हैं।

Anonymous, कोई key नहीं

Default

बिना किसी header के calls करो. Bucket आपके IP पर keyed है, तो एक छोटा script या LLM agent जो session में थोड़ी requests करता है, limit कभी trip नहीं करेगा।

  • कोई account नहीं, कोई signup नहीं, set करने को कोई header नहीं।
  • Per-IP bucket, ad-hoc scripts और LLM agent tool-use के लिए suitable।
  • अगर bulk pulls sustain करोगे तो 429 हिट करोगे; personal key पर switch करो।

per minute

60

per day

5,000

Authenticated, एक personal key के साथ

Bulk के लिए recommended

अपनी key X-API-Key (या Authorization: Bearer pk_live_…) के रूप में pass करो। Anonymous calls साथ-साथ चलती रहती हैं; key सिर्फ सीलिंग बढ़ाती है, नए endpoints unlock नहीं करती।

  • Per-user bucket: आपके IP changes count reset नहीं करेंगे।
  • हर per-route limit पर ऊँची ceilings।
  • Per account 5 active keys तक, कभी भी revocable।

per minute

600

per day

100,000

हर response पर Headers

हर successful response के साथ नीचे दिए rate-limit headers आते हैं ताकि आपका client retries के बिना self-pace कर सके। हर response में एक बार पढ़ो और Remaining के कुछ requests पर पहुँचते ही back off करो, शून्य पर नहीं।

Headerमतलब
X-RateLimit-Tierआप किस tier में आते हो: anonymous (कोई key नहीं) या authenticated (JWT या API key resolved)।
X-RateLimit-Limit-Minआपके tier की per-minute सीलिंग (60 anonymous, 600 authenticated)।
X-RateLimit-Limit-Dayआपके tier की per-day सीलिंग (5 000 anonymous, 100 000 authenticated)।
X-RateLimit-Remaining-Minवर्तमान minute window में बची calls. जब यह शून्य के पास आए, धीमे करो।
X-RateLimit-Remaining-Dayवर्तमान day window में बची calls. हर रोज़ उसी wall-clock minute पर reset होती है।
Retry-Afterसिर्फ 429 पर भेजी जाती है। Retry से पहले इतने seconds wait करो — per-minute window के लिए आमतौर पर 60 से कम।

Errors

Errors जो आप देख सकते हो

Standard HTTP status codes. Body हमेशा एक JSON होती है जिसमें "detail" field बताती है कि क्या गलत हुआ। 4xx को contract problem (आपकी request) मानो और 5xx को हमारी problem (backoff के साथ retry)।

200

OK

OK. Body वही JSON payload है जो reference में documented है। खाली arrays का मतलब "कोई rows नहीं" है, "missing" नहीं — उन्हें data की तरह handle करो, failure की तरह नहीं।

304

Not Modified

Not Modified. Cache headers validate हो गए। Cached body इस्तेमाल करो, re-parse की ज़रूरत नहीं। यह तब अपने आप return होता है जब आप If-None-Match या If-Modified-Since भेजते हो।

400

Bad Request

Bad Request. कोई query parameter या body shape गलत है। Detail message exact field का नाम बताता है। Input fix किए बिना retry मत करो।

401

Unauthorized

Unauthorized. Request को API key या session चाहिए था और कुछ नहीं मिला, या credentials invalid/revoked थे। फायर करना बंद करो — credential फिर से issue करो।

404

Not Found

Not Found. Path या resource exist नहीं करता। Per-Pokémon routes के लिए, अक्सर इसका मतलब है कि उस Pokémon के लिए format में अभी usage data नहीं है — आपकी तरफ से typo नहीं।

429

Too Many Requests

Too Many Requests. आप rate-limit सीलिंग पर पहुँच गए। Retry-After पढ़ो और wait करो — exponential backoff अच्छी etiquette है पर शायद ही ज़रूरत हो क्योंकि window छोटी है।

500

Server Error

Internal Server Error. हमारी तरफ से कुछ फट गया। कुछ सेकंड बाद एक बार retry करो; अगर बना रहे, तो request URL के साथ Discord पर ping करो।

503

Service Unavailable

Service Unavailable. हम या तो deploy कर रहे हैं या temporarily overloaded हैं। Backoff के साथ retry करो। Status updates community Discord पर पोस्ट होते हैं।

Ground rules

Terms of use

चार ground rules. एक बार पढ़ो, future self का एक Discord ping बचाओ।

Upstream को credit

Redistribute या republish करते समय attribution ज़रूरी। Pokékipe को credit दो (link to https://pokekipe.com), और Smogon को underlying chaos JSON के लिए credit दो जो वे हर महीने publish करते हैं।

Best-effort, कोई SLA नहीं

Best-effort, कोई SLA नहीं। Data "as is" serve होता है, कोई uptime guarantee नहीं। Aggressively cache करो और जब कोई endpoint slow हो या 429 return करे तो gracefully degrade करो।

Versioning

/api/v1/ के अंदर के Schemas v1 lifecycle में backwards-compatible रहते हैं। Breaking changes /api/v2/ पर जाते हैं — Discord पर prior notice और deprecated path पर sunset header के साथ।

Commercial use

Commercial use CC BY 4.0 के तहत allowed है। अगर आप इस API के ऊपर कुछ बनाते हो, हमें community Discord पर सुनना अच्छा लगेगा।

Reference · OpenAPI 3Live, three-pane

हर endpoint एक ही जगह browse करो

हर endpoint को descriptions, parameter tables, request और response schemas, और curl, JavaScript तथा Python में code samples के साथ browse करो। एक ही box में पूरी API search करो, किसी भी operation पर deep-link करो, URL share करो।

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