L'API Travel Impact Model espone le stime delle emissioni calcolate in base al Travel Impact Model. Queste stime delle emissioni vengono mostrate anche su Google Voli e l'accesso all'API è disponibile anche tramite il componente aggiuntivo di Fogli Google.

L'API è pubblica e senza costi.

Per l'autenticazione, avrai bisogno di una chiave API.

I dati esposti da questa API sono soggetti alla licenza CC BY-SA 4.0.

Il Travel Impact Model è un modello di stima delle emissioni all'avanguardia per i voli.

La metodologia è pubblicata su GitHub.

Contattaci (vedi la pagina di assistenza) se hai domande e richieste di funzionalità.

Le emissioni dei voli sono stime delle emissioni di gas serra prodotte per passeggero che viaggia su un volo specifico.

Questa API supporta i voli commerciali in tutto il mondo che partono nei prossimi 11 mesi. I voli charter, i voli privati e i voli cargo non sono supportati. I voli passati non sono supportati.

Le emissioni di un volo standard sono stime delle emissioni di gas serra prodotte per passeggero che viaggia in aereo tra due aeroporti.

Viene calcolato utilizzando i dati delle stime delle emissioni dei voli e la metodologia per la creazione del set di dati è pubblicata su GitHub. Le emissioni di un volo standard non devono essere utilizzate al posto delle stime delle emissioni dei voli.

Il set di dati sulle emissioni dei voli dell'ambito 3 è progettato per aiutare aziende e privati a calcolare e segnalare le emissioni dei viaggi aerei dell'ambito 3, categoria 6 derivanti dai viaggi di lavoro. L'output completo del modello include le stime delle emissioni dal 2019 per i voli commerciali programmati in tutto il mondo.

Le emissioni dettagliate dei voli sono stime trasparenti delle emissioni di gas serra per passeggero, integrate da metadati completi che descrivono in dettaglio la metodologia di calcolo, la suddivisione delle emissioni, l'impatto delle scie di condensazione e la provenienza dei dati.

Questa API supporta i voli commerciali in tutto il mondo con partenza nei prossimi 11 mesi. I voli charter, privati e cargo non sono supportati. I voli passati non sono supportati.

L'API Travel Impact Model supporta il protocollo MCP (Model Context Protocol). Gli agenti AI e i modelli linguistici di grandi dimensioni possono utilizzare l'endpoint MCP per scoprire e utilizzare dinamicamente le funzionalità dell'API.

Per informazioni dettagliate su come utilizzare l'endpoint MCP, consulta la guida all'integrazione di MCP.

Visualizzare l'esempio di emissioni del volo

curl https://travelimpactmodel.googleapis.com/v1/flights:computeFlightEmissions?key=$API_KEY \
  -H "Content-Type: application/json" -d \
  '{
    "flights": [
      {
        "origin": "ZRH",
        "destination": "CDG",
        "operatingCarrierCode": "AF",
        "flightNumber": 1115,
        "departureDate": {"year": 2026, "month": 10, "day": 2}
      },
      {
        "origin": "CDG",
        "destination": "BOS",
        "operatingCarrierCode": "AF",
        "flightNumber": 334,
        "departureDate": {"year": 2026, "month": 10, "day": 1}
      },
      {
        "origin": "ZRH",
        "destination": "BOS",
        "operatingCarrierCode": "LX",
        "flightNumber": 52,
        "departureDate": {"year": 2026, "month": 9, "day": 1}
      }
    ]
  }'

L'esempio include un volo ZRH - BOS con scalo a CDG e un volo ZRH - BOS.

Il comando di esempio chiama l'endpoint REST utilizzando curl. Nel comando, dovrai sostituire $API_KEY con la tua chiave API. Potresti anche dover modificare i dettagli del volo in modo che corrispondano a un volo in partenza esistente.

Consulta la scheda Riferimento per la documentazione completa delle risorse esposte da questa API. Sono supportate sia le chiamate HTTP che RPC.

