Train delays, road works and ship positions in Finland.
Price
2 USD
per 1 000 records (a train stop, road message, road weather reading or ship position). Platform usage is included.
Try it free: Apify's free plan includes 5 USD of usage every month, enough for about 2 500 records. No credit card needed.
What it does.
Choose one dataset per run. trains returns departures from a station, or the latest stop of the trains you name, with scheduled and actual time, delay in minutes and cancellations. roadDisruptions returns accidents, closures and road works with road number, municipality, start and end time and restrictions. roadWeather returns air and road surface temperature, road condition and friction. vessels returns the latest AIS position, destination and ETA per ship.
A run with empty input returns the 50 most recently updated traffic announcements and road works in all of Finland. The sample below follows three long distance trains (numbers 1, 9 and 27) and shows the latest stop of each run, including one arrival in Rovaniemi 108 minutes late. Road messages are mostly in Finnish and are passed on as published.
Sample from a real run.
T8JDrplafL5bfHk8D on 5 October 2026, exactly as the tool returned them.trainNumber | trainType | departureStationName | arrivalStationName | stationName | event | scheduledTime | actualTime | delayMinutes | cancelled |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IC | Helsinki | Lappeenranta | Kaitjärvi | departure | 2026-10-05T05:38:00.000Z | 2026-10-05T05:40:45.000Z | 3 | false |
| 27 | IC | Helsinki | Rovaniemi | Rovaniemi | arrival | 2026-10-04T19:45:00.000Z | 2026-10-04T21:32:54.000Z | 108 | false |
| 9 | S | Helsinki | Lappeenranta | Lappeenranta | arrival | 2026-10-04T15:26:00.000Z | 2026-10-04T15:32:13.000Z | 6 | false |
| 1 | S | Helsinki | Kouvola | Kouvola | arrival | 2026-10-04T05:19:00.000Z | 2026-10-04T05:18:55.000Z | 0 | false |
What people use it for.
Transport and logistics
Road works and closures on the routes you drive, and delays on the trains that carry your freight or staff.Winter maintenance and construction
Road surface temperature, road condition and friction near your sites.Ports and shipping agents
Which ships are near a port, with destination and ETA.Alerts
Schedule a run withonlyNewset to true and only records that earlier runs did not deliver are returned, for example new road works on one road.
Fields.
| Field | What it holds |
|---|---|
dataset | roadDisruptions, roadWeather, trains or vessels. |
id | Stable id of the record (see "Monitoring and scheduling"). |
time | The main time of the record in UTC: message version time, station reading time, scheduled train time or AIS position time. Rows are sorted by it, newest first. |
latitude | Latitude of the station, WGS84 |
longitude | Longitude of the station, WGS84 |
source | Fintraffic / digitraffic.fi. |
sourceUrl | The Digitraffic API address the row was read from. |
license | CC BY 4.0 with a link to the license and a note that the fields were converted. |
retrievedAt | When the actor read the data (UTC). |
trainNumber | Train number |
departureDate | Finnish date the train run starts |
trainType | Train type, for example IC |
trainCategory | Train category, for example Long-distance |
commuterLine | Commuter line letter, when the train has one |
operator | Operator name, for example VR-Yhtymä Oyj. |
departureStation | Code of the first station of the run |
departureStationName | Name of the first station of the run |
arrivalStation | Code of the last station of the run |
arrivalStationName | Name of the last station of the run |
station | Code of the stop this row describes |
stationName | Name of the stop this row describes |
event | departure or arrival |
track | Platform track. |
scheduledTime | Scheduled time of the stop, UTC |
actualTime | Actual time of the stop, UTC |
estimatedTime | Live estimate while the actual time is not yet known, UTC |
delayMinutes | Minutes late (negative when early), as Digitraffic computes it. |
cancelled | The stop or the whole train is cancelled. |
causeCodes | Delay cause codes from Digitraffic, when given. |
runningCurrently | The train is on its way. |
Input example.
{
"dataset": "trains",
"onlyNew": true,
"maxResults": 50,
"trainNumbers": [
"1",
"9",
"27"
]
}What a run costs
A run with the default input returns at most 50 road messages, so it costs at most 0.10 USD. The run on 5 October 2026 shown above returned 4 train stops in about 5 seconds, which is 0.008 USD. maxResults caps every run, and records skipped by onlyNew are not charged.
Run it on a schedule.
Ask for new rows only
SetonlyNewtotrue. The actor remembers what it has already delivered for the same input, in a named key-value store in your own Apify account (nightwave-state-digitraffic-finland).Add a schedule
Add the actor to a schedule in Apify Console, for example with the cron expression0 7 * * *for 07:00 every day.Get what is new
The first run returns everything in the selection. After that, each run returns and charges only what is new. A run with nothing new finishes with 0 rows and costs nothing.
Source and license.
All data comes from Digitraffic, Fintraffic's open data service: the road traffic API (tie.digitraffic.fi), the rail traffic API (rata.digitraffic.fi) and the marine traffic API (meri.digitraffic.fi). No key is needed. Pleasure craft are always left out of the ship data. The tool is not affiliated with or endorsed by Fintraffic.
Fintraffic's open data is licensed under CC BY 4.0 and may be used commercially with credit. When you publish it, keep the line "Source: Fintraffic / digitraffic.fi, license CC 4.0 BY" and say that the data has been modified, since the tool renames and converts fields. Every row carries source, sourceUrl and license for this.