Documentation
Two interfaces onto the same AIS data, and one key for both. Which one you want depends on whether you need to be told about every message or would rather ask when it suits you.
HTTPS API
Request and response over plain HTTPS: all vessels in a bounding box, one
vessel by MMSI, or the track of one vessel over time. Rate limits are counted
per key and per minute, and every answer carries an ETag so an unchanged
result costs you no bytes. Best when you poll on your own schedule, when the
data lands in a database, or when you need history rather than the present
moment.
- HTTPS API — Endpoints, parameters, errors, and how far back the track query reaches.
Stream API
One WebSocket connection that stays open and pushes every AIS message matching your subscriptions, plus a heartbeat every 20 seconds so silence stays distinguishable from a dead connection. Best when you want positions the moment they arrive — a live map, an alert, a feed into your own pipeline.
- Stream documentation — The endpoint, the frames, and the limits that apply.
- Protocol reference — Every frame, every field, all fifteen close codes.
- Example clients — Python and Go, with reconnection and loss detection.
- aisstream.io compatibility — Moving an existing aisstream.io client over.
Keys
Both interfaces read the same key, but each capability is granted separately:
a key needs https for the HTTPS API and stream for the WebSocket. Keys
are created in the portal, and revocation takes effect immediately.