Skip to main content
LIVEConnecting to railway feeds…

Developers

TrainsTracking API

Real-time train data for 19 countries. Public endpoints need no API key and are free for non-commercial use.

Base URL

https://trainstracking.com

Endpoints

GET/api/live/realtime

Fetch live train positions and status for one or all supported countries.

Parameters

NameTypeRequiredDescription
sourcestringNoCountry slug (e.g. germany, ireland, finland). Omit for all countries.
stopstringNoStation 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/departures

Live departure board for a specific station. Returns next departures with platform, delay, and operator info.

Parameters

NameTypeRequiredDescription
stationstringYesStation code or stop ID (e.g. BHV for Berlin, ASD for Amsterdam)
limitnumberNoMax 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)

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 [email protected].

Attribution is required: "Data via TrainsTracking (trainstracking.com)".