API Publik Pokékipe
Analitik Pokémon kompetitif gratis, diturunkan dari statistik usage bulanan Smogon dan disegarkan setiap bulan. Tak perlu akun untuk pemakaian kasual; bikin key pribadi dari Account Settings untuk menaikkan plafon rate-limit untuk bulk pull.
Endpoint
100+
Format
30+
Refresh
Bulanan
Auth
Opsional
Lisensi
CC BY 4.0
Kenapa ini ada
Apa itu API ini, dan apa yang bukan
Empat hal yang perlu kamu tahu sebelum menulis satu baris kode pun terhadap /api/v1/.
Apa itu API ini
Permukaan JSON read-only di atas data Pokémon kompetitif dunia. Tanya "meta-nya apa di Gen 9 OU di 1500+ ELO bulan ini?" atau "siapa counter Pokémon ini di top cut turnamen ini?" dan dapatkan jawaban satu-panggilan dengan bentuk stabil dan terdokumentasi.
Dari mana datanya
Log battle bulanan Smogon (chaos JSON publik), feed turnamen resmi (Pokémon Company, VGC, Smogon Tour), dan sumber komunitas seperti Limitless TCG untuk event komunitas. Pokékipe menjalankan pipeline ingestion, normalization, dan enrichment sendiri di atasnya, lalu mengekspos hasil bersihnya kembali.
Apa yang BUKAN API ini
Bukan bridge Pokémon Showdown live, bukan battle simulator, bukan endpoint damage calculator, bukan engine teambuilding. Tool-tool itu ada di website. API adalah lapisan data yang menopangnya.
Beri kredit ke sumber
Kredit untuk yang berhak. Smogon, para eksporter chaos-format JSON, dan komunitas pemain yang main game tiap bulan, itulah alasan dataset ini ada. Pokékipe membuatnya dapat dikuerikan; tidak memiliki data dasarnya.
Mulai
Panggilan pertamamu, dalam 30 detik
Tiga contoh copy-paste yang mengambil katalog format. Tanpa API key, tanpa setup, tanpa signup. Pilih tab bahasa kamu, paste, jalankan.
curl -s https://pokekipe.com/api/v1/formats \
| jq '.[0:3]'Ganti path dengan endpoint apa pun yang tertulis di reference di bawah. Panggilan pertama harusnya balik di bawah satu detik di warm cache.
Autentikasi
Autentikasi dan rate limit
Panggilan anonim cukup untuk pemakaian kasual. Key pribadi (gratis, dibuat dari pengaturan akun) menaikkan batas rate-limit untuk analis dan tool-builder yang menarik data secara bulk. Key tidak pernah membuka endpoint baru; hanya menaikkan plafon.
Anonim, tanpa key
DefaultLakukan panggilan tanpa header apa pun. Bucket dikunci pada IP kamu, jadi script kecil atau agen LLM yang melakukan segelintir request per sesi tak akan kena limit.
- Tanpa akun, tanpa signup, tanpa header untuk diset.
- Bucket per-IP, cocok untuk script ad-hoc dan tool-use agen LLM.
- Kena 429 kalau kamu sustain bulk pull; pindah ke key pribadi.
per menit
60
per hari
5,000
Terautentikasi, dengan key pribadi
Disarankan untuk bulkKirim key kamu sebagai X-API-Key (atau Authorization: Bearer pk_live_…). Panggilan anonim tetap jalan berdampingan; key hanya menaikkan plafon, bukan membuka endpoint baru.
- Bucket per-user: IP yang berganti tak akan reset hitungannya.
- Plafon lebih tinggi di setiap limit per-route.
- Hingga 5 key aktif per akun, bisa dicabut kapan saja.
per menit
600
per hari
100,000
Header di setiap respons
Setiap respons sukses membawa header rate-limit di bawah supaya klien kamu bisa self-pace tanpa retry. Baca sekali per respons dan tarik rem begitu Remaining tinggal beberapa request, bukan nol.
| Header | Arti |
|---|---|
| X-RateLimit-Tier | Tier kamu: anonim (tanpa key) atau terautentikasi (JWT atau API key terresolusi). |
| X-RateLimit-Limit-Min | Plafon per-menit untuk tier kamu (60 anonim, 600 terautentikasi). |
| X-RateLimit-Limit-Day | Plafon per-hari untuk tier kamu (5 000 anonim, 100 000 terautentikasi). |
| X-RateLimit-Remaining-Min | Panggilan tersisa di window menit ini. Pelankan saat ini mendekati nol. |
| X-RateLimit-Remaining-Day | Panggilan tersisa di window hari ini. Direset pada menit wall-clock yang sama setiap hari. |
| Retry-After | Dikirim hanya pada 429. Tunggu sekian detik sebelum retry, biasanya di bawah 60 untuk window per-menit. |
Error
Error yang mungkin muncul
Kode status HTTP standar. Body selalu JSON dengan field "detail" yang menjelaskan masalahnya. Anggap 4xx masalah kontrak (request kamu) dan 5xx masalah kami (retry dengan backoff).
OK
OK. Body adalah payload JSON yang didokumentasikan di reference. Array kosong artinya "tidak ada baris", bukan "hilang", perlakukan sebagai data, bukan kegagalan.
Not Modified
Not Modified. Header cache tervalidasi. Pakai body yang sudah di-cache, tak perlu re-parse. Dikembalikan otomatis saat kamu kirim If-None-Match atau If-Modified-Since.
Bad Request
Bad Request. Parameter query atau bentuk body salah. Pesan detail menyebut field tepatnya. Jangan retry tanpa memperbaiki input.
Unauthorized
Unauthorized. Request butuh API key atau session tapi dapat nihil, atau kredensialnya invalid/dicabut. Jangan terus menembak, terbitkan ulang kredensialnya.
Not Found
Not Found. Path atau resource tidak ada. Untuk route per-Pokémon, ini sering berarti format belum punya data usage untuk Pokémon itu, bukan typo di sisi kamu.
Too Many Requests
Too Many Requests. Kamu kena plafon rate-limit. Baca Retry-After lalu tunggu, exponential backoff itu etika yang baik tapi jarang perlu karena window-nya pendek.
Server Error
Internal Server Error. Ada yang meledak di sisi kami. Retry sekali setelah beberapa detik; kalau menetap, ping kami di Discord dengan URL request-nya.
Service Unavailable
Service Unavailable. Kami sedang deploy atau overload sementara. Retry dengan backoff. Update status diposting di community Discord.
Aturan main
Syarat penggunaan
Empat aturan main. Baca sekali, hemat ping Discord di masa depan.
Beri kredit ke sumber
Atribusi wajib saat redistribusi atau republish. Beri kredit Pokékipe (link ke https://pokekipe.com), dan beri kredit Smogon untuk chaos JSON yang mereka publish tiap bulan.
Best-effort, tanpa SLA
Best-effort, tanpa SLA. Data disajikan "as is" tanpa jaminan uptime. Cache agresif dan degrade dengan anggun saat endpoint lambat atau balik 429.
Versioning
Skema di bawah /api/v1/ tetap backwards-compatible dalam lifecycle v1. Perubahan breaking pindah ke /api/v2/ dengan pemberitahuan lebih dulu di Discord dan header sunset di path yang di-deprecate.
Penggunaan komersial
Penggunaan komersial diizinkan di bawah CC BY 4.0. Kalau kamu bikin sesuatu di atas API ini, kami senang dengar ceritanya di community Discord.
Telusuri setiap endpoint, semuanya di satu tempat
Telusuri setiap endpoint dengan deskripsi, tabel parameter, skema request dan response, dan sample kode di curl, JavaScript, dan Python. Cari seluruh API di satu kotak, deep-link ke operasi mana pun, share URL-nya.
- 100+ endpoint
- ·
- 3-pane navigasi, konten, sample
- ·
- full-text search
- ·
- sample request live