{
  "flightEmissions": [
    {
      "flight": {
        "origin": "ZRH",
        "destination": "CDG",
        "operatingCarrierCode": "AF",
        "flightNumber": 1115,
        "departureDate": {
          "year": 2026,
          "month": 10,
          "day": 2
        }
      },
      "emissionsGramsPerPax": {
        "first": 100360,
        "business": 100360,
        "premiumEconomy": 66907,
        "economy": 66907
      },
      "source": "TIM",
      "contrailsImpactBucket": "CONTRAILS_IMPACT_MODERATE"
    },
    {
      "flight": {
        "origin": "CDG",
        "destination": "BOS",
        "operatingCarrierCode": "AF",
        "flightNumber": 334,
        "departureDate": {
          "year": 2026,
          "month": 10,
          "day": 1
        }
      },
      "emissionsGramsPerPax": {
        "first": 1549875,
        "business": 1239900,
        "premiumEconomy": 464962,
        "economy": 309975
      },
      "source": "TIM",
      "contrailsImpactBucket": "CONTRAILS_IMPACT_MODERATE"
    },
    {
      "flight": {
        "origin": "ZRH",
        "destination": "BOS",
        "operatingCarrierCode": "LX",
        "flightNumber": 52,
        "departureDate": {
          "year": 2026,
          "month": 9,
          "day": 1
        }
      },
      "emissionsGramsPerPax": {
        "first": 1412110,
        "business": 1129688,
        "premiumEconomy": 423632,
        "economy": 282422
      },
      "source": "TIM",
      "contrailsImpactBucket": "CONTRAILS_IMPACT_MODERATE"
    }
  ],
  "modelVersion": {
    "major": 3,
    "minor": 0,
    "patch": 0,
    "dated": "20251013"
  }
}

Esempio di risposta.

Visualizzare un esempio di emissioni di un volo standard

curl https://travelimpactmodel.googleapis.com/v1/flights:computeTypicalFlightEmissions?key=$API_KEY \
-H "Content-Type: application/json" -d \
'{
  "markets": [
    {
      "origin": "ZRH",
      "destination": "BOS"
    },
    {
      "origin": "BOS",
      "destination": "ZRH"
    },
  ]
}'

L'esempio include due mercati: ZRH-BOS e BOS-ZRH.

Il comando di esempio chiama l'endpoint REST utilizzando curl. Nel comando, dovrai sostituire $API_KEY con la tua chiave API.

Consulta la scheda Riferimento per la documentazione completa delle risorse esposte da questa API. Sono supportate sia le chiamate HTTP che RPC.

{
  "typicalFlightEmissions": [
    {
      "market": {
        "origin": "ZRH",
        "destination": "BOS"
      },
      "emissionsGramsPerPax": {
        "first": 1721684,
        "business": 1411005,
        "premiumEconomy": 566775,
        "economy": 406535
      }
    },
    {
      "market": {
        "origin": "BOS",
        "destination": "ZRH"
      },
      "emissionsGramsPerPax": {
        "first": 2149656,
        "business": 1737021,
        "premiumEconomy": 688646,
        "economy": 488115
      }
    }
  ],
  "modelVersion": {
    "major": 2,
    "minor": 0,
    "patch": 0,
    "dated": "20250131"
  }
}

Esempio di risposta.

Esempio di emissioni dei voli di Scope 3

curl https://travelimpactmodel.googleapis.com/v1/flights:computeScope3FlightEmissions?key=$API_KEY \
-H "Content-Type: application/json" -d \
'{
  "flights": [{
    "departureDate": {
      "year": 2025,
      "month": 5,
      "day": 13
    },
    "cabinClass": "ECONOMY",
    "origin": "ICN",
    "destination": "YVR",
    "carrierCode": "KE",
    "flightNumber": 71
  }, {
    "departureDate": {
      "year": 2025,
      "month": 1,
      "day": 1
    },
    "cabinClass": "BUSINESS",
    "origin": "JFK",
    "destination": "SFO"
  }, {
    "departureDate": {
      "year": 2025,
      "month": 1,
      "day": 1
    },
    "cabinClass": "FIRST",
    "distanceKm": "1000"
  }],
  "modelVersion": {
    "major": 2,
    "minor": 0
  }
}'

L'esempio include una richiesta di emissioni basata sul tempo per il volo KE71 da ICN a YVR in classe economy, una richiesta di emissioni di volo tipica per un volo tra JFK e SFO in classe business e una richiesta di emissioni basata sulla distanza per un volo di 1000 km in prima classe.

Il comando di esempio chiama l'endpoint REST utilizzando curl. Nel comando, dovrai sostituire $API_KEY con la tua chiave API.

Consulta la scheda Riferimento per la documentazione completa delle risorse esposte da questa API. Sono supportate sia le chiamate HTTP che RPC.

{
  "flightEmissions": [{
    "flight": {
      "departureDate": {
        "year": 2025,
        "month": 5,
        "day": 13
      },
      "cabinClass": "ECONOMY",
      "origin": "ICN",
      "destination": "YVR",
      "carrierCode": "KE",
      "flightNumber": 71
    },
    "wtwEmissionsGramsPerPax": "429613",
    "source": "TIM_EMISSIONS",
    "ttwEmissionsGramsPerPax": "357207",
    "wttEmissionsGramsPerPax": "72406"
  }, {
    "flight": {
      "departureDate": {
        "year": 2025,
      },
      "cabinClass": "BUSINESS",
      "origin": "JFK",
      "destination": "SFO"
    },
    "wtwEmissionsGramsPerPax": "885184",
    "source": "TYPICAL_FLIGHT_EMISSIONS",
    "ttwEmissionsGramsPerPax": "735997",
    "wttEmissionsGramsPerPax": "149187"
  }, {
    "flight": {
      "departureDate": {
        "year": 2025,
        "month": 0,
        "day": 0
      },
      "cabinClass": "FIRST",
      "distanceKm": "1000"
    },
    "wtwEmissionsGramsPerPax": "328000",
    "source": "DISTANCE_BASED_EMISSIONS",
    "ttwEmissionsGramsPerPax": "273000",
    "wttEmissionsGramsPerPax": "55000"
  }],
  "modelVersion": {
    "major": 2,
    "minor": 0
  }
}

