Per sviluppatori, redazioni e assistenti AI

API pubblica

Le regole per il trasporto di cani e gatti di 37 compagnie aeree, in JSON, senza registrazione e senza chiave. Gli stessi dati che alimentano il comparatore del sito, con la fonte ufficiale e la data di verifica accanto a ogni compagnia.

Base URLhttps://www.puppyonair.com/api/v1

Autenticazione — nessuna. Formato — JSON UTF-8. CORS — aperto, si può chiamare dal browser. Limite — 300 richieste all’ora per indirizzo IP.

Come è fatta una risposta

Ogni risposta ha sempre tre chiavi di primo livello: meta con i dati sulla richiesta, license con i termini d’uso, data con il contenuto. La licenza viaggia dentro la risposta di proposito: chi integra l’API non deve andare a cercare da un’altra parte cosa gli è concesso fare.

{
  "meta": {
    "api_version": "1.1",
    "generated_at": "2026-08-28T00:00:00Z",
    "total": 22,
    "count": 22,
    "limit": 50,
    "offset": 0,
    "sort": "score"
  },
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Puppyonair — https://www.puppyonair.com"
  },
  "data": [
    {
      "id": "LH",
      "name": "Lufthansa",
      "hub": "FRA",
      "score": 99,
      "cabin": {
        "allowed": true,
        "max_kg": 8,
        "carrier": "55 x 40 x 23 cm",
        "carrier_cm": {
          "l": 55,
          "w": 40,
          "h": 23
        },
        "fee_min_eur": 60,
        "fee_max_eur": 120
      },
      "hold": {
        "allowed": true,
        "max_kg": 75
      },
      "airports_served": 178,
      "policy_source": "https://www.lufthansa.com/de/en/animals-as-additional-carry-on-baggage",
      "href": "/api/v1/airlines/LH"
    }
  ]
}

Endpoint

GET /api/v1

Indice degli endpoint, in forma leggibile da una macchina. Utile come punto di partenza.

curl https://www.puppyonair.com/api/v1

GET /api/v1/meta

Versione, licenza, conteggi, data dell’ultima rigenerazione dei dati e data dell’ultimo controllo automatico delle pagine ufficiali.

curl https://www.puppyonair.com/api/v1/meta

GET /api/v1/airlines

Elenco delle compagnie, ordinate per punteggio pet-friendly. Risposta compatta: la lista completa degli aeroporti serviti sta solo nel dettaglio della singola compagnia.

ParametroSignificato
cabin=1solo compagnie che ammettono l’animale in cabina
hold=1solo compagnie che ammettono la stiva
min_kg=8peso minimo ammesso in cabina, animale più trasportino
airport=FCOsolo compagnie che servono quell’aeroporto
country=ITsolo compagnie che servono almeno un aeroporto in quel paese (ISO 3166-1 alpha-2)
q=luftricerca sul nome
sort=score|name|max_kgcriterio di ordinamento, default score
limit / offsetpaginazione, massimo 200 per pagina
curl 'https://www.puppyonair.com/api/v1/airlines?cabin=1&min_kg=8&sort=max_kg'

GET /api/v1/airlines/{id}

Una compagnia, con policy completa cabina e stiva, punteggio scomposto, elenco degli aeroporti serviti con città e paese, fonte ufficiale e media delle recensioni.

curl https://www.puppyonair.com/api/v1/airlines/LH

GET /api/v1/airports/{iata}

Un aeroporto e le compagnie che lo servono, ordinate per punteggio.

curl https://www.puppyonair.com/api/v1/airports/FCO

GET /api/v1/routes/{da}/{a}

Le compagnie che servono entrambi gli aeroporti, con evidenziata la migliore per il viaggio in cabina. Accetta anche la forma /routes/MXP-BCN.

curl https://www.puppyonair.com/api/v1/routes/MXP/BCN

Attenzione: significa «questa compagnia serve entrambi gli scali», non «esiste un volo diretto domani».

