The Travel Impact Model API exposes emission estimates computed according to the Travel Impact Model. These emission estimates are also shown on Google Flights and access to the API is also available via the Google Sheets Add-on.

The API is public and free of charge.

For authentication, you will need an API key.

The Travel Impact Model is a state of the art emission estimation model for flights.

The methodology is published on GitHub.

This API supports worldwide commercial flights that depart in the next 11 months.

Charter flights, private flights and cargo flights are not supported. Past flights are not supported. Please get in contact with us (see the Support page) if you have inquiries and feature requests.

The data exposed by this API is under the CC BY-SA 4.0 license.

Typical Flight Emissions are estimates of the greenhouse gas emissions produced per passenger travelling by air between two airports.

It is calculated using the flight emission estimates data and the methodology for how that dataset is created is published in GitHub. Typical flight emissions should not be used as a replacement for flight emissions estimates.

Scope 3 Flight Emissions dataset is designed to help companies and individuals calculate and report Scope 3, Category 6 air travel emissions from business travel. The full model output includes emission estimates from 2019 for scheduled worldwide commercial flights.

Get Flight Emissions Example

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": 2025, "month": 12, "day": 2}
      },
      {
        "origin": "CDG",
        "destination": "BOS",
        "operatingCarrierCode": "AF",
        "flightNumber": 334,
        "departureDate": {"year": 2025, "month": 12, "day": 1}
      },
      {
        "origin": "ZRH",
        "destination": "BOS",
        "operatingCarrierCode": "LX",
        "flightNumber": 52,
        "departureDate": {"year": 2025, "month": 11, "day": 1}
      }
    ]
  }'

The example includes a flight ZRH - BOS with a layover in CDG, and a flight ZRH - BOS.

The example command calls the REST endpoint using curl. In the command, you will have to replace $API_KEY with your API key. You might also need to adjust the flight details to match an existing upcoming flight.

Please see the Reference tab for the full documentation of resources exposed by this API. Both HTTP and RPC calls are supported.

{
  "flightEmissions": [
    {
      "flight": {
        "origin": "ZRH",
        "destination": "CDG",
        "operatingCarrierCode": "AF",
        "flightNumber": 1115,
        "departureDate": {
          "year": 2025,
          "month": 12,
          "day": 2
        }
      },
      "emissionsGramsPerPax": {
        "first": 100349,
        "business": 100349,
        "premiumEconomy": 66900,
        "economy": 66900
      },
      "source": "TIM",
      "contrailsImpactBucket": "CONTRAILS_IMPACT_MODERATE"
    },
    {
      "flight": {
        "origin": "CDG",
        "destination": "BOS",
        "operatingCarrierCode": "AF",
        "flightNumber": 334,
        "departureDate": {
          "year": 2025,
          "month": 12,
          "day": 1
        }
      },
      "emissionsGramsPerPax": {
        "first": 1650750,
        "business": 1320600,
        "premiumEconomy": 495224,
        "economy": 330150
      },
      "source": "TIM",
      "contrailsImpactBucket": "CONTRAILS_IMPACT_MODERATE"
    },
    {
      "flight": {
        "origin": "ZRH",
        "destination": "BOS",
        "operatingCarrierCode": "LX",
        "flightNumber": 52,
        "departureDate": {
          "year": 2025,
          "month": 11,
          "day": 1
        }
      },
      "emissionsGramsPerPax": {
        "first": 1557805,
        "business": 1246244,
        "premiumEconomy": 467341,
        "economy": 311561
      },
      "source": "TIM",
      "contrailsImpactBucket": "CONTRAILS_IMPACT_MODERATE"
    }
  ],
  "modelVersion": {
    "major": 3,
    "minor": 0,
    "patch": 0,
    "dated": "20250627"
  }
}

Sample response.

Get Typical Flight Emissions Example

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"
    },
  ]
}'

The example includes two markets ZRH-BOS and BOS-ZRH.

The example command calls the REST endpoint using curl. In the command, you will have to replace $API_KEY with your API key.

Please see the Reference tab for the full documentation of resources exposed by this API. Both HTTP and RPC calls are supported.

{
  "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"
  }
}

Sample response.

Get Scope 3 Flight Emissions Example

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
  }
}'

The example includes a TIM-based emissions request for flight KE71 from ICN to YVR on economy class, a typical flight emissions request for a flight between JFK and SFO on business class, and a distance-based emissions request for a 1,000 km flight on first class.

The example command calls the REST endpoint using curl. In the command, you will have to replace $API_KEY with your API key.

Please see the Reference tab for the full documentation of resources exposed by this API. Both HTTP and RPC calls are supported.

{
  "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
  }
}

Sample response.