Get sea route between locations.

This endpoints returns the route between a source location and a target location on sea, along with the route distance (in meters), duration (in milliseconds) and the crossed areas. We return the shortest route sailed considering traffic separation schemes and port entries.

Locations: origin, destination and waypoints

Locations can be specified as coordinate pairs or UN/LOCODEs. Coordinate pairs are formatted as longitude,latitude. Each position should be separated by semicolons ;. You can add up to 20 positions, including waypoints on a route (up to 18), or request several legs of a trip in one go by listing more than two positions. For instance: -1.26617431640625,50.79551936692376;8.8330078125,53.88491634606499;-3.2409667968749996,53.50111704294316.

Vessel specific routes

You can get vessel specific routes by specifying the IMO number of a vessel. The returned route will be compatible with the vessel dimensions (width (in m), length (in m), maximum draft (in m)). If the IMO is not given, We choose a small vessel in order not to block any route.
You can also specify the current draft (in m) of the vessel using the parameter vesselDraft, with or without giving an IMO. If both IMO and vessel draft are given, the given draft (in m) is used and the other dimensions (width, length) are retrieved from the IMO number.
The response contains static information about the vessel used (width (in m), length (in m), maximum draft (in m)).

Continuous coordinates

Depending on the boolean parameter continuousCoordinates, the longitudes of the points of the route returned can be between -180ยฐ and 180ยฐ (false) or continuous (ie greater than 180ยฐ or lower than -180ยฐ after crossing the antimeridian).
The default behavior is to return continuous coordinates (the parameter is set to true as default). However, we encourage the use of normalized longitudes between -180ยฐ and 180ยฐ setting the parameter to true when requesting a route.

Routing parameters

Departure time and vessel speed

To compute an accurate ETA, you can specify:

  • Departure time using the departure parameter (Unix timestamp in milliseconds).
  • Vessel speed, either in km/h using speed, or in knots using speedInKts.
    If the route crosses restricted-speed zones (for example, canals), the system automatically applies area speed limits. Outside of those areas, the specified vessel speed is used.

Inland waterways navigation

Routing through inland waterways is supported, if the vessel draft allows it.

Zone preferences

ECA / SECA zones
Use the parameter avoidSeca=true to minimize the route travelled within Emission Control Areas (ECAs or SECAs).

HRA (High Risk Areas)
Use avoidHRA=true to minimize the route travelled in high-risk regions.

  • If none of your requested points are inside the HRA, the zone will be fully avoided.
  • Otherwise, the system reduces the route within the HRA as much as possible.
  • The distance sailed in HRA is available in the hraIntersection field of the response.

Ice areas

  • By default, some seas that are difficult to navigate due to ice (for example the Bering Sea, the Northern Sea Route) are avoided.
  • You can override this using allowIceAreas=true.

Blocked areas

  • Use the blockAreas parameter to manually exclude specific regions (Panama Canal: 11112, Suez Canal: 11117).
  • If your locations list includes a blocked area, the API returns a 400 error, with the index of the problematic location and the ID of the blocked area.

Support endpoints and resources

  • Browse the list of supported Block Areas to look up area IDs by name.
  • You can also use our Geocoding API to retrieve an area id from its name.
Language
Credentials
Header
Click Try It! to start a request and see the response here!