Rail data and API

Put live rail data in your product

Train positions, delays in minutes, departure boards and disruptions from every market we cover — in one schema.

The map stays free for travellers. This is the data layer underneath it.

One response shape, every market

The same request answered for two markets: same fields, same station codes, same delay semantics.

api.trainsonmap.comone schema

GET /api/station/HKI?country=finland

{
  "station": { "shortCode": "HKI", "name": "Helsinki asema" },
  "stationTrains": [
    {
      "name": "IC 967",
      "time": "2026-10-10T12:03:00.000Z",
      "lateMins": 8,
      "platform": "11",
      "isCancelled": false
    }
  ]
}

GET /api/station/2cc3da7ee08d?country=germany

{
  "station": { "shortCode": "2cc3da7ee08d", "name": "Köln Hbf" },
  "stationTrains": [
    {
      "name": "ICE 512",
      "time": "2026-10-10T12:06:00.000Z",
      "lateMins": 6,
      "platform": "7",
      "isCancelled": false
    }
  ]
}

Example responses. The values move with the operator's feed.

Markets

Live data is read from each operator's own feed: imported on a schedule where the feed is a realtime one, and live on request where it is not.

MarketLive dataTime zone
AustraliaEvery 3 minutesAustralia/Brisbane
CzechiaEvery 3 minutesEurope/Prague
New ZealandEvery 3 minutesPacific/Auckland
FinlandLiveEurope/Helsinki
FranceEvery 3 minutesEurope/Paris
GermanyEvery 5 minutesEurope/Berlin
IrelandLiveEurope/Dublin
NetherlandsLiveEurope/Amsterdam
NorwayLiveEurope/Oslo
SpainEvery 3 minutesEurope/Madrid
SwedenLiveEurope/Stockholm
BelgiumLiveEurope/Brussels

Sources, attribution and the full licence text for every market are on the About page.

What you can build

Ticket sellers and OTAs

Live boards and delays inside the booking flow, without a per-country integration.

Mobility apps and platforms

The same feed in your own map or planner, in every market we cover.

Rail-tech vendors

The normalisation layer between operator feeds and the product you sell.

First and last mile

A late train as a signal for pickup promises: taxis, airports, stations.

Claims and compensation

Whether a service was late at a station on a date — see the history note below.

Analysts and research

A bulk extract for a study. A file and a licence, no integration.

Punctuality history

Beta

Per service and service day: when a train reached each stop and how late it was. It is written from our own captures, so it grows one day per day and its depth differs by market — use it to start a check, not as a replacement for the operator's own record.

Start with 30 days of the live API

One key, every market, no commitment — plus the sample extract to check against cases you already know.

Questions

What does it cost?

Pricing is quoted in writing against your use case, the markets you need and the volume you expect. The 30-day evaluation key is free.

How do we get access?

Send your use case, the markets you need and the volume you expect to touko@trainsonmap.com. You get a scoped key, the sample extract and a written quote.

Which markets are covered?

The markets listed on this page, each read from its operator's or authority's own feed. Sources and licence texts are on the About page.

Can we resell it?

You license our layer, not the upstream feeds. Every market is public data, and the three markets with share-alike or contractual terms are disclosed per market.

Is the history complete?

It is written from our own captures, so it grows daily and differs by market, and the operator's own record is fuller. Use it to start a check, and ask us for the depth in the markets you need.

© 2026 Junat kartallaRiippumaton palvelu, ei sidoksissa rautatieyhtiöihin.
Junat kartallaJunat kartalla