🛥️ Inland waters

🧭 Methodology

We follow the GLEC methodology, giving emission factors depending on the vessel type. We are using recommended GLEC intensity factors in conjunction with accurate distances, for which we leverage our routing API. You can see below a sample route in France along the Rhone returned by our API and based on AIS (from Fos-sur-Mer to Lyon). The route can be obtained with the following request :point-down:

curl --request GET 'https://api.searoutes.com/route/v2/sea/4.832439422607422,43.36213053699735;4.8291778564453125,45.74506605723834?vesselDraft=2' \
--header 'x-api-key: <your_api_key>'
Inland water road (For-sur-Mer to Lyon, France)Inland water road (For-sur-Mer to Lyon, France)

Inland water road (For-sur-Mer to Lyon, France)

Our emission calculation currently supports the following vessel types : MOTOR_VESSEL, COUPLED_CONVOY, PUSHED_CONVOY, TANKER, CONTAINER_VESSEL_110, CONTAINER_VESSEL_135 or CONTAINER_COUPLED

A sample query below :point-down:

curl --request GET 'https://api.searoutes.com/co2/v2/direct/inland-water?toLocode=FRLIO&fromLocode=FRFOS&vesselType=MOTOR_VESSEL&nContainers=1' \
--header 'x-api-key: <your_api_key_here>'
    "co2e": {
        "total": 94808,
        "wtt": 16884,
        "ttw": 77924
    "parameters": {
        "mode": "INLAND_WATER",
        "from": {
            "locode": "FRFOS",
            "coordinates": null
        "to": {
            "locode": "FRLIO",
            "coordinates": null
        "weight": null,
        "vesselType": "MOTOR_VESSEL",
        "nContainers": 1.0,
        "containerSize": null,
        "containerType": "STANDARD"
    "properties": {
        "dataType": "DEFAULT",
        "distance": 324684,
        "weight": 10000.0,
        "vessel": {
            "vesselType": "MOTOR_VESSEL",
            "minTonnage": 0.0,
            "maxTonnage": 1000.0,
            "combinedEmptyRunningLoadFactor": 0.55,
            "fuel": "DIESEL",
            "nBarges": null

Additional details can be found here : inland water CO2