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

Port activityGANGWAY ONLY

GET/v1/ports/{locode}5 credits

The live picture of a port: vessels alongside, at anchor and nearby, vessels arriving with hours to go and the last day's events. Distances and positions come where a source lets us pass them on. counts.kept_alongside and counts.kept_anchored say how many vessels not heard for 6 hours we still take as lying in the port: alongside or at anchor when last heard and not seen leaving, for up to 24 hours, cargo vessels and tankers under 100 m up to 12 hours and small craft up to 7 days. A vessel last heard under way is never one of them. They are not in alongside and anchored, which count the vessels heard in the last 6 hours. Each of them carries kept (alongside or anchored) in alongside_known or anchorage_known.

Parameters

NameDescription
locoderequired
string
UN/LOCODE, in the path.
reach
km
How far out to look for arrivals. Default 600.
limit
integer
Arrivals to return, up to 400. Default 40.
curl "https://gangwayais.com/v1/ports/SGSIN" \
  -H "Authorization: Bearer $GANGWAY_KEY"
{
  "port": {
    "code": "SGSIN",
    "name": "Singapore",
    "country": "SG",
    "lat": 1.26,
    "lon": 103.84
  },
  "counts": {
    "total": 3,
    "alongside": 1,
    "anchored": 1,
    "stopped": 0,
    "moving": 1,
    "kept_alongside": 0,
    "kept_anchored": 0
  },
  "alongside_known": [],
  "anchorage_known": [],
  "ships": [
    {
      "mmsi": 244000777,
      "name": "EXAMPLE CARRIER",
      "type": 70,
      "length": 180,
      "sog": 0.1,
      "cog": 12,
      "nav_status": 5,
      "seen": null,
      "flag": "NL",
      "destination": "ROTTERDAM",
      "eta": null,
      "lat": null,
      "lon": null,
      "source": null,
      "position_withheld": true,
      "km": null,
      "state": "alongside",
      "at": "Pasir Panjang Terminal"
    }
  ],
  "anchorage": [],
  "nearby": [],
  "arriving": [
    {
      "mmsi": 244000777,
      "name": "EXAMPLE CARRIER",
      "type": 70,
      "length": 180,
      "sog": 0.1,
      "cog": 12,
      "nav_status": 5,
      "seen": null,
      "flag": "NL",
      "destination": "ROTTERDAM",
      "eta": null,
      "lat": null,
      "lon": null,
      "source": null,
      "position_withheld": true,
      "nm": null,
      "hours": null,
      "under_way": true,
      "eta_stale": false,
      "heard_h": 0.4,
      "to": null
    }
  ],
  "events": [
    {
      "time": "2026-11-01T04:20:00Z",
      "mmsi": 244000777,
      "kind": "anchored",
      "name": "EXAMPLE CARRIER",
      "port_code": "NLRTM",
      "port_name": "Rotterdam",
      "country": "NL",
      "lat": null,
      "lon": null,
      "length": 180,
      "type": 70,
      "note": null,
      "position_withheld": true
    }
  ],
  "attribution": {
    "barentswatch": "Gangway AIS (https://gangway.app). Data delivered by BarentsWatch. Contains data under the Norwegian licence for Open Government data (NLOD) distributed by the Norwegian Coastal Administration."
  },
  "notice": "Not for navigation. AIS data can be missing, delayed or wrong. Never use it for navigation, collision avoidance, search and rescue or any safety-of-life decision."
}