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
| Name | In | Description |
|---|---|---|
| id(required) | path | A checksum-valid IMO number, or "mmsi-" plus the 9-digit MMSI. |
| hours | query | The last N hours, 1 to 168 (default 24). Not with from/to. |
| from | query | Window start (ISO 8601), as far back as your plan allows. |
| to | query | Window 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=24Response (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"]
}