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.