Gangway AISGangway AISby Motto Marine International
DOCS · API v1
CoverageHomeSign inGet API key
Reports

Port waiting reportGANGWAY ONLY

GET/v1/ports/{locode}/waiting-report8,000 credits

One port over a calendar month, or 7 to 31 days, as a printable report: how many vessels waited at anchor before berthing, the median and average wait from anchoring to all fast, the share that berthed without waiting, the same by vessel type and by size where at least 3 vessels make it fair (otherwise too few vessels), the number waiting day by day against the port's normal, the busiest anchorages by name with their share, the 10 longest waits (name, type and hours only) and the days our sources did not hear the port. The port's normal is the median daily number at anchor over the 30 days heard before the period; where fewer than 3 usually wait, the number is not compared. Places are named, never given as coordinates. Costs nothing when nothing was heard. For a port you watch on a Pro or Custom watch plan it is one of your monthly port reports when the period starts after you added it. format=html gives the printable page with its verification code.

Free preview

Add /preview for the headline figures and how well our sources heard it: no credits, 60 an hour. Full reports are for paid plans; on the free API allowance the full report answers 402 paid_plan_required with the address of its free preview.

Parameters

NameDescription
locoderequired
string
UN/LOCODE, in the path.
month
YYYY-MM
A calendar month (UTC). Default: the last complete month. The current month once 7 days of it are over.
from
YYYY-MM-DD
Instead of month: the first day of the period (UTC), with days.
days
integer
With from: 7 to 31. The period ends by today and starts within the last 90 days.
format
json | html
Default json.
curl "https://gangwayais.com/v1/ports/NLRTM/waiting-report?month=2026-10" \
  -H "Authorization: Bearer $GANGWAY_KEY"
{
  "kind": "port_waiting",
  "port": {
    "code": "NLRTM",
    "name": "Rotterdam"
  },
  "period": {
    "month": "2026-10",
    "days": 31,
    "heard_days": 31
  },
  "headline": {
    "arrivals": 188,
    "waited": 124,
    "median_wait_h": 19.9,
    "average_wait_h": 18.8,
    "without_wait_pct": 34
  },
  "normal": {
    "normal_waiting": 2.9,
    "waiting_avg": 3,
    "wait_words": "15 % longer than usual"
  }
}