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)।
OK
OK. Body वही JSON payload है जो reference में documented है। खाली arrays का मतलब "कोई rows नहीं" है, "missing" नहीं — उन्हें data की तरह handle करो, failure की तरह नहीं।
Not Modified
Not Modified. Cache headers validate हो गए। Cached body इस्तेमाल करो, re-parse की ज़रूरत नहीं। यह तब अपने आप return होता है जब आप If-None-Match या If-Modified-Since भेजते हो।
Bad Request
Bad Request. कोई query parameter या body shape गलत है। Detail message exact field का नाम बताता है। Input fix किए बिना retry मत करो।
Unauthorized
Unauthorized. Request को API key या session चाहिए था और कुछ नहीं मिला, या credentials invalid/revoked थे। फायर करना बंद करो — credential फिर से issue करो।
Not Found
Not Found. Path या resource exist नहीं करता। Per-Pokémon routes के लिए, अक्सर इसका मतलब है कि उस Pokémon के लिए format में अभी usage data नहीं है — आपकी तरफ से typo नहीं।
Too Many Requests
Too Many Requests. आप rate-limit सीलिंग पर पहुँच गए। Retry-After पढ़ो और wait करो — exponential backoff अच्छी etiquette है पर शायद ही ज़रूरत हो क्योंकि window छोटी है।
Server Error
Internal Server Error. हमारी तरफ से कुछ फट गया। कुछ सेकंड बाद एक बार retry करो; अगर बना रहे, तो request URL के साथ Discord पर ping करो।
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 पर सुनना अच्छा लगेगा।
हर 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