Skip to content
API pubblica · v1

API pubblica Pokékipe

Analitica competitiva Pokémon, gratuita, derivata dalle statistiche mensili di uso pubblicate da Smogon e rinfrescata ogni mese. Niente account per uso occasionale; genera una chiave personale dalle impostazioni del tuo account per alzare il tetto di rate-limit sui pull in volume.

  • Endpoint

    100+

  • Formati coperti

    30+

  • Refresh

    Mensile

  • Auth

    Opzionale

  • Licenza

    CC BY 4.0

Perché esiste

Cosa questa API è e cosa non è

Quattro cose da sapere prima di scrivere una sola riga di codice contro /api/v1/.

Cosa è questa API

Una superficie JSON in sola lettura sui dati Pokémon competitivi mondiali. Chiedi "qual è il meta della Gen 9 OU a 1500+ ELO questo mese?" o "chi ha counterato questo Pokémon nel top cut di questo torneo?", e ottieni una risposta in una sola chiamata con shape stabili e documentate.

Da dove vengono i dati

I battle log mensili di Smogon (il chaos JSON pubblico), i feed ufficiali di tornei (Pokémon Company, VGC, Smogon Tour), e fonti comunitarie come Limitless TCG per gli event community-run. Pokékipe fa la propria ingestion, normalizzazione e arricchimento sopra, e riespone il risultato pulito.

Cosa questa API non è

Non un ponte live verso Pokémon Showdown, non un simulatore di battaglia, non un endpoint di damage calculator, non un motore di teambuilding. Quei tool vivono sul sito. L'API è il layer dati sottostante.

Credito alle fonti

Tutto il credito va alle fonti. Smogon, gli esportatori del formato chaos JSON, e la comunità di giocatori che gioca i ladder ogni mese sono il motivo per cui questo dataset esiste. Pokékipe lo rende interrogabile, ma non possiede i dati grezzi.

Iniziare

La tua prima chiamata, in 30 secondi

Tre esempi copy-paste che fetchano il catalogo formati. Niente chiave API, niente setup, niente signup. Scegli il tuo tab linguaggio, incolla, esegui.

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

Sostituisci il path con qualsiasi endpoint listato nella reference qui sotto. La prima chiamata dovrebbe tornare in meno di un secondo a cache calda.

Autenticazione

Autenticazione e limiti di tasso

Le chiamate anonime funzionano per uso occasionale. Una chiave personale (gratuita, generata dalle impostazioni del tuo account) alza il tetto di rate-limit per analisti e tool-builder che scaricano dati in volume. Le chiavi non sbloccano mai nuovi endpoint; alzano solo il tetto.

Anonimo, senza chiave

Predefinito

Fai chiamate senza alcun header. Il bucket è indicizzato sul tuo IP, quindi un piccolo script o un agent LLM con una manciata di richieste per sessione non toccherà mai il limite.

  • Niente account, niente signup, nessun header da settare.
  • Bucket per IP, ottimo per script ad-hoc e tool-use di agent LLM.
  • Restituisce 429 se concateni pull di volume; passa allora a una chiave personale.

al minuto

60

al giorno

5,000

Autenticato, con chiave personale

Consigliato per il volume

Passa la tua chiave come X-API-Key (o Authorization: Bearer pk_live_…). Le chiamate anonime continuano a funzionare in parallelo; la chiave alza solo il tetto, non sblocca nuovi endpoint.

  • Bucket per utente: i tuoi cambi di IP non resettano il contatore.
  • Tetti più generosi su ogni limite per-route.
  • Fino a 5 chiavi attive per account, revocabili in qualsiasi momento.

al minuto

600

al giorno

100,000

Header su ogni risposta

Ogni risposta riuscita porta gli header di rate-limit qui sotto, così il tuo client può autoregolarsi senza retry. Leggili una volta per risposta e rallenta non appena Remaining si avvicina a poche richieste, non a zero.

