Skip to content

← Endpoint reference

GET /api/v1/vessels/{id}/track

A vessel's track

Positions over a window of up to 7 days, time-bucketed to at most about 1,500 points. Each point is served only when its feed permits API use (Digitraffic, Kystverket, NOAA and Voydar receivers today); points from other feeds are counted under `withheld` by source. The last 24 hours are open to every plan; older windows need history in your plan (Plus 365 days, Developer 30 days, Growth 2 years, Pro and Scale everything held). History starts on 2026-06-01; positions older than 90 days come from the archive at 10-minute resolution without navStatus, and a 503 archive_unavailable (not charged) means retry.

1 credit per day of trackKey required

Parameters
NameInDescription
id(required)pathA checksum-valid IMO number, or "mmsi-" plus the 9-digit MMSI.
hoursqueryThe last N hours, 1 to 168 (default 24). Not with from/to.
fromqueryWindow start (ISO 8601), as far back as your plan allows.
toqueryWindow end (ISO 8601, default now); the window is at most 7 days.
Request
curl -H "Authorization: Bearer $SEADAR_API_KEY" \
  https://www.voydar.com/api/v1/vessels/9811000/track?hours=24
Response (abridged)
{
  "type": "vessel_track",
  "imo": 9811000,
  "mmsi": …,
  "window": { "from": "2026-09-23T12:00:00.000Z", "to": "2026-09-24T12:00:00.000Z", "bucketSeconds": 60 },
  "count": 412,
  "data": [ { "time": "…", "lat": 60.1, "lon": 24.9, "sog": 12.3, "cog": 88, "navStatus": "0", "source": "digitraffic" } ],
  "withheld": [ { "section": "positions", "sources": ["aisstream"], "rows": 230, "reason": "source_not_licensed_for_api" } ],
  "attribution": [ "…" ], "license": [ "…" ], "sources": ["digitraffic"]
}