Open, live AIS is rare: most of what is published wants a key, a
contract or a receiver of your own to trade. These two were checked
with real requests on 6 October 2026 and answer anyone. Every figure
on this page is one of theirs, printed with its time.
Finland — Fintraffic, Digitraffic marine API
What is read. meri.digitraffic.fi/api/ais/v1/locations, asked for the last hour: the latest position report of every vessel Finland’s shore stations heard. /api/ais/v1/vessels: each vessel’s latest static message — name, type, call sign, destination and the ETA the crew keyed.
Where. The Finnish coast and the sea its stations reach: the Gulf of Finland, the Archipelago and Åland seas, the Gulf of Bothnia and the northern Baltic. A ship out of radio range of those stations is not in it.
How fresh. Digitraffic keeps each answer for a minute; this site’s relay asks it at most once a minute for positions and once every ten minutes for names, and the page asks the relay once a minute while it is in front of you. That is more often than Digitraffic’s own list of update times recommends (every five minutes), and far inside the limit its instructions set (60 requests a minute). The age printed beside a vessel is counted from the report’s own timestamp, so it is the true age whatever the wait.
Source: Fintraffic / digitraffic.fi, licence CC 4.0 BY. Changed here: cut down to the columns shown, coordinates rounded to five decimals.
Norway — Kystverket, Kystdatahuset Open API
What is read. kystdatahuset.kystverket.no/ws/api/ais/realtime/geojson: every ship the Norwegian Coastal Administration’s network heard in about the last ten minutes, each with its name, type, size, destination and a short track. This page keeps the last point of the track. That answer carries no ETA, so the card of a vessel heard by Norway’s network has no ETA line.
Where. The Norwegian coast and the sea areas that network covers, north to Svalbard. BarentsWatch’s developer pages say Kystverket’s open AIS data leaves out fishing vessels under 15 metres and leisure craft under 45 metres; this page cannot see what was left out. Some entries in the feed carry no position, or the 0°, 0° of a set with no fix; the status line counts them and they are not drawn.
How fresh. The relay asks at most once every two minutes, and the page asks the relay every two minutes. A ship that goes quiet for ten minutes drops out of this feed altogether.
Contains data under the Norwegian licence for Open Government data (NLOD) distributed by the Norwegian Coastal Administration (Kystverket), through Kystdatahuset. Changed here: each track reduced to its last point, cut down to the columns shown, coordinates rounded to five decimals.
Port traffic — Portnet, through Digitraffic
What is read. meri.digitraffic.fi/api/port-call/v1/port-calls, three times: calls with an actual arrival in the last 24 hours, with an actual departure in the last 24, and with an estimated arrival in the next 48. The relay asks at most every five minutes.
What the times are. Estimates come from the ship’s agent; actual times from the agent or the port, sometimes hours after the event. A call that already carries an arrival time is not listed as expected. Where Portnet writes Ei tiedossa (Finnish for “not known”) for a berth, the page leaves the berth out.
What is left behind. Portnet’s answer also carries crew and passenger counts, agents’ names and fields for the master’s name. The relay drops them; they never reach your browser.
Joining a call to the map. By MMSI where Portnet gives one, otherwise by IMO number. A call whose ship is not in the current AIS read says so. Port names are from the SafeSeaNet location list Digitraffic publishes, in its own spelling.
Source: Fintraffic / digitraffic.fi, licence CC 4.0 BY. Changed here: one row per call, cut down to the columns shown.
What this page does not know
- The rest of the sea. Sweden’s, Denmark’s, Germany’s, Poland’s and the Baltic states’ coasts appear only where a Finnish or Norwegian station happens to hear them; the open ocean and every other coast do not appear at all.
- Silent ships. A vessel with its transponder off, a warship that does not broadcast, a small boat that carries no AIS: none is here.
- Where a ship is now. Only where it last reported, and when. Nothing is predicted or moved forward.
- Whether a broadcast is true. Name, type, destination and ETA are typed in by the crew and are often stale or abbreviated. The position and the speed are the ship’s own satellite fix: interference with satellite navigation, which has been reported in the Gulf of Finland, can put a ship where it is not — on land, or far from its true place — and the page draws what was broadcast and cannot tell. AIS codes for “not available” are printed as not reported.
- The flag, strictly. It is read from the first three digits of the MMSI — the country that issued the radio number, by the ITU’s table — which is nearly always the flag state, but is not a registry lookup. In the port lists the flag is Portnet’s own.
- Cargo, owners, crews, prices. None is in these feeds.
Not for navigation. This is a reading desk. Never use it to steer, to keep a watch, or to decide that a ship is safe or where it is.
What is sent where
The page asks one file on this site, berth/ship-relay.php, six fixed questions; that file asks Fintraffic and Kystverket from the server, says who it is, and keeps one copy of each answer for every reader. Neither source sees your address. When a source is slow, down or rate-limiting, the line for that feed says so in words and the last copy stays up with its age: thirty minutes at most for positions, six hours for port calls, and a day for the names and types of Finland’s vessels (its line says when they come from an earlier copy). An answer that is a list of nothing, where the last one held ships, is treated the same way: the source is silent, not the sea empty.
The base map is the one thing fetched from another server: your browser asks OpenFreeMap (tiles.openfreemap.org) for the tiles of the area you look at, which shows it your IP address. If it does not answer, the vessels are drawn on a plain field and the table is unaffected. The map is drawn by MapLibre GL JS 5.24.0 (BSD 3-Clause); map data © OpenStreetMap contributors, © OpenMapTiles.
Nothing is stored in your browser. The address keeps the vessel you opened (#v= and its MMSI), the waters, the list and the port, so a link opens the same view; the site’s analytics may record the address as it stands. No key is used anywhere: two keyed routes were weighed and left out — BarentsWatch serves the same Norwegian network this page already reads without one, and a world-wide stream such as aisstream.io needs a connection held open that this site’s hosting cannot keep.
The country names behind the MMSI digits are the ITU’s Table of Maritime Identification Digits as reproduced on Wikipedia, read on 6 October 2026. Ship types and navigational statuses are the AIS standard’s own lists (ITU-R M.1371).