Home

Carbon Emissions API

version 1

API for calculating the greenhouse gas emissions of a freight shipment by ISO 14083 and the GLEC Framework. Supports road, rail, sea, air and multimodal transport chains, finds the route between two places, and takes your own fuel consumption data. Returns well-to-wheel, tank-to-wheel and well-to-tank CO2e for every leg, with the factor and source behind each figure.

OpenAPI Specification

Get started with your API integration in just a few minutes. The OpenAPI specification provides a complete overview of all available endpoints, request parameters, authentication methods, and response formats, allowing you to easily explore, test, and interact with the API.

General information

Carbon Emissions API is organized around REST.
The API uses predictable resource-based URLs, accepts a JSON request body, returns responses in JSON format, and relies on standard HTTP methods, status codes, and authentication mechanisms.

API endpoint#

1https://api.qubictron.com/co2/v1

All endpoints are only accessible via HTTPS and are located at api.qubictron.com

Methodology#

Emissions follow ISO 14083:2023 with the default values of the GLEC Framework v3.1 (Europe tables where GLEC gives regional ones). Every figure comes as well-to-wheel (WTW, the one to report), tank-to-wheel (TTW, fuel burnt by the vehicle) and well-to-tank (WTT = WTW − TTW), in kilograms of CO2e. Hub operations (terminals, warehouses) and the non-CO2 effects of aviation at altitude are not included. Each section of a route carries a basis with the factor used and its GLEC source.

Legs and routing#

A shipment is a list of up to 10 legs. A leg with from and to is routed by the Qubictron Transit Time API and may come back as several sections of different modes, each calculated by its own mode; a found route is kept for 24 hours. A leg with distance_km is not routed. multimodal lets the router build a road – sea – road chain; give rail and air as legs of their own.

Distances#

Distances are the shortest feasible distance (great-circle between airports for air), as ISO 14083 measures transport activity. GLEC's default intensities already include its distance adjustment, so it is not added again. A fuel consumption rate per 100 km is applied to the distance really travelled: the shortest one × 1.05 by road, × 1.15 by sea, + 95 km by air.

Own fuel data#

With fuel, a leg is calculated from your consumption instead of the defaults: fuel used × the fuel's emission factor × the cargo's share of the vehicle load (cargo weight / load_kg). Without load_kg the shipment carries all of the fuel.

Errors#

Always read success and status_code from the response body; do not rely on the HTTP status alone. See HTTP Response Codes.

Calculate shipment emissions

post/emissions

Returns the emissions of a shipment for every leg and section of its transport chain and in total:

  • Well-to-wheel (WTW), tank-to-wheel (TTW) and well-to-tank (WTT) CO2e
  • Distance, tonne-km and emission intensity
  • The route found for legs given by places, with transit time and, on request, alternative routes
  • The basis of every figure: the factor, its source and, for fuel data, the cargo's share

A section emits its tonne-km times the GLEC default intensity of its vehicle type, or, with the carrier's own fuel data, the fuel used times the fuel's emission factor times the cargo's share of the vehicle load. Hub operations (terminals, warehouses) and the non-CO2 effects of aviation at altitude are not included. Routes found for legs given by places are kept for 24 hours.

Headers

Content-Typeapplication/json

Body Parameters
  • cargoREQUIREDobject

    The cargo, by weight or by containers: exactly one of weight_kg and teu.

  • legsREQUIREDarray[object]

    1 to 10 legs of the transport chain, in the order the cargo travels them.

Request sample
{
  "cargo": {
    "weight_kg": 12000
  },
  "legs": [
    {
      "mode": "road",
      "from": "Paris",
      "to": "Lyon"
    }
  ]
}
Response example

Emissions calculated.

