Get detailed sea route plan 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 details about the zones it goes through. 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.

Waypoints returned

This endpoint additionally returns a list of waypoints of interest in the waypoints fields of the properties of each leg. The waypoints can be of different types :

  • VOYAGE for voyage scale events such as departure and arrival with class either ENTRY or EXIT;
  • ROUTING for special zones with class either ENTRY or EXIT;
  • SECA for ECA zones with class either ENTRY or EXIT;
  • SPEED for points where speed must be adjusted with class INCREASE, DECREASE or TARGET (only used to know the speed at departure when it must be different than the given speed).

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.
Path Params
string
required

A list of locations given as longitude,latitude pairs or UN/LOCODEs, separated by ;. Longitude should be between -180 and 180 degrees, and latitude between -90 and 90 degrees. You can specify up to 20 locations.

Query Params
boolean
Defaults to true

Allows to return either continuous longitudes when crossing the antimeridian (true) or longitudes always between -180° and 180° (false)

boolean
Defaults to false

Specifies if sailing in ice areas (Northern Sea route, deep South Pacific, deep South Atlantic, Bering Sea, etc) is possible.

boolean
Defaults to false

Specifies if travel in HRA zone should be avoided

boolean
Defaults to false

Specifies if travel in SECA zones should be avoided

integer

Specifies a particular routing area to block, or a list of routing areas to block (separated by ,). Typical routing areas are PANAMA:11112 and SUEZ:11117, other area Ids can be found using the /geocoding/area/{name}.

integer

Specifies departure time in unix time in ms.

integer

The IMO number of the vessel.

number

The speed of the vessel in km/h.

number

The speed of the vessel in knots.

number

The draft of the vessel in meters.

Responses

Language
Credentials
Header
Request
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json