---
title: "Get CO₂e for road"
method: GET
path: "/co2/v2/direct/road"
tags: ["By mode of transport"]
---

# Get CO₂e for road

`GET /co2/v2/direct/road`

This endpoint returns CO2e emissions (i.e., CO2 equivalent emissions) in grams (g) for a voyage from a city to another by road. 

### Origin and destination 

The source and destination can be given either by locode or coordinates.
You must provide either `fromLocode` or `fromCoordinates` and either `toLocode` or `toCoordinates`.

The emissions are calculated using the real road network distance and based on the region. However, you can use the parameter `distance` (in meters) to pass your own distance (the origin and destination remain mandatory because the co2e computation is region-dependent).

Supported regions are: Europe, North America, Ocenia South America, Africa and Asia. Please note that both origin and destination must be in the same region. 

### Cargo specifications

Container specifications such as `nContainers`, `nContainers`, `weight` and `loadCharacteristics` define the cargo specifications. 

The following container types are supported by our API:
20GP, 22G1, 2200, 22G0, 2202, 2210 (20ft, General purpose (Standard)) [Default]
40GP, 42G1, 42G0, 40G1 (40ft, General purpose (Standard)), 
40HC, 45G1, 45G0, 4500, 4510 (40ft High cube, General Purpose),
22R1, 2231 (20ft, Reefer),
40NOR, 42R1, 4531 (40ft, Reefer),
40REHC, 45R1, 45R8 (40ft High cube, Reefer),
53GP (53ft High cube).

**Here are some use cases:**

#### Container 

For a container use the parameters `nContainers` and `containerSizeTypeCode`. 

If you also provide the `weight` of the goods, this value will take priority over the `nContainers`.
If `weight` is not provided, an average of 10 tons per TEU will be taken into account for CO2e calculations.

You can also pass a `truckSize` and a `fuelType`. Not all combinations are usable: in order to limit the errors and return CO2e emissions in most cases, we adapt `truckSize` and `fuel` parameters passed.

If you do not specify a `truckSize`, an appropiate one will be chosen for you (except if you pass one).

The parameters actually used are listed in the `properties` object of the response.

#### Average

If you do not specify the `weight` or the `loadCharacteristics`, we assume you have a cargo of type `AVERAGE_MIXED`. The default weight in that case is 1 metric ton of goods in the worst case scenario (smallest truck) (`loadCharacteristics = AVERAGE_MIXED or DEFAULT`).

If the `weight` is specified, you must also provide the size of the truck (gross vehicle weight in tons) except for North America, where the truck size is not taken into account.

### Truck specifications

For regions including Europe, South America, Africa and Asia, you can pass a `truckSize` (gross vehicle weight - GVW) for more accurate results. 

### Fuel specifications

For greater accuracy in CO2e values, you can specify the fuel type from the following options: 

- DIESEL
- CNG
- LNG
- HVO
- ELEC 
- BIOLNG 
- BIOCNG
- BIODIESEL
- HYDROGEN_GASEOUS_FCV

Diesel-Biodiesel blends:

- B1 (99% Diesel, 1% Biodiesel)
- B2 (98% Diesel, 2% Biodiesel)
- B5 (95% Diesel, 5% Biodiesel)
- B7 (93% Diesel, 7% Biodiesel)
- B10 (90% Diesel, 10% Biodiesel)
- B20 (80% Diesel, 20% Biodiesel)
- B30 (70% Diesel, 30% Biodiesel)
- B50 (50% Diesel, 50% Biodiesel)

For `ELEC` the calculation uses local emission factors from the origin.

Additionally, for vans weighing less than 3.5t, you may select `LPG` and `PETROL` as fuel options in regions including Europe, South America, Africa and Asia.

### Carrier specifications (North America)

We can compute CO2e for a given truck carrier (identified by its SCAC). This is only available in North America (the from/to locations should be within this region) and the computation uses SmartWay carrier data (Dray (CONTAINER) and Mix (AVERAGE_MIXED)).

You can use the parameter `carrierScac` (which is a carrier alpha code identifier) to select the carrier. 
Note that in that case we only support DIESEL as fuel type and the `truckSize` cannot be changed. If the SCAC passed is not valid or we don't have enough data to compute CO2e, the computation will be based on GLEC defaults. In that case, the `carrierScac` property in the field `properties` of the response is set to `null`.

### Response

The response contains WTW (well-to-wheels) CO2e emissions in grams (g) for the amount of goods carried and detailed emissions: WTT (well-to-tank) and TTW (tank-to-wheels). It also contains the intensity factor (kg of CO2e per ton.kilometer) which is calculated from the WTW CO2e emissions, the distance and the weight (in `properties`).

The field `parameters` contains the parameters that were passed in the query and the default values that were used. Depending on the combination of parameters you enter, the default values for other parameters may vary. For example, the default `truckSize` for average mixed goods is 3t while it is 33t for container. 

The field `properties` contains information about the data that was used for the calculation, for example the distance, some characteristics about the truck, the hypothesis made for load factor, etc. The property `dataType` indicates whether the data used to calculate the CO2 emissions is `default` data (representative of average operating practices) or `modeled` data (which takes into account specific vehicle information).

### Methodology references

The emissions are calculated using the GLEC framework or SmartWay Carrier data.
You can find detailed information about the calculation and the hypothesis in our Guide section.

## Query parameters

- `fromLocode` string
- `fromCoordinates` string
- `toLocode` string
- `toCoordinates` string
- `distance` integer
- `weight` integer
- `fuel` 'DIESEL' | 'CNG' | 'LNG' | 'HVO' | 'ELEC' | 'BIOLNG' | 'BIOCNG' | 'BIODIESEL' | 'PETROL' | 'LPG' | 'HYDROGEN_GASEOUS_FCV' | 'B1' | 'B2' | 'B5' | 'B7' | 'B10' | 'B20' | 'B30' | 'B50'
- `truckSize` integer
- `loadCharacteristics` 'AVERAGE_MIXED' | 'CONTAINER' | 'DEFAULT'
- `nContainers` integer
- `containerSizeTypeCode` '20GP' | '22G1' | '2200' | '22G0' | '2202' | '2210' | '40GP' | '42G1' | '42G0' | '40G1' | '40HC' | '45G1' | '4500' | '45G0' | '22R1' | '2231' | '42R1' | '4531' | '40NOR' | '45R1' | '45R8' | '40REHC' | '53GP'
- `carrierScac` string
- `containerSize` integer
- `containerType` string

## Response `200`

OK

## Other responses

- `400` — Bad request
- `404` — Not found

---

[API](https://skmtc.dev/searoutes/apis/geocoding.md) · [All operations](https://skmtc.dev/searoutes/apis/geocoding/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/searoutes/geocoding/revisions/59f769fc4f39/schema)