Multimodal, Berlin - Shanghai by road and sea
1{
2  "success": true,
3  "status_code": "OK",
4  "metadata": {
5    "request_parameters": {
6      "cargo": {
7        "weight_kg": 12000
8      },
9      "legs": [
10        {
11          "mode": "multimodal",
12          "from": "Berlin, Germany",
13          "to": "Shanghai"
14        }
15      ]
16    },
17    "methodology": {
18      "standard": "ISO 14083:2023",
19      "factors": "GLEC Framework v3.1 default values (Europe tables where regional)",
20      "scope": "Well-to-wheel (WTW) = tank-to-wheel (TTW) + well-to-tank (WTT), kg CO2e",
21      "boundary": "Transport operations only: hub operations and the non-CO2 effects of aviation at altitude are excluded"
22    }
23  },
24  "data": {
25    "weight_tonnes": 12,
26    "distance_km": 20228.7,
27    "tonne_km": 242744.3,
28    "emissions": {
29      "co2e_wtw_kg": 2080.66,
30      "co2e_ttw_kg": 1739.83,
31      "co2e_wtt_kg": 340.83
32    },
33    "intensity_g_per_tkm": 8.57,
34    "legs": [
35      {
36        "mode": "multimodal",
37        "from": {
38          "name": "Mitte",
39          "country_code": "DE",
40          "locode": null,
41          "lat": 52.52003,
42          "lng": 13.40489
43        },
44        "to": {
45          "name": "Shanghai",
46          "country_code": "CN",
47          "locode": "CNSHG",
48          "lat": 31.366365,
49          "lng": 121.61475
50        },
51        "duration_hours": 776.4,
52        "distance_km": 20228.7,
53        "tonne_km": 242744.3,
54        "emissions": {
55          "co2e_wtw_kg": 2080.66,
56          "co2e_ttw_kg": 1739.83,
57          "co2e_wtt_kg": 340.83
58        },
59        "intensity_g_per_tkm": 8.57,
60        "sections": [
61          {
62            "mode": "road",
63            "from": {
64              "name": "Mitte",
65              "country_code": "DE",
66              "locode": null,
67              "lat": 52.52003,
68              "lng": 13.40489
69            },
70            "to": {
71              "name": "Hamburg",
72              "country_code": "DE",
73              "locode": "DEHAM",
74              "lat": 53.55073,
75              "lng": 9.99302
76            },
77            "distance_km": 280.9,
78            "tonne_km": 3370.4,
79            "emissions": {
80              "co2e_wtw_kg": 340.41,
81              "co2e_ttw_kg": 262.89,
82              "co2e_wtt_kg": 77.52
83            },
84            "intensity_g_per_tkm": 101,
85            "basis": {
86              "method": "default_intensity",
87              "vehicle_type": "artic_40t",
88              "intensity_wtw_g_per_tkm": 101,
89              "intensity_ttw_g_per_tkm": 78,
90              "source": "GLEC v3.1 Table 8 (Europe road, diesel, average/mixed load)"
91            }
92          },
93          {
94            "mode": "sea",
95            "from": {
96              "name": "Hamburg",
97              "country_code": "DE",
98              "locode": "DEHAM",
99              "lat": 53.55073,
100              "lng": 9.99302
101            },
102            "to": {
103              "name": "Shanghai",
104              "country_code": "CN",
105              "locode": "CNSHG",
106              "lat": 31.366365,
107              "lng": 121.61475
108            },
109            "distance_km": 19947.8,
110            "tonne_km": 239373.9,
111            "emissions": {
112              "co2e_wtw_kg": 1740.25,
113              "co2e_ttw_kg": 1476.94,
114              "co2e_wtt_kg": 263.31
115            },
116            "intensity_g_per_tkm": 7.27,
117            "basis": {
118              "method": "default_intensity",
119              "vehicle_type": "container_ship",
120              "intensity_wtw_g_per_tkm": 7.27,
121              "intensity_ttw_g_per_tkm": 6.17,
122              "source": "GLEC v3.1 Table 14 (Clean Cargo industry average, dry, 10 t/TEU)"
123            }
124          }
125        ]
126      }
127    ]
128  }
129}
Road with the carrier's own consumption
1{
2  "success": true,
3  "status_code": "OK",
4  "metadata": {
5    "request_parameters": {
6      "cargo": {
7        "weight_kg": 12000
8      },
9      "legs": [
10        {
11          "mode": "road",
12          "from": "Paris",
13          "to": "Lyon",
14          "vehicle_type": "artic_40t",
15          "fuel": {
16            "type": "diesel",
17            "amount": 30,
18            "unit": "l/100km",
19            "load_kg": 20000
20          }
21        }
22      ]
23    },
24    "methodology": {
25      "standard": "ISO 14083:2023",
26      "factors": "GLEC Framework v3.1 default values (Europe tables where regional)",
27      "scope": "Well-to-wheel (WTW) = tank-to-wheel (TTW) + well-to-tank (WTT), kg CO2e",
28      "boundary": "Transport operations only: hub operations and the non-CO2 effects of aviation at altitude are excluded"
29    }
30  },
31  "data": {
32    "weight_tonnes": 12,
33    "distance_km": 432,
34    "tonne_km": 5184.4,
35    "emissions": {
36      "co2e_wtw_kg": 283.99,
37      "co2e_ttw_kg": 218.26,
38      "co2e_wtt_kg": 65.73
39    },
40    "intensity_g_per_tkm": 54.78,
41    "legs": [
42      {
43        "mode": "road",
44        "from": {
45          "name": "Paris",
46          "country_code": "FR",
47          "locode": "FRPAR",
48          "lat": 48.85341,
49          "lng": 2.3488
50        },
51        "to": {
52          "name": "Bellecour Cordeliers",
53          "country_code": "FR",
54          "locode": null,
55          "lat": 45.76162,
56          "lng": 4.83513
57        },
58        "duration_hours": 10.8,
59        "distance_km": 432,
60        "tonne_km": 5184.4,
61        "emissions": {
62          "co2e_wtw_kg": 283.99,
63          "co2e_ttw_kg": 218.26,
64          "co2e_wtt_kg": 65.73
65        },
66        "intensity_g_per_tkm": 54.78,
67        "sections": [
68          {
69            "mode": "road",
70            "from": {
71              "name": "Paris",
72              "country_code": "FR",
73              "locode": "FRPAR",
74              "lat": 48.85341,
75              "lng": 2.3488
76            },
77            "to": {
78              "name": "Bellecour Cordeliers",
79              "country_code": "FR",
80              "locode": null,
81              "lat": 45.76162,
82              "lng": 4.83513
83            },
84            "distance_km": 432,
85            "tonne_km": 5184.4,
86            "emissions": {
87              "co2e_wtw_kg": 283.99,
88              "co2e_ttw_kg": 218.26,
89              "co2e_wtt_kg": 65.73
90            },
91            "intensity_g_per_tkm": 54.78,
92            "basis": {
93              "method": "fuel",
94              "fuel_type": "diesel",
95              "travelled_km": 453.6,
96              "fuel_used": 136.091,
97              "fuel_unit": "l",
98              "cargo_share": 0.6,
99              "factor_wtw_kg_per_unit": 3.478,
100              "factor_ttw_kg_per_unit": 2.673,
101              "source": "GLEC v3.1 p.77 (diesel, Europe, density 0.83)"
102            }
103          }
104        ]
105      }
106    ]
107  }
108}

Qubictron 2026—Contact us