Freight API

Calculate CO2e emissions for cargo and freight transport across road, rail, sea, and air.

Endpoint

<span class="api-method api-method-get">GET</span> /v1/freight/emissions

Parameters

Required Parameters

Parameter Type Description
origin_country string Origin country code (ISO 3166-1 alpha-2)
destination_country string Destination country code
weight number Cargo weight

Optional Parameters

Parameter Type Default Description
origin_location string - Origin city, address, or postcode
destination_location string - Destination city, address, or postcode
unit string kg Weight unit: kg, g, lb, tonne
transport_mode string auto road, rail, sea, air
vehicle_type string average Vehicle class
fuel_source string diesel Fuel type
equivalents boolean false Include real-world equivalents
detailed_route boolean false Include encoded polyline for map rendering

Fuel Sources

Value Description
diesel Standard diesel (default)
petrol Petrol/gasoline
electric Battery electric
hybrid Hybrid vehicle
hvo Hydrotreated Vegetable Oil
cng Compressed Natural Gas

Example Request

curl "https://api.emissions.dev/v1/freight/emissions?\
origin_country=GB&\
destination_country=DE&\
origin_location=London&\
destination_location=Berlin&\
weight=5000&\
transport_mode=road" \
  -H "Authorization: Bearer em_live_xxxxxxxxxxxx"

Example Response

{
  "data": {
    "type": "freight_emission",
    "id": "f33ee387-c1b3-4941-b5f1-9a61f144e1f2",
    "attributes": {
      "emissions": {
        "co2e": 156.78,
        "co2e_unit": "kg",
        "co2e_calculation_method": "ipcc_ar6_gwp100",
        "co2e_grams": 156780,
        "lifecycle_breakdown": {
          "unit": "kg",
          "vehicle_operation": 125.42,
          "energy_provision": 31.36
        },
        "ghg_protocol_scopes": {
          "asset_owner": {
            "scope_1": 125.42,
            "scope_3_category_3": 31.36
          },
          "freight_buyer": {
            "scope_3_category_4": 156.78
          }
        },
        "source_trail": [
          {
            "data_category": "emission_factor",
            "name": "Articulated HGV - Diesel",
            "source": "GLEC",
            "source_dataset": "Default fuel efficiency and GHG emission intensity values v3.1",
            "year": "2025",
            "region": "GLOBAL"
          }
        ]
      },
      "cargo": {
        "weight_input": 5000,
        "unit_input": "kg",
        "weight_normalized_kg": 5000,
        "cargo_tonnes": 5
      },
      "route": {
        "type": "direct",
        "total_distance_km": 1098,
        "transport_mode": "road",
        "origin": {
          "input": "London",
          "resolved": "London, Greater London, England, United Kingdom",
          "country_code": "GB",
          "lat": 51.5074,
          "lon": -0.1278
        },
        "destination": {
          "input": "Berlin",
          "resolved": "Berlin, Germany",
          "country_code": "DE",
          "lat": 52.52,
          "lon": 13.405
        }
      }
    }
  },
  "meta": {
    "methodology": "GLEC Framework v3.1",
    "emission_factors_year": 2025,
    "distance_method": "road_routing",
    "calculated_at": "2026-02-07T12:00:00Z"
  }
}

Transport Modes

Mode Description Typical Use
road Truck/lorry transport Default for connected landmasses
rail Freight train Lower emissions option
sea Container ship Cross-ocean routes
air Air freight Time-critical shipments

Emission Factors

We use the GLEC Framework v3.1 as our primary source:

Mode Factor Unit
Road (diesel) 62 g CO2e/tonne-km
Road (electric) 25-45 g CO2e/tonne-km (varies by grid)
Rail 22 g CO2e/tonne-km
Sea (container) 16 g CO2e/tonne-km
Air 1,090 g CO2e/tonne-km

Error Responses

Invalid Route

{
  "error": {
    "code": "invalid_route",
    "message": "Cannot use 'road' transport between GB and US.",
    "status": 422,
    "available_modes": ["air", "sea"]
  }
}

Invalid Country

{
  "error": {
    "code": "invalid_origin_country",
    "message": "Country code 'XX' not recognised.",
    "status": 422
  }
}