Salta al contenuto
Documentazione · Limiti ed errori

Limiti ed errori

Limiti dell'API per piano (al minuto, al mese, raggio, quanto indietro va lo storico voli), come si contano, gli header X-FIA-* e cosa fare con 400, 401, 403, 404, 429 e i blocchi Cloudflare.

Aggiornato il

PianoPrezzo (IVA esclusa)Richieste/minutoRichieste/meseRaggio massimoStorico voliTracceSorvoliEmergenzeAvvisi su un’areaAerei seguiti
Freegratis30300.000500 km7 giorni7 giorni————
Starter9 €/mese601.000.0001000 km14 giorni30 giorni10 km, 6 ore24 ore1—
Pro49 €/mese30010.000.000nessun limite30 giorni90 giorni50 km, 24 ore7 giorni5—
Fleet149 €/mese30010.000.000nessun limite90 giornidal 202250 km, 24 ore7 giorni525

Il piano Free ha anche un limite di 100 richieste al minuto per IP.

Come si contano

  • Ogni richiesta conta uno, qualunque endpoint, anche quelle fatte dagli strumenti MCP. Anche la ricerca di fino a 50 aerei in una richiesta conta uno.
  • I limiti sono per chiave: valgono le richieste di tutti i tuoi server e dispositivi insieme, da qualsiasi IP.
  • Il piano Free ha anche un limite di 100 richieste al minuto per IP.
  • Il contatore mensile riparte il primo del mese.
  • Una richiesta respinta per un limite non viene contata, e non si paga nulla oltre il piano.
  • Anche quanto indietro va lo storico voli dipende dal piano (tabella qui sopra). Una chiave Free con il vantaggio feeder ha i 30 giorni del Pro.
  • Anche quanti aerei l’account può seguire per gli avvisi di decollo e atterraggio dipende dal piano (tabella qui sopra). Gestirli (/v2/watch) e gestire i webhook (/v2/webhooks) non conta: al massimo 20 chiamate al minuto per chiave.
  • Dipendono dal piano anche le funzioni in più (tabella qui sopra): quanto indietro vanno le tracce, i sorvoli, le emergenze e gli aerei particolari, la pista in uso e quanti avvisi su un’area. Sorvoli, emergenze e pista partono da Starter. Una chiave Free con il vantaggio feeder ha le funzioni del Pro.

Ogni risposta riporta il tuo stato negli header:

HeaderValore
X-FIA-Planil piano della chiave (free, starter, pro, fleet, feeder)
X-FIA-Limit-Per-Minrichieste al minuto del piano
X-FIA-Quota-Monthrichieste al mese del piano
X-FIA-Used-Monthquelle usate questo mese

Errori

Il corpo è sempre JSON con un campo error. Con 401, 403 e 429 c’è anche help, il link alla risposta nelle domande frequenti; il 403 dello storico voli ha invece docs e plans, e gli errori degli aerei seguiti hanno docs (e plans nel 403 di /v2/watch).

CodiceQuandoCosa fare
400parametri non validi (lat/lon/dist must be numeric, icao must be a 6-character hex address, date must be YYYY-MM-DD)correggi la richiesta
400un’opzione delle liste non valida: un nome sconosciuto in fields (con allowed e presets), un with diverso da route, più di 50 valori separati da virgole, un /box con i bordi fuori intervallo o nell’ordine sbagliato, since non in secondi Unixcorreggi la richiesta; non viene contata
401missing or invalid X-Api-Keycontrolla header e chiave; una chiave rigenerata sostituisce la vecchia
403raggio oltre il massimo del piano: c’è max_radius_km; anche un /box con la metà della diagonale oltre il massimoriduci il raggio o il riquadro, dividi l’area in più richieste o passa a un piano superiore
403code: "flights-depth": storico voli più indietro di quanto permette il piano, con max_days e requested_dayschiedi giorni più recenti, oppure scegli un piano che va più indietro
403code: "plan-feature": una funzione che il piano non comprende, con feature (overflights, events, runways) e planscegli un piano che la comprende (tabella qui sopra); non viene contata
403code: "tracks-depth": tracce più indietro di quanto permette il piano, con max_days e requested_dayschiedi un giorno più recente o scegli un piano con tracce più lunghe; non viene contata
403code: "events-depth": emergenze e aerei particolari più indietro di quanto permette il piano, con max_hours e requested_hoursaccorcia since o scegli un piano che va più indietro; non viene contata
400code: "aircraft-invalid": un aereo in /v2/watch che non è un indirizzo ICAO, un’immatricolazione o un nominativocorreggilo; non si aggiunge niente della richiesta
403code: "watch-plan-required": seguire aerei, o un avviso di decollo e atterraggio, con un piano senza aerei seguitiscegli Fleet; elencare e togliere funzionano con ogni piano
409code: "watch-limit": più aerei seguiti di quanti ne permette il piano, con max, count e addingtogline qualcuno prima, o scrivici per averne di più; non si aggiunge niente della richiesta
409code: "area-webhook-limit": più avvisi su un’area di quanti ne permette il piano, con max_areatogline uno prima o scegli un piano con più avvisi
404not found: l’aereo non è visto in questo momento; tried, hint e, quando c’è, last_seen dicono perchécontrolla la forma del nominativo, oppure guarda il suo storico voli
429troppe richieste al minuto (header Retry-After) o quota del mese finita (c’è resets)aspetta Retry-After secondi; per la quota, il mese dopo o un piano superiore
503servizio momentaneamente non disponibile; sulla pista in uso, runway data is not available yet finché i suoi dati non sono caricatiriprova con un’attesa crescente

Bloccato da Cloudflare

Se ricevi una pagina HTML invece del JSON (“Sorry, you have been blocked”, “Attention Required”, codice 1010 o 1020), la richiesta è stata fermata prima dell’API.

  1. Manda sempre l’header X-Api-Key: le richieste a /v2/ senza chiave sono respinte a monte.
  2. Usa un User-Agent tuo, per esempio il nome della tua app.
  3. Se continua, scrivi a [email protected]. Indica l’ID CF-Ray in fondo alla pagina di errore, data e ora (UTC) e l’endpoint: con quelli troviamo la regola che ti ha fermato.