Tides API — FES2022 tide predictions

The Tides API predicts astronomical tide heights for any coastal or offshore point on Earth — no tide-station lookup, no "nearest station 40 km away". Predictions are computed from FES2022, the latest generation of the CNES/LEGOS/NOVELTIS/CLS global tide atlas (34 constituents on a 1/30° grid, assimilating three decades of altimetry), distributed by AVISO.

Because it is a model, any date works: past reconstruction and far-future planning cost the same one call.

Endpoint auth: API key (Authorization: Bearer tt_live_…)

Postman: a fully documented collection covering every thirdtrail API lives in the repo at docs/postman/ — import the collection + environment, set apiKey, and go.

GET /v1/tides/heights/

Water-height time series relative to mean sea level.

Param Required Notes
lat, lon yes decimal degrees
start_date no YYYY-MM-DD, default today (UTC). Past dates need a paid plan
days no window length; plan-capped
step no 1m 5m 10m 15m 30m 1h, default 10m; finest step is plan-gated
datum no msl (default) or lat (Lowest Astronomical Tide, Pro+)
tz / utc_offset / auto_timezone no output timezone
curl -H "Authorization: Bearer tt_live_…" \
  "https://thirdtrail.life/v1/tides/heights/?lat=48.383&lon=-4.495&days=2&step=30m"
{
  "resolved": {"model": "FES2022B", "timezone": "UTC", "datum": "MSL"},
  "heights": [
    {"time": "2026-07-25T00:00:00+00:00", "height_m": -1.891},
    {"time": "2026-07-25T00:30:00+00:00", "height_m": -1.634}
  ]
}

GET /v1/tides/extremes/

High and low waters (times + heights), parabolic-refined to seconds. Same parameters as /heights/ minus step.

GET /v1/tides/window/ (Starter+)

The coastal planning call: for each day, tide extremes plus sunrise, sunset, twilight, golden/blue hour and moon phase from our ephemerides engine — one request instead of two products. Built for photographers, anglers, drone pilots and shore crews.

Same parameters as /extremes/, plus:

Param Required Notes
elevation no metres above sea level, −500 to 9000. Applies to the sun and moon only
auto_elevation no derive it from lat / lon (Pro+)

Elevation matters here for the same reason it matters everywhere else in thirdtrail: the higher you stand, the earlier the sun clears the horizon. On top of a 214 m sea cliff sunrise is about three minutes earlier than at the water's edge, and every golden- and blue-hour boundary moves with it — a meaningful slice of a window that is only 20–40 minutes long.

Tide heights are not affected. How high the observer stands has no bearing on the ocean surface, which is why /heights/ and /extremes/ take no elevation parameter at all rather than accepting one and ignoring it. resolved.elevation_m and resolved.elevation_source (user, auto or default) report what was actually applied.

GET /v1/tides/constituents/ (Pro+)

The 34 harmonic constants (amplitude, Greenwich phase lag, angular speed) interpolated at your point — compute offline, verify our numbers, or feed your own synthesis.

POST /v1/tides/bulk/ (Pro+)

{"queries": [{"lat": …, "lon": …, "days": …}, …]} → extremes for up to 100 (Pro) / 1,000 (Business) locations per request.

Datums

Heights default to MSL. datum=lat (Pro+) re-references to Lowest Astronomical Tide computed from a full 18.6-year nodal scan at your exact point, and the response carries LAT/HAT/MHWS/MLWS offsets so you can re-reference to chart datum yourself.

Accuracy & limitations

FES2022 was produced by LEGOS, NOVELTIS and CLS, funded by CNES, and is distributed by AVISO.