GET /api/v1/changelog

I cambiamenti rilevati automaticamente sulle pagine policy ufficiali delle compagnie monitorate. Ogni voce dice che la pagina è cambiata, non cosa è cambiato: va letta come «da riverificare».

ParametroSignificato
airline=LHfiltra per compagnia
limitmassimo 200
curl https://www.puppyonair.com/api/v1/changelog

GET /api/v1/reviews

Le recensioni approvate di chi ha volato con un animale, più le medie per compagnia. Nessun dato personale: solo il nome che l’autore ha scelto di mostrare.

ParametroSignificato
airline=LHfiltra per compagnia
limitmassimo 200
curl https://www.puppyonair.com/api/v1/reviews?airline=LH

GET /api/v1/flight-reports

Prove moderate e datate su posto pet, controlli al gate e compatibilità fra trasportino, aeromobile e posto.

ParametroSignificato
airline=ITAfiltra per compagnia
airport=FCOpartenza o arrivo
aircraft=A320famiglia o modello aeromobile
seat_type=standardstandard, bulkhead, exit o premium
curl 'https://www.puppyonair.com/api/v1/flight-reports?airline=ITA&aircraft=A320'

POST /api/v1/flight-reports

Invia una prova strutturata. Ogni invio resta in attesa finché non viene moderato; non sono accettati dati personali.

POST /api/v1/watch

Richiede un Trip Watch su una compagnia e un viaggio futuro. L’avviso si attiva soltanto dopo la conferma email (double opt-in).

Limiti e cache

Il tetto è di 300 richieste all’ora per IP. Ogni risposta porta gli header X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset; oltre il limite arriva un 429 con Retry-After.

Le risposte sui dati statici hanno un ETag e Cache-Control: max-age=3600. Rimandando l’ETag con If-None-Match si ottiene un 304 che non consuma banda e non conta ai fini del limite lato client.

curl -H 'If-None-Match: "a1b2c3d4e5f6"' \
     https://www.puppyonair.com/api/v1/airlines
# HTTP/1.1 304 Not Modified

Se ti serve tutto il dataset, non ciclare sugli endpoint: c’è il dump JSON completo, un file solo, aggiornato a ogni rigenerazione, servito come statico e fuori dal rate limit.

Errori

CodiceQuando
400parametro malformato: codice IATA non di tre lettere, rotta con origine uguale a destinazione
404compagnia, aeroporto o endpoint inesistente. Il corpo elenca i valori validi quando sono pochi
405metodo non supportato dall’endpoint; gli invii Flight Confidence accettano POST
429superato il limite orario
503dati non ancora generati sul server

Licenza e citazione

I dati sono rilasciati con licenza Creative Commons Attribuzione 4.0. Si possono usare, ripubblicare e modificare, anche per scopi commerciali, a una condizione: citare la fonte con un link.

Puppyonair, "Policy animali delle compagnie aeree",
https://www.puppyonair.com/api (consultato il GG/MM/AAAA),
licenza CC BY 4.0.

Se stai scrivendo un articolo e ti serve un dato che qui non c’è, scrivici: nella maggior parte dei casi il dato esiste e non è ancora esposto.

Da dove vengono i dati, e cosa non sono

Ogni compagnia ha un campo policy_source con l’URL della pagina ufficiale e un campo policy_verified_on con la data in cui quella pagina è stata letta a mano e confrontata con i valori pubblicati qui. Le compagnie con monitored: true sono anche controllate automaticamente: se la pagina ufficiale cambia, la variazione finisce nel registro degli aggiornamenti.

Questi dati non sostituiscono la conferma della compagnia. Le policy cambiano, i posti per animali in cabina sono limitati e contingentati per volo, e alcune regole dipendono dalla rotta e non solo dalla compagnia. Usali per orientarti e per scartare le opzioni impossibili, poi conferma prima di comprare.

Domande frequenti

Cerca un volo con il tuo animale