Coverage & accuracy
Which ports we cover, how well, and how our numbers compare with an independent public reference
Manifest updated Oct 16, 2026, 01:26 SGT
Single-source disclosure
Live positions come from one community AIS feed. If it drops messages or goes offline, our live numbers degrade for every port at once. We disclose it here rather than hide it.
AISStream.io
Ports
Live ports have the full workspace. Pilot ports are new and labeled as such. Calibrating ports are tracked for positions only while we measure coverage.
| Port | Stage | Areas | Calibration | Coverage | Agreement with PortWatch |
|---|---|---|---|---|---|
| SingaporeSGSIN Singapore | Live | 18 anchorages, 28 zonesBoundaries: OpenStreetMap seamarks | Since Oct 15, 20262 hours of history | 161 reports per hour369 vessels in 24 h | Accumulating |
| RotterdamNLRTM Netherlands | Live | 6 anchorages, 0 zonesBoundaries: Rijkswaterstaat (Netherlands) | Since Oct 15, 20262 hours of history | 2,122 reports per hour1,569 vessels in 24 h | Accumulating |
| Los Angeles / Long BeachUSLAX United States | Live | 6 anchorages, 0 zonesBoundaries: US federal regulations (33 CFR 110) | Since Oct 15, 20262 hours of history | 351 reports per hour319 vessels in 24 h | Accumulating |
| AlgecirasESALG Spain | Calibrating | 0 anchorages, 0 zones | Not started | 23 reports per hour51 vessels in 24 h | Accumulating |
| ValenciaESVLC Spain | Pilot | 2 anchorages, 0 zonesBoundaries: OpenStreetMap seamarks | Since Oct 15, 20262 hours of history | 217 reports per hour226 vessels in 24 h | Accumulating |
| Antwerp-BrugesBEANR Belgium | Calibrating | 0 anchorages, 0 zones | Not started | 2,012 reports per hour1,578 vessels in 24 h | Accumulating |
| HamburgDEHAM Germany | Calibrating | 0 anchorages, 0 zones | Not started | 1,290 reports per hour748 vessels in 24 h | Accumulating |
| BarcelonaESBCN Spain | Calibrating | 0 anchorages, 0 zones | Not started | 232 reports per hour251 vessels in 24 h | Accumulating |
| PiraeusGRPIR Greece | Calibrating | 0 anchorages, 0 zones | Not started | 761 reports per hour699 vessels in 24 h | Accumulating |
How we validate
We detect port calls ourselves and compare our daily counts with IMF PortWatch, a free public dataset of port activity. The volume ratio says how many calls we count for each one they count (1.0 means the same). The correlation says whether the day-to-day ups and downs move together (1.0 means perfectly). PortWatch publishes with a delay of about ten days, so the comparison window trails today.
Sources and licences
Every value we publish traces back to these sources.
| Source | Role | Licence |
|---|---|---|
| AISStream.ioSingle source | Live positions | no published terms (free API key, no SLA) |
| OpenStreetMap | Anchorage areas | ODbL 1.0 (© OpenStreetMap contributors) |
| IMF PortWatch | Validation | unstated — daily aggregates stored for validation only; agreement score published, attributed IMF PortWatch |
| UN/LOCODE | Port codes | UNECE UN/LOCODE (free public use) |
| ITU country codes | Flag states | ITU Maritime Identification Digits table (public reference) |
| Open-Meteo | Weather | CC BY 4.0 (Open-Meteo) |
| OFAC SDN list | Sanctions screening | public domain (US Treasury OFAC SDN list) |
Known blind spots
What our data cannot see, stated up front.
One AIS feed
High impactAll live positions come from a single community feed with no service guarantee.
Shore-based reception only
Medium impactPositions come from shore stations, so ships far offshore or in poorly covered areas can be missed.
Origins before coverage
Medium impactWhen a ship enters our coverage from elsewhere we do not know where it came from, and say so.
Draught is self-reported
Medium impactCrews type in draught by hand and often leave it stale, so load states are estimates.
Chinese ports not monitored
Low impactChina appears only as a declared destination; we do not monitor Chinese ports.
Validation lags
Low impactThe public reference publishes with a delay of about ten days, so validation trails the live data.