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