SeaRoute API
Sea routes that stay on the water
Give it a start and an end point and it works out the route a ship would actually take, going around land rather than through it. It runs on a PostGIS/pgRouting grid that covers the world's oceans, with much finer detail around the Greek islands so routes take the real channels between them. What comes back is a list of points you can draw on a map.
What it does
Worldwide
The grid covers the world's oceans, so short island hops and long crossings both work. It's about 87 million points.
Detail where it's needed
Around the Aegean the points sit roughly 140 m apart. Close enough that routes go through the gaps between small islands instead of across them.
Quick to answer
Routes we've already seen are cached and come back in a few milliseconds. A brand new one takes a little longer the first time.
Easy to call
One HTTPS request with the two coordinates. The reply is a JSON array of [lat, lon] points.
Per-client keys
Every client gets its own key. You can tie a key to an IP or a website and put a rate limit on it.
Sensible distances
Measure along the line it returns and you get something close to the real voyage distance, not a straight line through islands.
Live Demo
It runs through a few example routes on its own. Click two points on the sea to try your own.