Route Planner API
Calculate optimal sea routes between any two ports. Get precise distances, ETA predictions, ECA zone tracking, and canal crossings—all in one request.
Click to explore route details. Our API calculates optimal paths through major canals and straits.
From
Rotterdam
To
Singapore
8,432 nm
Total Distance
17 days
Est. Duration
Canals & Straits
Every request returns comprehensive route data including distance, duration, canal crossings, and waypoint coordinates for map visualization.
{
"routes": [
{
"fromPort": "NLRTM",
"toPort": "SGSIN",
"distance": {
"distance": 8432,
"unit": "kn"
},
"distanceInEca": {
"distance": 120,
"unit": "kn"
},
"crossing": [
"Suez Canal",
"Strait of Malacca"
],
"estimatedArrival": "2026-05-18T14:30:00Z",
"duration": {
"years": 0,
"month": 0,
"days": 17,
"hours": 6
},
"pathPoints": [
[
4.4792,
51.9225
],
[
-5.6,
35.9
],
[
32.3,
30.6
],
[
103.8,
1.3
]
]
}
]
}routesarrayOne entry per consecutive port pair in your request. If you pass two ports, you get one route; if you pass five, you get four routes.
[ { fromPort, toPort, distance, ... }, ... ]fromPort / toPortstringUN/LOCODE pair describing this leg of the chain.
"fromPort": "NLRTM", "toPort": "SGSIN"distanceobjectTotal leg distance along the optimal sea path. The unit field mirrors the backend value (currently "kn").
{ "distance": 8432, "unit": "kn" }distanceInEcaobjectDistance traveled within Emission Control Areas (ECAs) on this leg. Use for fuel planning and compliance.
{ "distance": 120, "unit": "kn" }crossingarrayCanals and straits the leg passes through. Useful for understanding transit fees and restrictions.
["Suez Canal", "Strait of Malacca"]estimatedArrivalstringCalculated arrival time at toPort in ISO 8601 format, based on the departure time and vessel speed provided.
"2026-05-18T14:30:00Z"durationobjectLeg duration broken down by time components for easy display.
{ "years": 0, "month": 0, "days": 17, "hours": 6 }pathPointsarrayArray of [longitude, latitude] coordinates along the leg (GeoJSON order), sampled approximately every 300 nautical miles.
[[4.4792, 51.9225], [-5.6, 35.9], ...]The pathPoints array provides coordinate waypoints sampled approximately every 300 nautical miles along the calculated route. This spacing is optimized to:
Example: Rotterdam to Singapore (8,432 nm)
One API request, complete route intelligence
Distance
8,432 nm
Precise nautical miles via optimal path
ETA
17d 6h
Based on your specified speed
Crossings
2 canals
Suez Canal, Strait of Malacca
ECA Distance
120 nm
For emissions planning
Route through or exclude any major canal or strait using the exclude_gateways parameter
suezSuez Canal
Middle East
panamaPanama Canal
Americas
malaccaStrait of Malacca
Asia
kielKiel Canal
Europe
messinaStrait of Messina
Europe
oresundOresund Strait
Europe
drakeDrake Passage
Americas
magellanStrait of Magellan
Americas
northeastNortheast Passage
Arctic
northwestNorthwest Passage
Arctic
corinthCorinth Canal
Europe
Get the vessel's current position, extract coordinates and speed, then calculate precise arrival predictions that update in real-time.
View Full WorkflowLocation → Route → Precise ETA
Any port worldwide using UN/LOCODE identifiers. Pass them in the ports parameter — a single comma-separated list of up to 5 codes (e.g., NLRTM,SGSIN for a single leg, or NOAKM,JPAIM,AEAJM for a 2-leg chain).
Yes. Pass up to 5 UN/LOCODEs to the ports parameter, separated by commas. The response will contain one entry in the routes array for each consecutive pair — so 3 ports gives you 2 routes, 5 ports gives you 4 routes.
estimatedArrival is calculated per leg using the vessel speed you provide and the optimal route distance, assuming constant speed. For real-time accuracy, combine with Vessel Location API data.
Yes, use the exclude_gateways parameter with a comma-separated list of gateways to avoid (e.g., "suez,panama"). The API will calculate alternative routes.
Emission Control Areas (ECAs) are designated maritime zones with stricter emission standards. Set eca=avoid to route around these zones for fuel planning purposes.
Each leg's pathPoints array contains coordinates in [longitude, latitude] order (GeoJSON convention), sampled approximately every 300 nautical miles. This provides enough waypoints to visualize the route on a map while keeping the response size manageable.
10 credits per request. Global port coverage. Up to 5 ports in a single chain.