Developer
TrainsTracking API
Real-time train data for 19 countries. No API key required for public endpoints. Free for non-commercial use.
Public & Free 19 Live Countries No Auth for Public Endpoints
Base URL
https://trainstracking.com
Endpoints
GET
/api/live/realtimeFetch live train positions and status for one or all supported countries.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| source | string | No | Country slug (e.g. germany, ireland, finland). Omit for all countries. |
| stop | string | No | Station stop ID (used for Germany/VBB). Default: berlin-hbf |
Example Request
GET /api/live/realtime?source=germany&stop=berlin-hbf
Example Response
{ "trains": [ { "id": "de-123", "trainCode": "ICE 42", "name": "ICE 42 → Munich", "status": "running", "lat": 52.52, "lng": 13.38, "delay": 2, "platform": "7", ... } ], "liveCountries": ["germany","ireland",...], "stats": { "total": 120, "running": 95, "withGPS": 60, "delayed": 18 }, "fetchedAt": "2026-03-23T..." }GET
/api/live/departuresLive departure board for a specific station. Returns next departures with platform, delay, and operator info.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| station | string | Yes | Station code or stop ID (e.g. BHV for Berlin, ASD for Amsterdam) |
| limit | number | No | Max number of departures. Default: 20 |
Example Request
GET /api/live/departures?station=BHV&limit=10
Example Response
{ "departures": [ { "line": "ICE 100", "destination": "Munich Hbf", "platform": "4", "scheduledDep": "14:32", "delay": 0, "cancelled": false } ], "station": "Berlin Hbf", "fetchedAt": "2026-03-23T..." }Supported Countries (Live API)

Germany
VBB Berlin REST API

Ireland
Irish Rail Realtime API

Belgium
iRail NMBS/SNCB

Switzerland
opendata.ch SBB API

Finland
Digitraffic FI

Netherlands
NS via DB REST proxy

Norway
Entur Norway GraphQL

Austria
ÖBB via DB REST proxy

Sweden
SJ via DB REST proxy

France
SNCF via DB REST proxy

USA
Amtraker v3 API

Japan
JR East ODPT API
Rate Limits & Usage Policy
Public endpoints are rate-limited to 60 requests/minute per IP.
Commercial use (integration in third-party products, data resale) requires written permission — email api@trainstracking.com.
Attribution is required: "Data via TrainsTracking (trainstracking.com)".