The tides API for developers

Every tide on Earth, in one API call.

Send a coordinate and any moment, past or future, and get the exact tide height plus the next high and low back in milliseconds. One REST call returns the height and both turning times for any coordinate, at any moment past or future - the same shape whatever your users tap.

Free tier - 25,000 points a month, no credit card.

now +1.96 m next high +2 mnext low -2 m
tides · live
···
engine compute
total response
48.361°N, 4.549°W · Brest, France
1/30° native grid · ~3.7 km© OpenStreetMap · CARTO
A real request, every loop: each spot is a live call to our own API on a ~3.7 km ocean grid - the curve, the highs and lows, and the response time are exactly what it returned.

Pick a point and a time. Get the real tide back.

This is the live API - no key, no signup. Click anywhere on the map - even on land, where we snap to the nearest coast and show you the point we used; click well inland and there's honestly no ocean tide. Pick a moment and a datum, and watch the heights and the next high and low come back in milliseconds - the request and response below are exactly what your code would send and receive.

Loading playground…

The most precise tides on the planet, wherever your users tap.

One clean REST API returns the height and the turning times for any coordinate, at any date in history or the future. Validated against independent tide gauges and accurate to about a centimetre and a half at the coast, it returns the exact point it used - so you can trust what you render, anywhere on Earth.

~1.5 cm
typical at the coast
Any point
on Earth - not a station list
Any moment
past or future, on demand
~3 ms
typical warm response

Tide at the exact coordinate

Return the height at any point you send - a creek, a flat, a backwater - resolved at that spot, not at a station 20 km up the coast. The per-point series feeds whatever timing your app computes on top.

Height at an arbitrary position and time

The tide height at any coordinate for under-keel clearance and passage timing - and for a datetime any distance into the future, not just this week.

One call alongside other variables

Return a tide series that composites beside wind, swell, and UV. One global call resolves the tide for wherever your code queries the map.

Tide times at any coastal point

Tide times for any beach, cove, or coordinate you send - the full turning-time series at that spot, including the incoming tide that cuts off a low-water crossing.

The curve at the exact point

Pull the full tide curve for a precise coordinate, not the nearest station's regional average - so the stage reads true at the spot you queried, not 20 km up the coast.

Reference every tide to the level you actually need.

Heights come back from mean sea level by default. Pick a datum in the live demo above - or name one in any call - and the whole series re-references: to the chart datum a navigator reads, the spring high a harbour plans around, the lowest water a hull has to clear. We compute the full family at any point from an 18.6-year tidal reduction, and label every value computed or official.

LAT

Chart datum

The zero a nautical chart is drawn to. Ask for datum=LAT and every height reads as a depth a navigator trusts. Computed worldwide; official where a hydrographic office publishes one.

HAT / LAT

Astronomical extremes

The highest and lowest the tide reaches from astronomy alone - bridge and cable clearance, and the worst-case dry-out.

MHWS · MLWS · MHWN · MLWN

Springs & neaps

Mean high and low water at spring and neap tides - the levels a harbour and intertidal work are planned around.

MHW / MLW

Mean high & low water

The everyday high- and low-water average at the exact spot.

MHHW / MLLW

Diurnal extremes

The higher high and lower low of each tidal day. MLLW is the chart datum used across the Americas.

MTL · DTL

Tide levels

The mid-levels between the highs and lows - a steady reference to hang everything else on.

# default - heights from mean sea level
GET /v1/tides/heights?lat=48.36&lon=-4.55

# re-reference the whole series to chart datum
GET /v1/tides/heights?lat=48.36&lon=-4.55&datum=LAT

# the full family at a point, each value flagged
# computed (FES2022) or official
GET /v1/tides/datums?lat=48.36&lon=-4.55

Start free. Scale when you ship.

Free

$0/mo

25,000 points / month

  • 25,000 points / month
  • All products: Tides, Waters, Heavens
  • Multi-point batch endpoints
  • 1 API key
  • Community support
Start free

Seedling

$7/mo

150,000 points / month

  • 150,000 points / month
  • All products, one key
  • Multi-point batch endpoints
  • 2 API keys
  • Email support
Choose Seedling

Colossal

$79/mo

5,000,000 points / month

  • 5,000,000 points / month
  • All products, one key
  • Multi-point batch endpoints
  • Up to 20 API keys
  • Priority support & SLA
Choose Colossal

Need higher volume or an SLA? Talk to us.

Get your free key and run your first request in under a minute.

Get your free API key

Free tier - no credit card.