Latest known position of vessels (AIS / MarineTraffic) and aircraft (ADS-B Exchange). JSON, no API key. Live — hosted instance below.
All endpoints are read-only HTTP GET and return JSON — no query parameters, headers or keys. Vessels are keyed by MMSI (9-digit Maritime Mobile Service Identity); aircraft by ICAO 24-bit hex address. A machine-readable spec for agents lives at /llms.txt.
curl "http://20260602-vessel-position-api.206.116.247.141.sslip.io/ais/mt/211879870/location/latest"
curl "http://20260602-vessel-position-api.206.116.247.141.sslip.io/adsb/adsbe/abc123/location/latest"
Every position endpoint returns the same envelope:
{
"error": null,
"data": {
"timestamp": "2026-06-02T12:34:56Z",
"latitude": 53.5413,
"longitude": 9.9846,
"course": 187.4,
"speed": 12.1,
"source": "marinetraffic",
"source_type": "ais",
"altitude": null
}
}
| Field | Meaning |
|---|---|
error | Message string on failure, otherwise null (then data is null). |
timestamp | UTC time of the report — always check this before treating a position as current. |
latitude / longitude | Decimal degrees. |
course / speed | Course over ground (°) and speed (knots). |
source / source_type | e.g. marinetraffic / ais, or adsbexchange / adsb. |
altitude | Present for aircraft only; null for vessels. |