Pokékipe Public API
Smogon'un aylık usage stats'ından türetilen, her ay tazelenen ücretsiz competitive Pokémon analitiği. Gündelik kullanım için hesap gerekmez; toplu çekimlerde rate-limit tavanını yükseltmek için Hesap Ayarları'ndan kişisel bir anahtar üret.
Endpoint'ler
100+
Formatlar
30+
Yenileme
Aylık
Auth
Opsiyonel
Lisans
CC BY 4.0
Niye var
Bu API nedir, ne değildir
/api/v1/ üzerine tek satır kod yazmadan önce bilinmesi gereken dört şey.
Bu API nedir
Dünyanın competitive Pokémon verisi üzerinde salt-okunur bir JSON yüzeyi. "Bu ay Gen 9 OU'da 1500+ ELO'da meta ne?" veya "bu Pokémon'a bu turnuvanın top cut'ında kim counter attı?" — tek çağrıyla, stabil ve dokümante şekillerle cevabı al.
Veri nereden geliyor
Smogon'un aylık battle log'ları (public chaos JSON), official tournament feed'leri (Pokémon Company, VGC, Smogon Tour) ve community-run etkinlikler için Limitless TCG gibi topluluk kaynakları. Pokékipe üstüne kendi ingestion, normalization ve enrichment pipeline'ını çalıştırır, sonra temizlenmiş sonucu yeniden expose eder.
Bu API ne değil
Canlı bir Pokémon Showdown köprüsü değil, battle simulator değil, damage calculator endpoint'i değil, teambuilding engine değil. Bu araçlar sitede yaşıyor. API onların oturduğu veri katmanı.
Kaynağa kredi ver
Hakkı teslim etmek lazım. Smogon, chaos-format JSON exporter'ları ve her ay oyunu oynayan oyuncu topluluğu — bu dataset onların sayesinde var. Pokékipe veriyi sorgulanabilir hâle getirir; altındaki veriye sahip değildir.
Başla
İlk çağrın, 30 saniyede
Format kataloğunu çeken üç adet kopyala-yapıştır örnek. API key yok, setup yok, signup yok. Dil sekmeni seç, yapıştır, çalıştır.
curl -s https://pokekipe.com/api/v1/formats \
| jq '.[0:3]'Path'i aşağıdaki referansta listelenen herhangi bir endpoint ile değiştir. İlk çağrı sıcak cache'de bir saniyenin altında dönmeli.
Kimlik Doğrulama
Kimlik doğrulama ve rate limit
Anonim çağrılar gündelik kullanım için yeterli. Kişisel bir anahtar (ücretsiz, hesap ayarlarından üretilir) toplu veri çeken analistler ve tool geliştiriciler için rate-limit tavanını yükseltir. Anahtarlar asla yeni endpoint açmaz; sadece tavanı yükseltir.
Anonim, anahtarsız
VarsayılanHiç header olmadan çağrı at. Bucket IP'ne anahtarlanır, yani küçük bir script veya session başına bir avuç istek yapan bir LLM agent asla limite takılmaz.
- Hesap yok, signup yok, set edilecek header yok.
- IP-başına bucket — ad-hoc script'ler ve LLM agent tool-use için uygun.
- Toplu çekim sürdürürsen 429 alırsın; kişisel anahtara geç.
dakikada
60
günde
5,000
Authenticated, kişisel anahtarla
Toplu çekim için önerilirAnahtarını X-API-Key olarak (veya Authorization: Bearer pk_live_…) gönder. Anonim çağrılar yan yana çalışmaya devam eder; anahtar sadece tavanı yükseltir, yeni endpoint açmaz.
- Kullanıcı-başına bucket: IP değişiklikleri sayacını sıfırlamaz.
- Her route-bazlı limitte daha yüksek tavan.
- Hesap başına 5 aktif anahtara kadar, istediğin zaman iptal edilebilir.
dakikada
600
günde
100,000
Her yanıtta gelen header'lar
Her başarılı yanıt aşağıdaki rate-limit header'larını taşır; böylece client'ın retry atmadan kendi tempoda gidebilir. Yanıt başına bir kez oku ve Remaining birkaç isteğe düşer düşmez geri çekil — sıfıra inmesini bekleme.
| Header | Anlam |
|---|---|
| X-RateLimit-Tier | Hangi kademedesin: anonim (anahtar yok) veya authenticated (JWT veya API key çözümlendi). |
| X-RateLimit-Limit-Min | Kademenin dakikalık tavanı (anonim için 60, authenticated için 600). |
| X-RateLimit-Limit-Day | Kademenin günlük tavanı (anonim için 5 000, authenticated için 100 000). |
| X-RateLimit-Remaining-Min | Mevcut dakika penceresinde kalan çağrı sayısı. Sıfıra yaklaşınca yavaşla. |
| X-RateLimit-Remaining-Day | Mevcut gün penceresinde kalan çağrı sayısı. Her gün aynı duvar-saat dakikasında resetlenir. |
| Retry-After | Sadece 429'da gönderilir. Retry atmadan önce bu kadar saniye bekle — dakika penceresi için genelde 60'ın altında. |
Hatalar
Görebileceğin hatalar
Standart HTTP status kodları. Gövde her zaman JSON, içinde ne olduğunu anlatan bir "detail" alanı vardır. 4xx'i contract problemi (senin isteğin), 5xx'i bizim problemimiz (backoff ile retry) olarak gör.
OK
OK. Gövde, referansta belgelenmiş JSON payload'ıdır. Boş diziler "satır yok" anlamına gelir, "eksik" değil — onları başarısızlık değil, veri olarak işle.
Not Modified
Not Modified. Cache header'ları doğrulandı. Cache'lenmiş gövdeyi kullan, tekrar parse etmeye gerek yok. If-None-Match veya If-Modified-Since gönderdiğinde otomatik döner.
Bad Request
Bad Request. Bir query parametresi veya gövde şekli hatalı. Detail mesajı tam alan adını söyler. Input'u düzeltmeden retry atma.
Unauthorized
Unauthorized. İstek bir API anahtarı veya session istiyordu, hiçbiri yoktu ya da credential'lar geçersiz/iptal edilmişti. Atışı sürdürme, credential'ı yenile.
Not Found
Not Found. Path veya kaynak mevcut değil. Pokémon-bazlı route'lar için bu çoğu zaman senin tarafındaki typo değil, o Pokémon için o formatta henüz usage verisi olmaması demektir.
Too Many Requests
Too Many Requests. Rate-limit tavanına vurdun. Retry-After'ı oku ve bekle — exponential backoff iyi bir etikettir ama pencere kısa olduğu için nadiren gerekir.
Sunucu Hatası
Internal Server Error. Bizim tarafımızda bir şey patladı. Birkaç saniye sonra bir kez retry at; sürerse request URL'iyle Discord'dan ping at.
Service Unavailable
Service Unavailable. Ya deploy ediyoruz ya da geçici olarak aşırı yüklüyüz. Backoff ile retry at. Durum güncellemeleri community Discord'a düşer.
Temel kurallar
Kullanım koşulları
Dört temel kural. Bir kez oku, gelecekteki kendine bir Discord ping'i kazandır.
Kaynağa kredi ver
Yeniden dağıtım veya yeniden yayınlama yaparken atıf zorunludur. Pokékipe'ye kredi ver (https://pokekipe.com'a link), ve her ay yayınladıkları chaos JSON için Smogon'a kredi ver.
Best-effort, SLA yok
Best-effort, SLA yok. Veri "olduğu gibi" sunulur, uptime garantisi yoktur. Agresif cache'le ve bir endpoint yavaşladığında veya 429 döndürdüğünde graceful biçimde degrade et.
Versiyonlama
/api/v1/ altındaki şemalar v1 yaşam döngüsü içinde geriye dönük uyumlu kalır. Breaking change'ler /api/v2/'ye gider — Discord'dan önceden bildirim ve deprecated path üzerinde bir sunset header ile.
Ticari kullanım
Ticari kullanım CC BY 4.0 altında serbest. Bu API üzerine bir şey kurarsan, community Discord'da duymak çok hoşumuza gider.
Her endpoint'i tek yerde gez
Her endpoint'i açıklamalar, parametre tabloları, request ve response şemaları ile curl, JavaScript ve Python kod örnekleriyle gezin. Tüm API'yi tek kutudan ara, herhangi bir operasyona deep-link ver, URL'yi paylaş.
- 100+ endpoint
- ·
- 3-pane navigasyon, içerik, örnekler
- ·
- tam-metin arama
- ·
- canlı request örnekleri