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
- Astronomical tide only — no meteorological surge, no river discharge.
- FES2022 vs FES2014: markedly better coastal accuracy (finer mesh, better bathymetry, more assimilation data). Open-ocean accuracy ~1 cm RMS; complex shelf areas remain harder for any global model.
- Our synthesis engine is validated constituent-by-constituent against
CNES's own
pyfesreference (equilibrium arguments to <0.2°, nodal factors to <0.3%). - Not for navigation. See our safety page.
FES2022 was produced by LEGOS, NOVELTIS and CLS, funded by CNES, and is distributed by AVISO.