Esempio di risposta.

Esempio dettagliato delle emissioni dei voli

curl https://travelimpactmodel.googleapis.com/v1/flights:computeDetailedFlightEmissions?key=$API_KEY \
-H "Content-Type: application/json" -d '{
  "flights": [
    {
      "origin": "ZRH",
      "destination": "BOS",
      "operatingCarrierCode": "LX",
      "flightNumber": 52,
      "departureDate": {"year": 2026, "month": 10, "day": 30}
    }
  ]
}'

L'esempio include un solo periodo di pubblicazione ZRH - BOS.

Il comando di esempio chiama l'endpoint REST utilizzando curl. Nel comando, dovrai sostituire $API_KEY con la tua chiave API. Potresti anche dover modificare i dettagli del volo in modo che corrispondano a un volo in partenza esistente.

Consulta la scheda Riferimento per la documentazione completa delle risorse esposte da questa API. Sono supportate sia le chiamate HTTP che RPC.

{
  "flightsWithDetailedEmissions": [
    {
      "flight": {
        "origin": "ZRH",
        "destination": "BOS",
        "operatingCarrierCode": "LX",
        "flightNumber": 52,
        "departureDate": {
          "year": 2026,
          "month": 10,
          "day": 30
        }
      },
      "flightEmissionsDetails": {
        "emissionsGramsPerPax": {
          "first": 1546945,
          "business": 1237556,
          "premiumEconomy": 464083,
          "economy": 309389
        },
        "emissionsBreakdown": {
          "wttEmissionsGramsPerPax": {
            "first": 260720,
            "business": 208576,
            "premiumEconomy": 78216,
            "economy": 52144
          },
          "ttwEmissionsGramsPerPax": {
            "first": 1286225,
            "business": 1028980,
            "premiumEconomy": 385867,
            "economy": 257245
          }
        },
        "contrailsImpactBucket": "CONTRAILS_IMPACT_MODERATE",
        "source": "TIM"
      },
      "emissionsMetadata": {
        "emissionsProvenance": {
          "provenanceEntries": [
            {
              "provenanceEntryType": "FUEL_BURN",
              "source": "EEA",
              "fuelBurnEeaStrategy": "AIRCRAFT_MAPPING_EXACT",
              "dataCategory": "PRIMARY"
            },
            {
              "provenanceEntryType": "LOAD_FACTORS",
              "source": "T100",
              "sourceVersion": "2025-11",
              "loadFactorsT100Strategy": "CARRIER_ROUTE_MONTH",
              "dataCategory": "MODELED",
              "loadFactorsData": 0.83758790874357414
            },
            {
              "provenanceEntryType": "CARGO_MASS_FRACTION",
              "source": "T100",
              "sourceVersion": "2026-2",
              "cargoMassFractionT100Strategy": "CARRIER_ROUTE_AIRCRAFT_CLASS",
              "dataCategory": "MODELED",
              "cargoMassFractionData": 0.2935313907054376
            },
            {
              "provenanceEntryType": "SEATING_CONFIG",
              "source": "OPERATING_CARRIER",
              "dataCategory": "PRIMARY"
            },
            {
              "provenanceEntryType": "SEAT_AREA_RATIOS",
              "source": "IATA",
              "sourceVersion": "IATA_RP_1726",
              "dataCategory": "DEFAULT",
              "seatAreaRatioIataStrategy": "WIDE_AIRCRAFT_BODY",
              "seatAreaRatioData": {
                "first": 5,
                "business": 4,
                "premiumEconomy": 1.5,
                "economy": 1
              }
            },
            {
              "provenanceEntryType": "DISTANCE_ADJUSTMENT",
              "source": "ICL",
              "dataCategory": "MODELED",
              "distanceAdjustmentStrategy": "ORIGIN_DESTINATION",
              "estimatedFlightDistanceKm": 6119
            }
          ]
        },
        "timWebsiteEmissionsCalculatorUrl": "https://travelimpactmodel.org/lookup/flight?itinerary=ZRH-BOS-LX-52-20261030"
      }
    }
  ],
  "modelVersion": {
    "major": 3,
    "minor": 0,
    "patch": 0,
    "dated": "20260610"
  }
}

Esempio di risposta.