Data status · registry surveyed 2026-11-10
What each port publishes.
One row per TEN-T core port from ports/registry.csv: the best public call-level source found, its access and licence terms, what has been ingested, and the recorder schedule for rolling lists.
22 ports. Public call-level records with actual arrival and departure (like Valencia PCS, Finland Digitraffic).
32 ports. Call-level but planned or expected times only, or a short rolling window (< 90 days) without history: a recorder builds the history.
30 ports. Aggregates only (monthly calls or GT) or vessel-in-port snapshots without times.
13 ports. Nothing public beyond AIS trackers.
EU exit proxies
- Several port sources answer only to European addresses; two small SOCKS5 exits (Paris, Amsterdam) let the fetchers reach them.
- Via Paris: the Spanish Posidonia GISWeb viewers, Bilbao, HAROPA, Gdynia and Aarhus lists. Still unreachable: Barcelona open data, Marseille-Fos PCS, Rijeka, Klaipėda, Gent.
- Same politeness rules as the survey: one request at a time per host, at least 2 s apart, never log in, never bypass captchas.
ports/proxy/README.md
Live AIS recorder (aisstream.io)
- Record-forward AIS for all 97 ports since 2026-11-10: one websocket, a box of ±0.25° lat by ±0.40° lon around each port, position and static messages.
- Thinned to one point per ship per 5 min when stopped (10 min when moving), written hourly; there is no history before the start date.
- No published licence yet, so it is an internal analysis input. Next step: berth-stay detection to build visit registers for ports without a call feed.
ports/aisstream/README.md
Danish AIS archive (DMA)
- The Danish Maritime Authority's open AIS archive (2006 to today, 4.2 TB of zips) is streamed and cut to boxes around 9 Øresund, Kattegat and western Baltic ports.
- Coverage is strong for Copenhagen, Malmö, Helsingborg and Aarhus, good for Göteborg and Trelleborg, partial for Rostock and Kiel, nearly absent for Lübeck.
- Open data under the Danish re-use act, credit the Danish Maritime Authority; timestamps are UTC. The same berth-stay detection will turn it into visits.
ports/ais_dk/README.md
Ports · 97
Status: Modelled = app data built (the port page exists); Call data / recording = call-level rows ingested or a recorder collecting a rolling list, not yet modelled; Aggregates only = tier C; No public data = nothing usable yet.
| Port | Ctry | Tier | Status | Source | Access | Licence terms | Rows | History | Recorder cadence | Notes |
|---|---|---|---|---|---|---|---|---|---|---|
| Barcelona ESBCN | ES | A | No public data | open_data_api | blocked | CC BY-SA 4.0 (portal, not re-verified) | 0 | 2015 to 2026 | 2026-11-10 retry: direct = HTTP 500 FortiWeb block page (Attack ID 20000018); via Paris an…2026-11-10 retry: direct = HTTP 500 FortiWeb block page (Attack ID 20000018); via Paris and Amsterdam SOCKS exits TLS completes (1.4-1.9 s) but the server never sends an HTTP response (timeout 45-60 s), with default TLS, --tlsv1.2 --tls-max 1.2 and --http1.1 alike, for /, /en/dataset/..., /api/3/action/package_show and direct resource CSV URLs. datos.gob.es API gives the 12 resource URLs but they point at the same host (no mirror copy). Retry from a Spanish/residential network. | |
| Cartagena ESCAR | ES | A | Call data / recording | pcs_web | open | unclear (public viewer, no licence stated) | 62,096 | 2004-12 to 2026-11 | Same GISWeb guest mode via Paris proxy. Includes Escombreras (codpue E, tanker/LNG basin);…Same GISWeb guest mode via Paris proxy. Includes Escombreras (codpue E, tanker/LNG basin); port_sub column keeps it. Older years have date-only times; see ESCAR/README. fetch_ES_gisweb.py | |
| Gijón ESGIJ | ES | A | Call data / recording | pcs_web | open | unclear (public viewer, no licence stated) | 15,810 | 2017-01 to 2026-11 | Posidonia GISWeb public guest mode, reachable only via Paris proxy (403 direct/AMS). Local…Posidonia GISWeb public guest mode, reachable only via Paris proxy (403 direct/AMS). Local time (Europe/Madrid), verified via cruise 07-08h arrivals. Anchorage rows included (FONDEO). No GT/ETA/origin. fetch_ES_gisweb.py | |
| Las Palmas ESLPA | ES | A | Call data / recording | pcs_web | open | unclear (public anonymous viewer of the port authority; no terms page found) | 106,836 | 2018-01 to 2026-11 | public anonymous session of Prodevelop Portlive (pui9): GET /operations_server/portlive/in…public anonymous session of Prodevelop Portlive (pui9): GET /operations_server/portlive/init -> JWT; POST /operations_server/vstophistorical/getStopsHistorical model stopsportlivehistorical. Authority PA 203 (Puerto del Rosario, Arrecife not fetched); server-side filter port_id 206 La Luz y Las Palmas. History exists from ~2018-01 but only the last 24 months were ingested (server ~20 s/page); resumable backfill with --from 2018-01. Times ISO UTC. | |
| Palma de Mallorca ESPMI | ES | A | Call data / recording | port_website_table | open | unclear (openly published file folder; also catalogued on datos.gob.es ea0001301-historico-de-buques-en-puerto) | 27,143 | 2019-01 to 2026-10 | Row = berthing (atraque); shifts share Escala. Folder covers all 5 APB ports (A,F,I,M,P); …Row = berthing (atraque); shifts share Escala. Folder covers all 5 APB ports (A,F,I,M,P); visits_raw keeps P=Palma. UTC column from 2021-06, earlier converted from Europe/Madrid. APB also has an anonymous Portlive at baleares.portlive.posidoniaport.com (not needed). | |
| Santa Cruz de Tenerife (incl. Granadilla) ESSCT | ES | A | Call data / recording | pcs_web | open | unclear (public anonymous viewer of the port authority; no terms page found) | 34,458 | 2023-06 to 2026-11 | public anonymous session of Prodevelop Portlive (pui9): GET /operations_server/portlive/in…public anonymous session of Prodevelop Portlive (pui9): GET /operations_server/portlive/init -> JWT; POST /operations_server/vstophistorical/getStopsHistorical model stopsportlivehistorical. Authority PA 104 also has La Palma, Gomera, Hierro, Los Cristianos (raw only); visits_raw = portid 107 S/C de Tenerife (Granadilla is not a separate port id in Portlive; check subports). Times ISO UTC. 6 stray rows dated 2022 in the source. | |
| Tarragona ESTAR | ES | A | Call data / recording | pcs_web | open | unclear (public anonymous viewer of the port authority; no terms page found) | 28,054 | 2018-01 to 2026-05-06 (feed stalled) | public anonymous session of Prodevelop Portlive (pui9): GET /operations_server/portlive/in…public anonymous session of Prodevelop Portlive (pui9): GET /operations_server/portlive/init -> JWT; POST /operations_server/vstophistorical/getStopsHistorical model stopsportlivehistorical. Single port (PA 236). FEED STALLED: no stops after 2026-05-06 and the current-situation tab is empty (checked 2026-11-09); probably a back-end migration. Re-check, otherwise a gap remains after May 2026. Times ISO UTC. PARTIAL: fetched 2018-01..2018-03 and 2024-11..2026-11; missing 2018-04..2024-10. Resume: cd valencia && uv run python ../ports/scripts/fetch_ES_portlive.py ESTAR --from 2018-01 Backfill 2018-01..2026-05 completed 2026-11-10; feed stopped 2026-05-06. | |
| Valencia ESVLC | ES | A | Modelled | pcs_web | open | public port-authority service; attribution 'Autoridad Portuaria de València via ValenciaportPCS' | 36,689 | 2021-01 to 2026-11 | Reference implementation; see ESVLC/README.md and ../valencia/scripts/pcs_download_histori…Reference implementation; see ESVLC/README.md and ../valencia/scripts/pcs_download_historic.py. Times epoch UTC. PCS also covers Sagunto/Gandia (excluded). | |
| Hamina FIHMN | FI | A | Call data / recording | national_api | open | CC BY 4.0 (Fintraffic / digitraffic.fi) | 5,754 | 2018-10 to 2026-11 (+~100 d planned) | scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 95%. Portn…scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 95%. Portnet files most Hamina calls under FIKTK since the HaminaKotka merger; split by Hamina port-area codes (portnet_locode column keeps the original) | |
| Helsinki FIHEL | FI | A | Call data / recording | national_api | open | CC BY 4.0 (Fintraffic / digitraffic.fi) | 63,501 | 2018-10 to 2026-11 (+~100 d planned) | scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 94%. FIHEL…scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 94%. FIHEL; Portnet port areas also include Loviisa and Kantvik (2,056 calls), filter on terminal if needed | |
| Kotka FIKTK | FI | A | Call data / recording | national_api | open | CC BY 4.0 (Fintraffic / digitraffic.fi) | 14,766 | 2018-10 to 2026-11 (+~100 d planned) | scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 94%. Hamin…scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 94%. Hamina-area calls filed under FIKTK moved to FIHMN | |
| Naantali FINLI | FI | A | Call data / recording | national_api | open | CC BY 4.0 (Fintraffic / digitraffic.fi) | 12,369 | 2018-10 to 2026-11 (+~100 d planned) | scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 93%. Neste…scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 93%. Neste refinery + Finnlines ferries | |
| Oulu FIOUL | FI | A | Call data / recording | national_api | open | CC BY 4.0 (Fintraffic / digitraffic.fi) | 4,013 | 2018-10 to 2026-11 (+~100 d planned) | scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 94%. | |
| Turku FITKU | FI | A | Call data / recording | national_api | open | CC BY 4.0 (Fintraffic / digitraffic.fi) | 14,191 | 2018-10 to 2026-11 (+~100 d planned) | scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 94%. inclu…scripts/fetch_FI.py; UTC verified vs Silja Serenade 17:00 departure; actual ATA 94%. includes Meyer Turku yard calls (Pernon telakka) | |
| Piraeus GRPIR | GR | A | Call data / recording | port_website_table | open | unclear (no terms on pct.com.gr; olp.gr not checked) | 1,284 | 2026-01-04 to 2026-12-31 | PCT container terminal call-level with actuals but only a rolling window (2026-08-05..2026…PCT container terminal call-level with actuals but only a rolling window (2026-08-05..2026-11-12, 519 calls) -> weekly recorder needed. PPA cruise plan 2026 (756), ferry board (9 one-sided events). Not covered: PPA Pier I containers, car terminal, ro-ro/cargo, most ferries. Stats: https://www.olp.gr/en/statistics . Arrivals&Departures page is iframe /dromologia.php. | |
| Thessaloniki GRSKG | GR | A | Modelled | port_website_table | open | thpa.gr terms: content may not be modified, sold or exploited by third parties; single copy for personal non-public use with attribution allowed -> internal use only, no redistribution | 1,758 | 2024-01-01 to 2026-11-16 | Container terminal (Pier 6) only; conventional/bulk (SEMPO), cruise, ferry not covered (th…Container terminal (Pier 6) only; conventional/bulk (SEMPO), cruise, ferry not covered (thpa.gr/cruise and /ferry pages not ingested). Times naive local, assumed Europe/Athens. Ingested for internal analysis; confirm with ThPA before publishing derived data. | |
| Rīga LVRIX | LV | A | Call data / recording | open_data_api | open | unclear (unauthenticated backend of rop.lv widget) | 1,646 | 2016 (ids resolve) to 2026-11 | scripts/fetch_LVRIX.py; history needs sequential id enumeration (~3 s/id, ~2.7k visits/yr …scripts/fetch_LVRIX.py; history needs sequential id enumeration (~3 s/id, ~2.7k visits/yr -> ~6 h for 24 months); complete Jul-Oct 2026 so far; resumable Script has a --max-minutes budget (default 25); 7 h run started 2026-11-10. | |
| Leixões PTLEI | PT | A | Modelled | port_website_table | open | unclear (public APDL LIVEDATA site) | 4,318 | 2024-12 to today | Also has arrivalForecast, approachZone, planned manoeuvres, cruises endpoints. Times are U…Also has arrivalForecast, approachZone, planned manoeuvres, cruises endpoints. Times are UTC (verified by DST shift of cruise call hours). Viana do Castelo (PTVDC) on the same platform. Captain/CSO contacts dropped at download. Tier C: APDL estatística mensal. | |
| Lisboa (incl. Setúbal) PTLIS | PT | A | Call data / recording | port_website_table | open | unclear (public page, no reuse terms found) | 31,328 | 2013-01 to today | Lisbon only; Setúbal (APSS, portodesetubal.pt) not covered - its TLS chain failed verifica…Lisbon only; Setúbal (APSS, portodesetubal.pt) not covered - its TLS chain failed verification, not pursued. Server is slow (~60-90 s per month query) so most recent 24 months ingested first; script resumable to 2013. Agent email/phone/address dropped at download. | |
| Göteborg SEGOT | SE | A | Call data / recording | open_data_api | open | unclear (public web backend; attribute Göteborgs Hamn AB) | 69,291 | 2015-03-01 to 2027-05 (planned) | scripts/fetch_SEGOT.py; UTC 'Z' verified vs Stena Danica timetable; full 2017+ (…scripts/fetch_SEGOT.py; UTC 'Z' verified vs Stena Danica timetable; full 2017+ (2015-16 partial); ANCHORAGE/GENOMGÅENDE rows are not berth calls | |
| Stockholm SESTO | SE | A | Call data / recording | open_data_api | open | unclear (public web backend; attribute Stockholms Hamn AB) | 50,832 | 2014-01 to 2026-11-09 | scripts/fetch_SESTO.py; Stohab only in parquet (raw also has Nynäshamn/Kapellskär); local …scripts/fetch_SESTO.py; Stohab only in parquet (raw also has Nynäshamn/Kapellskär); local time verified vs Silja timetable; contains leisure/museum craft | |
| Koper SIKOP | SI | A | Call data / recording | port_website_table | open | unclear (public page, no reuse terms stated) | 41,642 | 2006-06-28 to 2026-12-29 | JSON behind the public "Ship arrivals, pilotage and mooring plans" page; date-ra…JSON behind the public "Ship arrivals, pilotage and mooring plans" page; date-range query works back to 2007. | |
| Gent BEGNE | BE | B | Call data / recording | port_website_table | open | unclear | 178 | *-*-* 05;11;17;23:40:00 Europe/Brussels (BEGNE) | Enigma+ public lists (linked from northseaport.com/en/departures-and-arrivals; old portofg…Enigma+ public lists (linked from northseaport.com/en/departures-and-arrivals; old portofghent.be/enigma host dead from all exits). Works direct and via Paris. Snapshot 2026-11-09T23:41Z: 16 actual arrivals, 20 actual departures, 90 at berth, 52 expected; IMO on 169/178. Feed covers all North Sea Port (Zeeland berth codes present); rows tagged BEGNE pending berth->port mapping. scripts/fetch_BEGNE.py; run >= 2x/day for a gap-free ATA/ATD record (tier-A-like). | |
| Limassol (incl. Zygi) CYLMS | CY | B | No public data | pcs_web | blocked | unclear | 0 | pcsportal.cpa.gov.cy connect timeout on https (Paris, Amsterdam) and http (Paris) on 2026-…pcsportal.cpa.gov.cy connect timeout on https (Paris, Amsterdam) and http (Paris) on 2026-11-10, as from HK: host down or allow-listed. Tier B provisional. | ||
| Bremen DEBRE | DE | B | Call data / recording | pcs_web | open | offered for import into users systems (dbh.de/kis/port/sis); no licence text: unclear | 23 | rolling (~2 wk back) to +4 weeks | *-*-* 06;18:05:00 (DE_sis) | dbh SIS planned liner schedules only (Bremen city terminals codes 21-24). Few rows; bulk/o…dbh SIS planned liner schedules only (Bremen city terminals codes 21-24). Few rows; bulk/other traffic not covered. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table; Destatis GENESIS 46331. |
| Bremerhaven DEBRV | DE | B | Call data / recording | pcs_web | open | offered for import into users systems (dbh.de/kis/port/sis); no licence text: unclear | 563 | rolling (~2 wk back) to +4 weeks | *-*-* 06;18:05:00 (DE_sis) | dbh SIS planned liner schedules (EUROGATE CTB C1/C2, NTB NT/N1/N2, BLG auto). bremenports …dbh SIS planned liner schedules (EUROGATE CTB C1/C2, NTB NT/N1/N2, BLG auto). bremenports ships-in-port page only links SIS + AIS shiptracker. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table; Destatis GENESIS 46331. |
| Hamburg DEHAM | DE | B | Call data / recording | pcs_web | open | offered for import into users systems (dbh.de/kis/port/sis); no licence text: unclear | 901 | rolling (~2 wk back) to +4 weeks | *-*-* 06;18:05:00 (DE_sis); *-*-* 00/6:30:00 (DEHAM_exp) | Two tier-B sources: dbh SIS (ZAPP) planned liner calls (880 calls, terminal codes) + Port …Two tier-B sources: dbh SIS (ZAPP) planned liner calls (880 calls, terminal codes) + Port of Hamburg Marketing expected vessels (~2 days, 21 rows). HHLA COAST Segelliste (coast.hhla.de/segelliste) is a JS app, not explored (reports likely login). No public history with ATA/ATD found. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table; Destatis 46331. |
| Rostock DERSK | DE | B | Call data / recording | port_website_table | open | disclaimer only; unclear | 65 | snapshot to advised (~days ahead) | *-*-* 00/6:35:00 (DERSK) | Ships in port (31) + advised (34) snapshot. No departures; recorder every 6-12 h gives arr…Ships in port (31) + advised (34) snapshot. No departures; recorder every 6-12 h gives arrival + last-seen. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table |
| Wilhelmshaven DEWVN | DE | B | Call data / recording | pcs_web | open | offered for import into users systems (dbh.de/kis/port/sis); no licence text: unclear | 188 | rolling (~2 wk back) to +4 weeks | *-*-* 06;18:05:00 (DE_sis) | dbh SIS planned schedules for EUROGATE CTW (JadeWeserPort) only; tanker/bulk/LNG terminals…dbh SIS planned schedules for EUROGATE CTW (JadeWeserPort) only; tanker/bulk/LNG terminals not covered. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table |
| Aarhus DKAAR | DK | B | Call data / recording | port_website_table | open | unclear | 68 | *-*-* 00/6:10:00 (DKAAR) | Paris exit needed (HK times out). Snapshot 2026-11-09T23:38Z: 24 arrived, 43 expected, 1 o…Paris exit needed (HK times out). Snapshot 2026-11-09T23:38Z: 24 arrived, 43 expected, 1 ordered; 9 terminals. No history. scripts/fetch_DKAAR.py. DMA AIS archive remains the history fallback (see BALTIC.md). | |
| København DKCPH | DK | B | Call data / recording | port_website_table | open | unclear | 91 | 2026-11-02 to 2026-12-31 | *-*-* 04:20:00 (CMP) | scripts/fetch_CMP.py (also SEMMA). Past ranges (2025) return empty -> recorder needed. …scripts/fetch_CMP.py (also SEMMA). Past ranges (2025) return empty -> recorder needed. AIS fallback: DMA archive. Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly) |
| Tallinn (Old City Harbour, Muuga) EETLL | EE | B | Call data / recording | port_website_table | open | unclear | 7,194 | 2020-05 to 2026-11-30 | scripts/fetch_EETLL.py; liner Nov 2025-Nov 2026 (back to ~2020 available); ships-in-port l…scripts/fetch_EETLL.py; liner Nov 2025-Nov 2026 (back to ~2020 available); ships-in-port list is sparse (~100-400/yr) so cargo calls need AIS. Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly) | |
| Bilbao ESBIO | ES | B | Call data / recording | port_website_table | open | unclear (site disclaims accuracy) | 96 | *-*-* 09:30:00 Europe/Madrid (ESBIO) | 200 via Paris proxy on first request; the second request (sub-page vessel-arrivals) got a …200 via Paris proxy on first request; the second request (sub-page vessel-arrivals) got a Radware bot challenge, so only the one overview snapshot (2026-11-09 23:35Z) was used and no retry. Recorder would need to stay at <=1 request per visit window and may still be challenged. fetch_ESBIO.py | |
| Bordeaux FRBOD | FR | B | Call data / recording | pcs_web | open | unclear (no reuse terms on page) | 234 | rolling (open announcements, some back to 2024) to +3 y (cruise bookings) | *-*-* 01/6:00:00 (FRBOD) | VigieSip capitainerie WS. ETA = arrival at BXA buoy (port limit). Snapshot taken once; run…VigieSip capitainerie WS. ETA = arrival at BXA buoy (port limit). Snapshot taken once; run scripts/fetch_FR.py on a schedule to build history. Tier C: GPMB annual/monthly traffic reports on bordeaux-port.fr. |
| Brest FRBES | FR | B | Call data / recording | pcs_web | open | unclear; endpoint not linked from brest.port.bzh (found via VigieSip host pattern) | 40 | rolling to +~1 month | *-*-* 01/6:05:00 (FRBES) | Same VigieSip WS family as Bordeaux; brest.port.bzh itself shows no call list. Small volum…Same VigieSip WS family as Bordeaux; brest.port.bzh itself shows no call list. Small volume (40 calls in window). |
| Nantes Saint-Nazaire FRNTE | FR | B | Call data / recording | port_website_table | open | unclear | 88 | rolling to +~1 y | *-*-* 01/6:10:00 (FRNTE) | No IMO/MMSI: match to AIS by name+LOA. Includes long-stay/service craft (navy, dredgers, s…No IMO/MMSI: match to AIS by name+LOA. Includes long-stay/service craft (navy, dredgers, shipyard). Tier C: GPMNSN annual traffic. |
| Rouen FRURO | FR | B | Call data / recording | port_website_table | open | unclear | 71 | *-*-* 06;18:25:00 (FRURO) | DrakHAR public lists linked from capitainerie-rouen.com; Rouen only. Snapshot 2026-11-09T2…DrakHAR public lists linked from capitainerie-rouen.com; Rouen only. Snapshot 2026-11-09T23:40Z: 17 departed (actual ATD), 54 open calls. No call id/IMO (keyed by name). Works direct and via Paris. scripts/fetch_FRURO.py; run every 12-24 h to keep all departures. | |
| Sète FRSET | FR | B | Call data / recording | pcs_web | open | unclear | 358 | rolling (a few stale announcements from 2021-22) to +~3 y (cruise/ferry bookings) | *-*-* 01/6:15:00 (FRSET) | Same VigieSip WS as Bordeaux. sete.port.fr "Les escales" page has no table in HT…Same VigieSip WS as Bordeaux. sete.port.fr "Les escales" page has no table in HTML. One ETA typo (year 2202) in source. |
| Heraklion GRHER | GR | B | Call data / recording | pdf_bulletin | open | unclear | 1,659 | 2019-02-17 to 2027-12-31 | Cruise only, planned times. 2026 file trimmed to Nov-Dec (past calls removed) -> archiv…Cruise only, planned times. 2026 file trimmed to Nov-Dec (past calls removed) -> archive each year's file before season end. Ferries/cargo: nothing public (MarineTraffic iframe). Stats page on portheraklion.gr (statistika-stoixeia). Tier C fallback: ELSTAT maritime transport statistics (vessel arrivals by port, quarterly) and Eurostat mar_tf_qm (vessels by port, quarterly). | |
| Igoumenitsa GRIGO | GR | B | Call data / recording | port_website_table | open | unclear | 5 | 2026-11-09 to 2026-11-09 | *-*-* 00/4:55:00 (GRIGO) | International (Italy) ro-pax board only; domestic board JS-only. Recorder every 2-4 h woul…International (Italy) ro-pax board only; domestic board JS-only. Recorder every 2-4 h would pair arr/dep per ferry. Cruise via cruisemapper link only. Stats: https://www.olig.gr/index.php/en/port/statistics |
| Split HRSPU | HR | B | Call data / recording | open_data_api | open | unclear | 75 | 2026-11-09 to 2026-11-10 | *-*-* 07:00:00 (HRSPU) | Passenger port ferries/fast craft only; no cargo (Vranjic/Kaštela) or cruise. Stats https:…Passenger port ferries/fast craft only; no cargo (Vranjic/Kaštela) or cruise. Stats https://portsplit.hr/statistike |
| Cork IEORK | IE | B | Call data / recording | open_data_api | open | public ArcGIS item, no licence text: unclear | 15 | current window (~1-2 days) | *-*-* 00/3:45:00 (IEORK) | portofcork.ie/shipping-schedule -> ArcGIS dashboard -> public FeatureServer. 24 move…portofcork.ie/shipping-schedule -> ArcGIS dashboard -> public FeatureServer. 24 movements / 15 visits. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table; CSO port traffic statistics. |
| Dublin IEDUB | IE | B | Call data / recording | port_website_table | open | unclear | 124 | snapshot to next 100 arrivals | *-*-* 00/6:50:00 (IEDUB) | 124 rows (99 expected + 25 in port). No IMO; ferries call several times a day. Dublin Port…124 rows (99 expected + 25 in port). No IMO; ferries call several times a day. Dublin Port trade statistics page (monthly) = tier C validation. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table |
| Bari ITBRI | IT | B | No public data | port_website_table | blocked | unclear | 0 | Via Paris: 302 to validate.perfdrive.com (Radware Bot Manager captcha), same as from HK. N…Via Paris: 302 to validate.perfdrive.com (Radware Bot Manager captcha), same as from HK. Not bypassed. Tier B provisional. Assoporti stats: https://www.assoporti.it/it/autoritasistemaportuale/statistiche/ | ||
| Civitavecchia ITCVV | IT | B | No public data | pcs_web | blocked | unclear | 0 | giada.portidiroma.it TCP connect timeout on http and https via Paris and Amsterdam (and HK…giada.portidiroma.it TCP connect timeout on http and https via Paris and Amsterdam (and HK): host down or allow-listed, not geo. Port Mobility table not retried. Stats PDFs https://www.portidiroma.it/traffici-portuali | ||
| Taranto ITTAR | IT | B | Call data / recording | port_website_table | open | unclear | 19 | 2026-11-09 to 2026-11-09 | *-*-* *:20:00 (ITTAR) | Best Italian public table found (PMIS-derived, UTC). No history: hourly recorder gives ATA…Best Italian public table found (PMIS-derived, UTC). No history: hourly recorder gives ATA + last-seen as ATD proxy. Stats https://port.taranto.it/statistiche Snapshot 2026-11-09 (oldest ATA in it 2022-12-20, a long-stay vessel). |
| Valletta (Grand Harbour) MTMLA | MT | B | Call data / recording | port_website_table | open | unclear | 1,853 | 2021-01-28 to 2026-12-09 | Cruise calls only (not cargo/ferry/Grand Harbour shipyard). History from Jan 2021. Transpo…Cruise calls only (not cargo/ferry/Grand Harbour shipyard). History from Jan 2021. Transport Malta port notices blocked (Cloudflare 403). | |
| Rotterdam NLRTM | NL | B | Call data / recording | open_data_api | open | no terms stated for feed; unclear | 763 | ~6 weeks (present) / 3 days (departed) to expected (~days ahead) | *-*-* 02/6:40:00 (NLRTM) | Unauthenticated JSON behind the public Arrival and departures widget. 763 rows in one snap…Unauthenticated JSON behind the public Arrival and departures widget. 763 rows in one snapshot (358 expected, 191 present, 214 departed). Daily recorder -> tier-A-quality ATA/ATD per ucrn going forward. No history parameter. |
| Terneuzen NLTNZ | NL | B | Call data / recording | port_website_table | open | unclear | 0 | *-*-* 05;11;17;23:40:00 Europe/Brussels (BEGNE) | Same Enigma+ feed as BEGNE (alphabetic Zeeland berth codes present); rows stored under por…Same Enigma+ feed as BEGNE (alphabetic Zeeland berth codes present); rows stored under ports/BEGNE until berths are mapped to Terneuzen/Vlissingen. | |
| Vlissingen NLVLI | NL | B | Call data / recording | port_website_table | open | unclear | 0 | *-*-* 05;11;17;23:40:00 Europe/Brussels (BEGNE) | Same Enigma+ feed as BEGNE (e.g. Sloehaven SLOEB/SLOEP, Scheldepoort SCHP*); rows stored u…Same Enigma+ feed as BEGNE (e.g. Sloehaven SLOEB/SLOEP, Scheldepoort SCHP*); rows stored under ports/BEGNE until berths are mapped. | |
| Gdynia PLGDY | PL | B | Call data / recording | port_website_table | open | unclear | 63 | *-*-* 00/6:15:00 (PLGDY) | Maritime Office Gdynia lists (Paris exit needed; HK IP times out). Snapshot 2026-11-09T23:…Maritime Office Gdynia lists (Paris exit needed; HK IP times out). Snapshot 2026-11-09T23:39Z: 51 in port (actual ATA), 12 expected. Same pages carry Gdansk Port Polnocny + Nowy Port blocks (useful for PLGDN). port.gdynia.pl has no own schedule. scripts/fetch_PLGDY.py; departure = Call ID leaving in-port list. | |
| Luleå SELLA | SE | B | Call data / recording | port_website_table | open | unclear | 11 | 2026-11-07 to 2026-11-23 | *-*-* 02/6:45:00 (SELLA) | scripts/fetch_SELLA.py (Ahoy port list; no date filter). Tier C: https://ec.europa.eu/euro…scripts/fetch_SELLA.py (Ahoy port list; no date filter). Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly); Trafikanalys sjötrafik statistics |
| Malmö SEMMA | SE | B | Call data / recording | port_website_table | open | unclear | 102 | 2026-11-02 to 2026-11-22 | *-*-* 04:20:00 (CMP) | scripts/fetch_CMP.py; mostly Finnlines/Nordö-Link Norra hamnen 702/703. Tier C: https://ec…scripts/fetch_CMP.py; mostly Finnlines/Nordö-Link Norra hamnen 702/703. Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly) |
| Trelleborg SETRG | SE | B | Call data / recording | port_website_table | open | unclear | 39 | 2026-11-09 to 2026-11-10 | *-*-* 02/6:50:00 (SETRG) | scripts/fetch_SETRG.py; ferry timetable only, weak identity -> AIS needed. Tier C: http…scripts/fetch_SETRG.py; ferry timetable only, weak identity -> AIS needed. Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly) |
| Antwerpen BEANR | BE | C | Aggregates only | none | registration | NxtPort/PoAB API terms (registration, client key) | 0 | No public ship-movement list; APICS is agent-facing. PortStays API (free tier 100 queries/…No public ship-movement list; APICS is agent-facing. PortStays API (free tier 100 queries/day) and PortVoyages API need a subscription key via NxtPort/PoAB support -> not created (no accounts). Would be tier A with a key. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table; PoAB annual facts & figures. | ||
| Zeebrugge BEZEE | BE | C | Aggregates only | none | registration | NxtPort/PoAB API terms | 0 | Same as BEANR (Port of Antwerp-Bruges PortStays/PortVoyages APIs cover Zeebrugge). Tier C:…Same as BEANR (Port of Antwerp-Bruges PortStays/PortVoyages APIs cover Zeebrugge). Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table | ||
| Lübeck DELBC | DE | C | Aggregates only | none | open | Eurostat reuse policy (CC BY 4.0) | 0 | lhg.com has no public ship list; ferry operators publish timetables (Finnlines, TT-Line, S…lhg.com has no public ship list; ferry operators publish timetables (Finnlines, TT-Line, Stena) = schedule proxy. Not in dbh SIS file. Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table; Destatis GENESIS 46331. AIS needed for calls. | ||
| A Coruña ESLCG | ES | C | Aggregates only | pcs_web | registration | unclear | 0 | Reachable via Paris proxy but config has makeLogin=true (app logs in with credentials pass…Reachable via Paris proxy but config has makeLogin=true (app logs in with credentials passed in the URL ?id=usr|pwd); no guest session. Not attempted. Fallback tier C: Puertos del Estado monthly bulletin https://www.puertos.es/es/estadisticas | ||
| Bahía de Algeciras ESALG | ES | C | Aggregates only | pcs_web | registration | unclear | 0 | Reachable via Paris proxy but config has showLogin=true + makeLogin=true: login page only,…Reachable via Paris proxy but config has showLogin=true + makeLogin=true: login page only, no guest session. Not attempted. Teleport PCS also login-only. Fallback tier C: Puertos del Estado monthly bulletin https://www.puertos.es/es/estadisticas | ||
| Castellón ESCAS | ES | C | Aggregates only | pdf_bulletin | registration | unclear | 0 | Prodevelop Portlive exists at https://castellon.portlive.posidoniaport.com but init report…Prodevelop Portlive exists at https://castellon.portlive.posidoniaport.com but init reports withAnonymousLogin=false (login only); no account created. Authority website timed out from our network. puertos.es unreachable from our network (DNS), so no sample file was downloaded. | ||
| Huelva ESHUV | ES | C | Aggregates only | pdf_bulletin | blocked | unclear | 0 | huelva.posidoniaport.com serves the shared GISWeb shell (cookie port=huelva) but 'hue…huelva.posidoniaport.com serves the shared GISWeb shell (cookie port=huelva) but 'huelva' is not in the loader's idpuertos table, so the app never starts (errorGrave); no port id, no endpoint. Not guessed. | ||
| Santander ESSDR | ES | C | Aggregates only | pcs_web | blocked | unclear | 0 | Page reachable via Paris proxy, but the app calls login.do?metodo=checkRemoteAddress and o…Page reachable via Paris proxy, but the app calls login.do?metodo=checkRemoteAddress and only opens the guest session for a hard-coded IP whitelist (port authority networks); everyone else gets ACCESO DENEGADO. Not bypassed. Fallback tier C: Puertos del Estado monthly bulletin https://www.puertos.es/es/estadisticas; puertosantander.es/es/buques-en-el-puerto not retried | ||
| Sevilla ESSVQ | ES | C | Aggregates only | pdf_bulletin | registration | unclear | 0 | Prodevelop Portlive exists at https://sevilla.portlive.posidoniaport.com but init reports …Prodevelop Portlive exists at https://sevilla.portlive.posidoniaport.com but init reports withAnonymousLogin=false (login only); no account created. Authority website timed out from our network. puertos.es unreachable from our network (DNS), so no sample file was downloaded. | ||
| Shannon Foynes IEFOV | IE | C | Aggregates only | none | open | Eurostat CC BY 4.0 | 0 | sfpc.ie has no shipping schedule page (/shipping-schedule/ 404); marine notices only. CSO …sfpc.ie has no shipping schedule page (/shipping-schedule/ 404); marine notices only. CSO Ireland port traffic statistics + Eurostat for validation. AIS needed. | ||
| Ancona ITAOI | IT | C | Aggregates only | pcs_web | open | unclear | 0 | Sinfomar-family PCS (same product as Trieste and Sicilia Orientale): public POST NaviInPor…Sinfomar-family PCS (same product as Trieste and Sicilia Orientale): public POST NaviInPorto.public snapshot only. Recorder of snapshots could give presence intervals. Assoporti annual port movements: https://www.assoporti.it/it/autoritasistemaportuale/statistiche/ | ||
| Augusta ITAUG | IT | C | Aggregates only | pcs_web | open | unclear | 0 | Same Sinfomar-family snapshot as Ancona/Trieste. Statistics: https://www.adspmaresiciliaor…Same Sinfomar-family snapshot as Ancona/Trieste. Statistics: https://www.adspmaresiciliaorientale.it/numeri/statistiche/ . Assoporti annual port movements: https://www.assoporti.it/it/autoritasistemaportuale/statistiche/ | ||
| Cagliari (incl. Porto Foxi/Sarroch) ITCAG | IT | C | Aggregates only | pdf_bulletin | open | unclear | 0 | PCS https://pcs.adspmaredisardegna.it is a login SPA. Nothing call-level public for Caglia…PCS https://pcs.adspmaredisardegna.it is a login SPA. Nothing call-level public for Cagliari/Sarroch. Assoporti annual port movements: https://www.assoporti.it/it/autoritasistemaportuale/statistiche/ | ||
| Genova ITGOA | IT | C | Aggregates only | pcs_web | open | unclear | 0 | E-Port PCS portal https://genova.pcspln.cloud/web/portale-adsp/ has only login/registratio…E-Port PCS portal https://genova.pcspln.cloud/web/portale-adsp/ has only login/registration; no public berth plan found. Assoporti annual port movements: https://www.assoporti.it/it/autoritasistemaportuale/statistiche/ | ||
| Gioia Tauro ITGIT | IT | C | Aggregates only | none | open | unclear | 0 | PCS https://pcs-psn.portodigioiatauro.it is accreditation/login only; AdSP site has no shi…PCS https://pcs-psn.portodigioiatauro.it is accreditation/login only; AdSP site has no ship list or statistics page. Effectively AIS-only for calls. | ||
| La Spezia ITSPE | IT | C | Aggregates only | none | blocked | unclear | 0 | www.adspmarligureorientale.it TCP connect timeout via Paris and Amsterdam too (not geo). N…www.adspmarligureorientale.it TCP connect timeout via Paris and Amsterdam too (not geo). No call list checked. | ||
| Livorno ITLIV | IT | C | Aggregates only | none | blocked | unclear | 0 | portialtotirreno.it: Sucuri JS challenge (307 You are being redirected) via Paris and Amst…portialtotirreno.it: Sucuri JS challenge (307 You are being redirected) via Paris and Amsterdam as from HK. Not bypassed. | ||
| Napoli ITNAP | IT | C | Aggregates only | pdf_bulletin | open | unclear | 0 | "Accosti" page https://adsptirrenocentrale.it/accosti/ only links to MarineTraff…"Accosti" page https://adsptirrenocentrale.it/accosti/ only links to MarineTraffic port pages for Napoli/Salerno/Castellammare. robots.txt blocks only named AI/SEO bots. | ||
| Palermo (incl. Termini Imerese) ITPMO | IT | C | Aggregates only | pdf_bulletin | open | unclear | 0 | Planned schedules only, as PDFs. Statistics https://www.adsppalermo.it/statistica | ||
| Ravenna ITRAN | IT | C | Aggregates only | pcs_web | registration | unclear | 0 | PCS https://pcsra.port.ravenna.it is an Angular app with ships/viagginave/pmis modules beh…PCS https://pcsra.port.ravenna.it is an Angular app with ships/viagginave/pmis modules behind login; no public ship list on www.port.ravenna.it. | ||
| Trieste ITTRS | IT | C | Aggregates only | pcs_web | open | unclear | 0 | Via Paris: NaviInPorto.public 200 (same snapshot, no times, no export). Sinfomar root is a…Via Paris: NaviInPorto.public 200 (same snapshot, no times, no export). Sinfomar root is a login (j_security_check); other public links are GPF truck pre-advice/parking (preavvisipublic, mezzifermifernetti), not ships. No history view. Snapshot recorder every 15-30 min would give presence intervals. | ||
| Venezia ITVCE | IT | C | Aggregates only | pcs_web | open | unclear | 0 | LogIS PCS is login-only; no public ship list found. | ||
| Ventspils LVVNT | LV | C | Aggregates only | none | open | Eurostat reuse policy (CC BY 4.0) | 0 | portofventspils.lv has no ship list (only agencies/ferry pages); 1 web search found only A…portofventspils.lv has no ship list (only agencies/ferry pages); 1 web search found only AIS trackers. AIS fallback needed | ||
| Amsterdam NLAMS | NL | C | Aggregates only | none | open | Eurostat CC BY 4.0 | 0 | Port of Amsterdam open-data page (JS) lists GIS layers (berths, buoys), no ship calls; MyP…Port of Amsterdam open-data page (JS) lists GIS layers (berths, buoys), no ship calls; MyPort lock schedule (IJmuiden) redirects to Azure B2C login. Portbase PCS is partner-only. CBS StatLine 85598NED is cargo tonnes only (no vessel-call table found). Tier C: Eurostat mar_tf_qm (quarterly vessels & GT by main port and vessel type): https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table | ||
| Moerdijk NLMOE | NL | C | Aggregates only | none | open | Eurostat CC BY 4.0 | 0 | portofmoerdijk.nl has no public ship list; seagoing calls notified via Portbase (partner-o…portofmoerdijk.nl has no public ship list; seagoing calls notified via Portbase (partner-only). Check whether Moerdijk is a separate reporting port in mar_tf_qm. AIS needed. | ||
| Gdańsk PLGDN | PL | C | Aggregates only | port_website_table | open | unclear | 0 | vessels-in-port snapshot only (could be polled to derive calls). Maritime Office Gdynia um…vessels-in-port snapshot only (could be polled to derive calls). Maritime Office Gdynia umgdy.gov.pl ruch-statkow unreachable (ECONNREFUSED/timeout). Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly) | ||
| Szczecin PLSZZ | PL | C | Aggregates only | port_website_table | open | unclear | 0 | 2024-12-17 to 2024-12-17 | Maritime Office Szczecin lists (Świnoujście/Police/Szczecin tables) show 'Aktualizacj…Maritime Office Szczecin lists (Świnoujście/Police/Szczecin tables) show 'Aktualizacja z dnia 2024-12-17' - defunct; port.szczecin.pl has no ship list (PCS closed). Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly); GUS 'Gospodarka morska w Polsce' yearbook | |
| Świnoujście PLSWI | PL | C | Aggregates only | port_website_table | open | unclear | 0 | 2024-12-17 to 2024-12-17 | same UMS system as PLSZZ (frozen). Tier C: https://ec.europa.eu/eurostat/databrowser/view/…same UMS system as PLSZZ (frozen). Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table (Vessels arriving in main ports by type/size, quarterly) | |
| Sines PTSIE | PT | C | Aggregates only | pdf_bulletin | open | unclear | 0 | 1978 to 2021 | No public call list found on apsinesalgarve.pt (homepage + JUL page + 1 search). Sines lik…No public call list found on apsinesalgarve.pt (homepage + JUL page + 1 search). Sines likely runs on JUL (jul.nsw.pt, login only). Ask APS whether a LIVEDATA-like page exists. Also AMT monthly port market reports (amt-autoridade.pt). | |
| Constanța (incl. Midia) ROCND | RO | C | Aggregates only | open_data_api | open | unclear | 0 | Names only, no times; sample JSON in ROCND/raw. Daily recorder would give call dates. Mont…Names only, no times; sample JSON in ROCND/raw. Daily recorder would give call dates. Monthly statistics: https://www.portofconstantza.com/pn/page/np_statistici_port . Covers Midia/Mangalia under same authority. AIS needed for call times. | ||
| Burgas BGBOJ | BG | D | No public data | none | paid | Port Burgas EAD: operational report by registered e-mail subscription (EUR 20/month), users may not pass on or redistribute it | 0 | No public list. BG PCS (bulpcs.vtmis.bg) login-only; bgports.bg has no ship movements page…No public list. BG PCS (bulpcs.vtmis.bg) login-only; bgports.bg has no ship movements page. Not bought. Tier C: Eurostat mar_tf_qm / BG NSI. AIS needed. | ||
| Calais FRCQF | FR | D | No public data | none | open | 0 | calais.vigiesip.eu exists but both nonauthent endpoints return []. Traffic is ferry-domina…calais.vigiesip.eu exists but both nonauthent endpoints return []. Traffic is ferry-dominated (P&O, DFDS, Irish Ferries): schedules derivable from operator timetables + AIS. Tier C: Port Boulogne Calais annual traffic figures; French SDES port statistics. | |||
| Dunkerque FRDKK | FR | D | No public data | ais_only | open | third-party AIS widget (VesselFinder terms) | 0 | No expected/at-berth list on site (sitemap checked). Tier C: monthly traffic statistics on…No expected/at-berth list on site (sitemap checked). Tier C: monthly traffic statistics on dunkerque-port.fr (chiffres clés). | ||
| Fos-sur-Mer FRFOS | FR | D | No public data | pcs_web | blocked | unclear | 0 | Same GPMM PCS host as FRMRS; times out from both EU exits on 2026-11-10. | ||
| Le Havre FRLEH | FR | D | No public data | none | open | unclear | 0 | haropaport.com now 200 via Paris (Imperva challenge only from HK). Checked homepage, escal…haropaport.com now 200 via Paris (Imperva challenge only from HK). Checked homepage, escales.haropaport.com (tourism site, not ship calls), Le Havre webapp (redirects to escales). No public Le Havre call list; PCS S)ONE login-only. DrakHAR public lists exist for Rouen only. Tier C: statistiques.haropaport.com; https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table | ||
| Marseille FRMRS | FR | D | No public data | pcs_web | blocked | unclear | 0 | Page 200 via Paris (now shows MESSAGE AVERTISSEMENT block, no maintenance text) but iframe…Page 200 via Paris (now shows MESSAGE AVERTISSEMENT block, no maintenance text) but iframe host pcs.marseille-port.fr and neptune-port.marseille-port.fr TCP-timeout via Paris and Amsterdam. data.gouv.fr API search (escales / marseille fos / GPMM): 0 datasets. Re-check later; likely A/B if PCS host comes back. Tier C: GPMM monthly traffic stats; https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table | ||
| Agioi Theodoroi GRAGT | GR | D | No public data | ais_only | 0 | Private Motor Oil Hellas refinery terminal; no public call list on moh.gr. Not surveyed be…Private Motor Oil Hellas refinery terminal; no public call list on moh.gr. Not surveyed beyond that (private terminal). Tier C fallback: ELSTAT maritime transport statistics (vessel arrivals by port, quarterly) and Eurostat mar_tf_qm (vessels by port, quarterly). AIS needed. | ||||
| Patras GRGPA | GR | D | No public data | none | 0 | patrasport.gr (OLPA) homepage and cruise page: no schedule, arrivals or statistics found; …patrasport.gr (OLPA) homepage and cruise page: no schedule, arrivals or statistics found; 1 web search. Tier C fallback: ELSTAT maritime transport statistics (vessel arrivals by port, quarterly) and Eurostat mar_tf_qm (vessels by port, quarterly). AIS needed (Italy ro-pax from South Port). | ||||
| Ploče HRPLE | HR | D | No public data | none | open | unclear | 0 | PCS described but not public. Aggregates: Croatian Bureau of Statistics (DZS) maritime tra…PCS described but not public. Aggregates: Croatian Bureau of Statistics (DZS) maritime transport (not checked). | ||
| Rijeka HRRJK | HR | D | No public data | none | blocked | unclear | 0 | portauthority.hr: Cloudflare 520 (origin down) via Paris too. Nothing else tried. | ||
| Klaipėda LTKLJ | LT | D | No public data | none | blocked | unclear | 0 | 403 Cloudflare Just a moment challenge via Paris and Amsterdam (bot block, not geo); not b…403 Cloudflare Just a moment challenge via Paris and Amsterdam (bot block, not geo); not bypassed. Tier C: https://ec.europa.eu/eurostat/databrowser/view/mar_tf_qm/default/table; osp.stat.gov.lt | ||
| Marsaxlokk MTMAR | MT | D | No public data | none | open | unclear | 0 | Transport Malta (transport.gov.mt) returns Cloudflare 403. Aggregates: NSO Malta maritime …Transport Malta (transport.gov.mt) returns Cloudflare 403. Aggregates: NSO Malta maritime transport releases (not checked). AIS needed. | ||
| Galați ROGAL | RO | D | No public data | none | 0 | apdmgalati.ro: no ship movement list (homepage + 1 search). Aggregates in APDM board repor…apdmgalati.ro: no ship movement list (homepage + 1 search). Aggregates in APDM board reports (PDF) and INS/Eurostat. AIS needed (Danube, river+sea vessels). |