Improved
🛰️ Richer AIS context on vessel positions
6 days ago by Evgheni Luca
📅 July 2026
A position from /vessel/v2/position now comes with the story around it: what the vessel is doing, where it last called, and where it's really headed - not just a dot on the map. What's new:
- Navigational status -
navigationalStatuscarries the status reported over AIS, with both the raw code and its label (e.g.0/"Under way using engine"), so you can tell a vessel underway from one at anchor or moored at a glance. - Origin port call -
originPortresolves the last port the vessel departed from:unlocode, port name, country, arrival and departure times, and the duration of the call in hours. It's included whenever a recent enough port call can be resolved, and omitted otherwise. - Resolved destination - the raw AIS
destinationstring (e.g."IN MUN") is now accompanied bydestinationPort, the resolved port with itsunlocode, name, and country - no more guessing what the crew typed into the transponder. - Readable timestamps - the position time comes back both as an ISO 8601
dateTimeand as an epochtimestamp(in ms).
{
"dateTime": "2026-06-09T18:48:11Z",
"navigationalStatus": { "ais": { "code": 0, "label": "Under way using engine" } },
"originPort": {
"unlocode": "USJAX",
"portName": "Jacksonville",
"country": "US",
"arrivalTime": "2026-06-02T15:41:40Z",
"departureTime": "2026-06-03T06:16:40Z",
"durationHours": 14.58
},
"destination": "IN MUN",
"destinationPort": { "unlocode": "INMUN", "portName": "Mundra", "country": "IN" },
"eta": "2026-07-07T17:00:00Z"
}What this enables
- Answer "where is this vessel coming from, and where is it really headed?" in a single call.
- Feed clean, resolved port pairs (UN/LOCODEs, not free-text AIS strings) straight into your tracking and ETA workflows.
If you're still on the deprecated /vessel/v2/{imo}/position, it keeps its previous payload - switch to /vessel/v2/position?imo=... to get the new fields.
Thanks for reading 👏🏼 Feedback welcome at [email protected].
