For developers
Sea route & distance API
One GET request returns the practical sea route between any two ports or coordinates: distance in nautical miles, kilometers and statute miles, voyage time at your speed, the canals and straits used, and optional route geometry. Computed over the open Eurostat global shipping-lane network, the same class of network behind freight routing tools, at a fraction of incumbent API pricing.
The endpoint
curl "https://marine-os-lime.vercel.app/api/v1/searoute?from=SGSIN&to=NLRTM&speed=14&geometry=1" \ -H "Authorization: Bearer mos_your_key"
{
"from": { "name": "Singapore", "code": "SGSIN", "lat": 1.26, "lng": 103.83 },
"to": { "name": "Rotterdam", "code": "NLRTM", "lat": 51.92, "lng": 4.50 },
"distance": { "nm": 8439.2, "km": 15629.4, "mi": 9711.7 },
"hours": 602.8,
"passages": ["malacca", "suez", "gibraltar", "dover"],
"geometry": { "type": "LineString", "coordinates": [[103.83, 1.26], ...] }
}| Parameter | Description |
|---|---|
| from, to | UN/LOCODE (e.g. SGSIN) or "lat,lng". About 1,600 major ports resolve by code. |
| speed | Knots. When set, the response includes voyage hours. |
| avoid | Comma list of passages to route around: suez, panama, kiel, corinth, gibraltar, dover, bosporus, malacca, sunda, babelmandeb, ormuz, bering, magellan, northwest, northeast, cape_horn. |
| geometry | geometry=1 adds a GeoJSON LineString of the route. |
POST with a JSON body is also supported. Every response carries an X-Quota-Remaining header.
Pricing
Annual
Billed yearly ($9,588/yr). Save 33% vs monthly.
- 10,000 API calls per month
- All passages and route geometry included
- Email support from the founder
- Cancel anytime in Stripe
Monthly
No commitment.
- 10,000 API calls per month
- All passages and route geometry included
- Email support from the founder
- Cancel anytime in Stripe
Want to test first? Email support.marineos@gmail.com for a free 100-call trial key. Comparable sea-distance APIs list from roughly 400 EUR per month, so run the same queries against both and compare.
Honest scope
Distances are computed over the open Eurostat maritime network: realistic, planning-grade port-to-port figures of the kind freight tools publish. It is not a weather-routed or draft-optimized voyage plan, and it is not for navigation. If you need to sanity-check the output, our free sea distance pages publish the same engine's numbers for 56 known routes.
Frequently asked questions
How are the distances calculated?
Shortest path over the open Eurostat global shipping-lane network with your canal and strait choices applied, plus the exact start and end points stitched on. Distance is measured along that path; hours are distance divided by your speed.
What happens if I go over 10,000 calls?
Calls beyond the quota return HTTP 429 until the monthly reset. If you consistently need more, email us and we will set up a higher tier.
Which ports are supported?
About 1,600 major seaports resolve by UN/LOCODE, and any point on earth works as "lat,lng", which covers smaller harbors and offshore points.
How do I cancel?
Subscriptions run through Stripe and can be canceled anytime; your key stays active until the end of the paid period.