High and low water
Times and heights for 14 days, at the berth itself.
One call returns the tide table for any berth in the harbor: the times, the heights and the window your keel clears.
Node.js 22 or later
One call returns
Times and heights for 14 days, at the berth itself.
The hours a given draft clears, from the charted depth.
Every height names its chart datum.
curl https://api.harbor-tides.example/v1/berths/pier-4/tides?days=1
{
"berth": "pier-4",
"datum": "chart datum",
"tides": [
{ "at": "04:12", "type": "low", "m": 0.6 },
{ "at": "10:31", "type": "high", "m": 4.1 },
{ "at": "16:40", "type": "low", "m": 0.8 },
{ "at": "22:58", "type": "high", "m": 3.9 }
]
}The API
Every berth in a harbor, with its charted depth
High and low water for one berth
The hours a given draft clears
A webhook before a window closes
For the bridge
Ask for a draft and get the hours it clears.
A webhook fires an hour before a window closes.
Each answer names its station and its datum.
Where it runs
One package, typed.
One prompt, one berth.
Fetch the tide window for a 3.2 m draft at pier 4 today.
Through the Chartplot integration.
{ "berth": "pier-4", "draft": 3.2 }{ "id": "al_42" }Against station tables
Station tables
Harbor tides
How it works
Where the numbers come from
Each berth carries the depth from the latest harbor survey.
Predictions are corrected every 6 minutes from the harbor gauge.
Every height says which datum it stands on.
Install @example/harbor-tides from npm.
Fetch the tide window for a 3.2 m draft at pier 4 today.
Print when it opens and when it closes.
Free to start
A harbor master adds any berth in the harbor within one working day.