Next free-source hunt
We check for new free data every weekday.
Datasets / Transport & Shipping
digitraffic.fi/

Fintraffic Digitraffic Transport APIs

Freeauth: noneCC-BY-4.0#transport-shipping#event-data#geospatial#real-time#flows✓ verified Nov 1, 2026

Fintraffic Digitraffic Transport APIs

Fintraffic's Digitraffic services expose Finnish road conditions and disruptions, railway timetables and train movements, and maritime AIS, port-call, winter-navigation, sea-state and aid-to-navigation data. Public REST, GraphQL and MQTT interfaces return JSON, GeoJSON, XML, GTFS and streaming messages with no key; applications should send the Digitraffic-User header.

Required Attribution:

"Source: Fintraffic / digitraffic.fi, license CC 4.0 BY".

Coverage

Coverage is Finland's roads, operating rail network and waterways, with update timing varying by product: rail real-time feeds update every 10 seconds, road weather and maintenance data about every minute, sea-state estimates every 30 minutes and marine aid faults every 10 minutes. The general unauthenticated limit without a Digitraffic-User header is 60 requests per minute per IP, and MQTT is limited to five connections per IP.

Verdict

A multi-modal flow and disruption signal for Finnish vessels, trains and roads, including positions, schedules, traffic incidents, weather and maintenance activity. Freshness differs by endpoint, and most HTTP responses are cached, so polling faster than the documented update cycle adds no signal. AIS and other sensor fields can be delayed, incomplete or erroneous, while beta and deprecated interfaces can change. Published use must preserve the required Fintraffic attribution and licence notice.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load Digitraffic marine AIS into pandas and Parquet. Checked against the provider's documentation on Nov 1, 2026.

Raw skill file (/skills/fintraffic-digitraffic.md)Also in our MCP server: call get_ingestion_skill with {"slug": "fintraffic-digitraffic"}.

Access

  • No account or key. The marine AIS locations endpoint is a public JSON request.
  • Send a non-personal Digitraffic-User application identifier; requests without it have lower limits.

Request

bash
curl --compressed -H 'Digitraffic-User: SignalLab ingestion example/1.0' 'https://meri.digitraffic.fi/api/ais/v1/locations'

Format

GeoJSON FeatureCollection with a dataUpdatedTime and point features containing MMSI, longitude, latitude, speed over ground, course over ground, heading, navigation status and source timestamps.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""Fintraffic Digitraffic marine AIS locations -> pandas -> Parquet."""
import requests
import pandas as pd

URL = "https://meri.digitraffic.fi/api/ais/v1/locations"
HEADERS = {"Digitraffic-User": "SignalLab ingestion example/1.0"}
r = requests.get(URL, headers=HEADERS, timeout=60)
r.raise_for_status()
payload = r.json()
df = pd.json_normalize(payload["features"])
df["longitude"] = df["geometry.coordinates"].str[0]
df["latitude"] = df["geometry.coordinates"].str[1]
df["position_time"] = pd.to_datetime(df["properties.timestampExternal"], unit="ms", utc=True)
df.to_parquet("fintraffic_marine_ais.parquet", index=False)
print(len(df), "vessel positions; data updated", payload["dataUpdatedTime"],
      "; latest position", df["position_time"].max().isoformat())

Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 1023 vessel positions; data updated 2026-11-02T02:20:40Z ; latest position 2026-11-02T02:20:40.155000+00:00

Limits

  • Without Digitraffic-User, the general HTTP limit and the tie/meri V1 limit are 60 requests per minute per IP.
  • MQTT is limited to five connections per IP.
  • The provider does not quantify the higher allowance granted when Digitraffic-User is sent.

Quirks

  • properties.timestampExternal is milliseconds since the Unix epoch; the MQTT documentation separately warns that metadata and location timestamps use different units.
  • GeoJSON coordinates are longitude then latitude.
  • The endpoint is a current snapshot rather than a historical archive; persist retrieval and source timestamps for a local time series.
  • HTTP compression is mandatory on Digitraffic interfaces; requests supplies an Accept-Encoding header automatically.

Terms and attribution

  • Digitraffic open data is licensed under CC BY 4.0, including commercial reuse.
  • Credit Fintraffic, link the licence and indicate changes when publishing the data.
  • Preserve copyright notices, source identifiers, warranties, disclaimers and liability limitations where applicable.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer