Skip to content
API Publik · v1

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

Default

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

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

HeaderArti
X-RateLimit-TierTier kamu: anonim (tanpa key) atau terautentikasi (JWT atau API key terresolusi).
X-RateLimit-Limit-MinPlafon per-menit untuk tier kamu (60 anonim, 600 terautentikasi).
X-RateLimit-Limit-DayPlafon per-hari untuk tier kamu (5 000 anonim, 100 000 terautentikasi).
X-RateLimit-Remaining-MinPanggilan tersisa di window menit ini. Pelankan saat ini mendekati nol.
X-RateLimit-Remaining-DayPanggilan tersisa di window hari ini. Direset pada menit wall-clock yang sama setiap hari.
Retry-AfterDikirim 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).

200

OK

OK. Body adalah payload JSON yang didokumentasikan di reference. Array kosong artinya "tidak ada baris", bukan "hilang", perlakukan sebagai data, bukan kegagalan.

304

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.

400

Bad Request

Bad Request. Parameter query atau bentuk body salah. Pesan detail menyebut field tepatnya. Jangan retry tanpa memperbaiki input.

401

Unauthorized

Unauthorized. Request butuh API key atau session tapi dapat nihil, atau kredensialnya invalid/dicabut. Jangan terus menembak, terbitkan ulang kredensialnya.

404

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.

429

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.

500

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.

503

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.

Reference · OpenAPI 3Live, tiga-panel

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