OPENSEAFEED

The open, community-owned AIS network.

Live vessel positions from public national feeds and community receivers, merged, deduplicated and streamed back out - free to watch, free to build on, and owned by the people who feed it. Apache-2.0, no lock-in, history included.

Watch the live map Create an API key Read the API docs

What you get

Live stream

aisstream.io-compatible WebSocket of decoded AIS, enriched with names, ship types and IMO numbers. No key needed inside the free-tier area.

Fleet snapshot

The whole fleet's current state as one cacheable request - positions, names, particulars.

History

Every position is archived. Anonymous access covers the recent past; keys unlock deep history, down to a five-year design horizon.

Contribute & unlock

Feed us a receiver or an upstream and your account becomes a contributor: unlimited bounding boxes and the freshest data. The network belongs to its feeders.

Get started in three steps

  1. Sign in on the account page with GitHub or an email sign-in link.
  2. Create a key on the dashboard - osf_live_... to consume, osf_feed_... to contribute.
  3. Connect:
// stream vessels over WebSocket (aisstream.io-compatible)
const ws = new WebSocket("wss://stream.openseafeed.com/v1/stream");
ws.onopen = () => ws.send(JSON.stringify({
  APIKey: "osf_live_...",                       // optional: omit for the free tier
  BoundingBoxes: [[[54, -5], [72, 32]]],
}));
ws.onmessage = (e) => console.log(JSON.parse(e.data));
# contribute NMEA from your receiver (TCP, one AUTH line first)
( echo "AUTH osf_feed_..."; cat /dev/ttyUSB0 ) | nc ingest.openseafeed.com 10111

Why open?

AIS is broadcast in the clear by ships, for safety - yet most of it ends up behind paywalls. OpenSeaFeed keeps the pipeline public: open source, open data, open history, and a tier model with exactly one rule - those who give data get the most back.