Tide

Open JSON API

Tide times for 50 harbours · free · no sign-up

Want to show tide times in your own system? Here is the data on fixed URLs that will not change when the website does. No sign-up, no key, no rate limit — just static JSON files.

Endpoints

https://tide.is/api/v1/stations.jsonAll harbours with coordinates and links.
https://tide.is/api/v1/tides/<id>.jsonTide times for one harbour across the whole forecast horizon — e.g. reykjavik, akureyri, isafjordur.

Response

Events are grouped by date, so there is nothing to search — just look up the day you need:

{
  "station": { "id": "reykjavik", "name": "Reykjavík", "measured": true, … },
  "data":    { "timezone": "UTC", "height_unit": "m", "to": "2028-12-31", … },
  "days": {
    "2027-09-16": [
      { "time": "00:30", "type": "low", "height": 0.46 },
      { "time": "06:32", "type": "high", "height": 3.85 }, …
    ], …
  }
}

Iceland stays on UTC all year, so "time" is local Icelandic time.

measured is true for the one harbour whose harmonic constants are derived from its own gauge record (Reykjavík). Every other harbour is computed from it using the official time differences in Table II of the tide tables — the field records that, not data quality.

Example

Today's tides:

// JavaScript
const r = await fetch("https://tide.is/api/v1/tides/reykjavik.json");
const d = await r.json();
const today = new Date().toISOString().slice(0, 10);
for (const e of d.days[today]) {
  console.log(e.time, e.type, e.height + " m");
}
# curl + jq
curl -s https://tide.is/api/v1/tides/reykjavik.json \
  | jq ".days[\"$(date -u +%F)\"]"

Terms

Stability

The URLs are permanent and harbour ids (reykjavik, akureyri …) stay put. Fields may be added, none are removed.

The forecast currently runs to 2028-12-31 — see data.to in every file. When fresh data arrives the horizon simply extends: more days appear in days. Nothing else changes, so anything reading the API keeps working untouched.

Questions, or need something else?

Need a different shape, other data (sun and moon times) or more locations? Drop a line here — always good to hear what people are building.