Watched ports
The ports your account watches, each with its picture now: vessels in port and at anchor, vessels expected in the next 48 hours, the median wait this week and the congestion index (or a note that there is not enough data yet), your filter and the alerts you chose and the port alerts of the last 7 days. POST {"code": "NLRTM", "filter": {"min_length": 150, "types": ["tanker"]}, "alerts": {"lead_h": [72, 24], "heading": true}} to add a port or change its settings (within your plan's number of ports), DELETE ?code= to stop watching it. A part of a port answers for the whole port.
Heads-up before arrival
Port alerts are meant to reach you well before a vessel arrives. For vessels matching the port's filter:
- Heading here: the first time on a voyage that a vessel names the port as her destination, with her expected arrival and how far off she is.
- Lead times: you pick the hours ahead for each port (72, 48, 24, 12, 6 or 2 hours; 48 and 12 to start with). You hear once for each time you picked, when her expected arrival comes within it and again only if she is then expected a good deal earlier (said as now expected earlier).
Her expected arrival is her ETA as broadcast when it fits her distance and speed. When it does not, or her ETA is from an earlier voyage, or she broadcasts none, it is worked out from her distance and her recent speed and the alert says so. Distances run to where she arrives from sea: the port's pilot boarding place, or its nearest anchorage where we have no pilot boarding place, by sea where we can work out the way. Where we have neither, the alert says only how far she is from the port. Nothing is sent about her way in once she is at the port.
At the port
Anchored in one of the port's anchorages and alongside at one of its terminals; arriving, when she reaches the port's approaches (off unless you switch it on); and the port turns busier than its normal (where the port has a congestion index). Alerts are gathered over a few minutes into one email, the soonest arrival first. Seagoing vessels only.
Morning line-up
Each watched port appears in a morning line-up email, at 06:00 UTC unless you choose another hour on the dashboard: vessels expected in the next 48 hours and a short list of those heading here further out, each with her expected arrival (as broadcast, or from distance and speed where said), at anchor with the hours waited, alongside by terminal, sailed in the last 24 hours, the median wait and the congestion index.
After a move to a smaller plan, or when a plan ends, nothing is deleted: the vessels above the new plan's number are markedpaused (the newest first) and get no alerts and no included reports until you upgrade or remove some; they resume by themselves.Parameters
| Name | Description |
|---|---|
codestring | POST body or DELETE query: UN/LOCODE. |
filterobject | POST body: min_length in metres and types from cargo, tanker, passenger, other. None chosen: each type. |
alertsobject | POST body: lead_h, a list of hours ahead from 72, 48, 24, 12, 6, 2 (an empty list: no lead-time alerts; any other value is refused with 400); heading, arriving, anchored, alongside, busy, each true or false. |
curl "https://gangwayais.com/v1/watch/ports" \ -H "Authorization: Bearer $GANGWAY_KEY"
{
"limit": 2,
"used": 1,
"ports": [
{
"code": "NLRTM",
"name": "Rotterdam",
"country": "NL",
"added_at": "2026-10-29T08:00:00Z",
"filter": {
"min_length": 150,
"types": []
},
"alerts": {
"heading": true,
"lead_h": [
48,
12
],
"arriving": false,
"anchored": true,
"alongside": true,
"busy": true
},
"now": {
"in_port": 11,
"alongside": 7,
"at_anchor": 4,
"arriving_48h": 5,
"median_wait_h": 17.1,
"index": 45,
"level": "normal"
}
}
],
"settings": {
"lineup": true,
"lineup_hour_utc": 6,
"alerts": true
},
"events": [
{
"port": {
"code": "NLRTM",
"name": "Rotterdam"
},
"kind": "lead",
"time": "2026-11-01T14:05:00Z",
"text": "Due at Rotterdam within 48 h · ETA 3 Nov 14:00 UTC as broadcast · about 640 nm away by sea",
"vessel": {
"mmsi": 244000888,
"name": "EXAMPLE TRADER",
"length": 229
},
"place": null,
"expected_arrival": {
"time": "2026-11-03T14:00:00Z",
"from": "eta_as_broadcast"
},
"lead_h": 48
},
{
"port": {
"code": "NLRTM",
"name": "Rotterdam"
},
"kind": "anchored",
"time": "2026-11-01T12:57:00Z",
"text": "Anchored at Anchorage 3 East, Rotterdam",
"vessel": {
"mmsi": 244000777,
"name": "EXAMPLE CARRIER",
"length": 249
},
"place": "Anchorage 3 East"
}
],
"note": "Places by name; no positions. Seagoing vessels only. Expected arrivals as broadcast by the vessels, or from distance and speed where said."
}
