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, a search by MMSI, IMO or name, the track of one vessel over
time, every vessel in a box at one instant of the last two days, or the vessels
detected in satellite images and the STS finds among them. Rate limits are
counted per key and per minute, and every answer except the search and the
vessel detection routes 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.
AI assistants
A remote MCP server that lets an AI assistant read the same AIS data while it answers you: ten read-only tools over the ten endpoints of the HTTPS API, with your key, your quota and your rate limits.
- AI assistants — What the server offers, the licence line you have to show, and the limits.
- Claude — Claude.ai, Claude Desktop and Claude Code.
- ChatGPT — Developer Mode connector.
- Developer tools — Cursor, VS Code, Gemini CLI, Windsurf.
- Your own agents — Claude API, Managed Agents and the OpenAI Responses API.
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.