AIS Vessel Track API: 48-Hour History as JSON

AIS Vessel Track API: 48-Hour History as JSON

An AIS vessel track API returns the current fix plus position history — not a single last ping. On Vessels API that is GET https://vessels-api.com/api/V1/vessels/track with header X-API-Key. Pass imo or mmsi. Official docs sample: mmsi=258785000, hours=48, vessel ZJ ATLANTIC (IMO 9702510), timestamp 2026-02-09T10:30:00Z.

Starter is $19.99/mo (2,500 calls) with a 7-day trial. History window default 24 hours, max 168. /vessel/live-position is a different path (Professional+, separate AIS quota). Envelope: {status,success,message,data}. MCP: mcp.vessels-api.com (track-vessel-tool). Docs: vessels-api.com/docs.

Request: official MMSI window

curl -H "X-API-Key: YOUR_API_KEY" \
"https://vessels-api.com/api/V1/vessels/track?mmsi=258785000&hours=48"

Response: official track sample (selected)

{
"status": 200,
"success": true,
"message": "OK",
"data": {
"vessel": { "imo": "9702510", "mmsi": "258785000", "name": "ZJ ATLANTIC" },
"current_position": {
"latitude": -34.603722,
"longitude": -58.381592,
"speed_knots": 15.5,
"course_degrees": 145,
"navigational_status": "Underway using engine",
"timestamp_utc": "2026-02-09T10:30:00Z",
"destination": "BRSSZ",
"eta": "2026-02-11T08:00:00Z"
},
"position_history": [
{
"latitude": -34.612345,
"longitude": -58.371234,
"speed_knots": 14.2,
"timestamp_utc": "2026-02-09T09:00:00Z"
}
],
"route": {
"departure_port": "Buenos Aires",
"destination_port": "Santos",
"distance_nm": 1050
}
}
}

There is no geofence endpoint. Nearby traffic is a different path (/vessels/nearby).

Go live

1. Register — 7-day trial.

2. Copy X-API-Key.

3. GET /api/V1/vessels/track.

4. Plot position_history.

Track 48 hours of AIS with a Vessels key →

Ready to get started?

Get your API key and start tracking vessels in minutes.

Get API Key

Related posts