HeaderSignificato
X-RateLimit-TierIl tier che ti riguarda: anonimo (senza chiave) o autenticato (JWT o chiave API risolta).
X-RateLimit-Limit-MinTetto al minuto per il tuo tier (60 anonimo, 600 autenticato).
X-RateLimit-Limit-DayTetto giornaliero per il tuo tier (5 000 anonimo, 100 000 autenticato).
X-RateLimit-Remaining-MinChiamate restanti nella finestra minuto corrente. Rallenta quando si avvicina a zero.
X-RateLimit-Remaining-DayChiamate restanti nella finestra giorno corrente. Reset alla stessa ora a muro ogni giorno.
Retry-AfterInviato solo su 429. Aspetta questi secondi prima di ritentare, di solito meno di 60 per la finestra minuto.

Errori

Errori che potresti vedere

Codici HTTP standard. Il body è sempre JSON con un campo "detail" che descrive il problema. Tratta 4xx come problema di contratto (la tua richiesta) e 5xx come problema dal nostro lato (ritenta con backoff).

200

OK

OK. Il body è il payload JSON documentato nella reference. Gli array vuoti significano "nessuna riga", non "mancante", trattali come dati, non come errore.

304

Not Modified

Not Modified. Gli header di cache sono stati validati. Usa il body in cache, nessun re-parse necessario. Restituito automaticamente quando invii If-None-Match o If-Modified-Since.

400

Bad Request

Bad Request. Un parametro di query o lo shape del body è errato. Il messaggio detail nomina il campo esatto. Non ritentare senza correggere l'input.

401

Unauthorized

Unauthorized. La richiesta richiedeva una chiave API o una sessione, e non ne ha ricevuta nessuna valida, oppure le credenziali sono state revocate. Non continuare a sparare, riemmetti la credenziale.

404

Not Found

Not Found. Il path o la risorsa non esiste. Per le route per-Pokémon, spesso significa che il formato non ha ancora dati di uso per quel Pokémon, non un typo dalla tua parte.

429

Too Many Requests

Too Many Requests. Hai toccato il tetto di rate-limit. Leggi Retry-After e aspetta. Backoff esponenziale è buon stile ma raramente necessario data la finestra corta.

500

Server Error

Internal Server Error. Qualcosa è esploso dal nostro lato. Ritenta una volta dopo qualche secondo; se persiste, scrivici su Discord con l'URL della richiesta.

503

Service Unavailable

Service Unavailable. Stiamo deployando o siamo temporaneamente sovraccarichi. Ritenta con backoff. Aggiornamenti di stato sul Discord della comunità.

Regole del gioco

Termini d'uso

Quattro regole base. Leggile una volta, risparmi un ping Discord al tuo io futuro.

Credito alle fonti

Attribuzione richiesta in caso di redistribuzione o ripubblicazione. Accredita Pokékipe (link a https://pokekipe.com), e accredita Smogon per il chaos JSON sottostante che pubblicano ogni mese.

Best-effort, niente SLA

Best-effort, niente SLA. I dati sono serviti "as is" senza garanzia di uptime. Cacha aggressivamente e degrada con grazia quando un endpoint è lento o restituisce 429.

Versionamento

Gli schemi sotto /api/v1/ restano retro-compatibili durante il ciclo di vita di v1. I breaking change vanno su /api/v2/ con preavviso su Discord e un header sunset sul path deprecato.

Uso commerciale

L'uso commerciale è permesso sotto CC BY 4.0. Se costruisci qualcosa sopra a questa API, ci farebbe piacere sentirlo sul Discord della comunità.

Reference · OpenAPI 3Live, tre-pannelli

Naviga ogni endpoint, tutto in un posto

Naviga ogni endpoint con descrizioni, tabelle parametri, schema di richiesta e risposta, e sample di codice in curl, JavaScript e Python. Cerca tutta l'API in un box, deeplink a qualsiasi operazione, condividi l'URL.

  • 100+ endpoint
  • ·
  • 3-pane navigazione, contenuto, sample
  • ·
  • ricerca full-text
  • ·
  • sample di richiesta live