In testing LopoRail is in active testing — some features may be incomplete or change.
Global Rail Platform

Developers · LopoRail API

Railway data,
as an API.

Stations, live departure boards, performance (PPM) and real-time vehicle positions from across LopoRail — read-only, versioned, and served over a public REST API. Build a board, a map, a bot or a study; the data is open to developers.

v1
Stable, versioned namespace
REST
JSON over HTTPS, no SDK required
Read-only
Safe to query from anywhere
Free tier
Get started with no cost

Quickstart

Your first request

Every response is JSON. Public endpoints need no key; data endpoints take a bearer token.

curl -H “Authorization: Bearer lra_xxxxxxxxxxxxxxxxxxxxxxxxxxxx” \ “https://loporail.com/wp-json/loporail/v1/stations?search=London&limit=5”

Base URL: https://loporail.com/wp-json/loporail/v1/

Endpoints

What you can query

All paths are relative to the base URL. Parameters shown in brackets are optional.

MethodEndpointDescription
GET/infoAPI information and endpoint discovery (public).
GET/openapiFull OpenAPI 3.x specification (public).
GET/stationsSearch stations. Params: search, limit, offset.
GET/stations/{crs}A single station by its 3-letter CRS code.
GET/stations/tocs/{toc}Stations served by a train operating company.
GET/boards/{crs}Live departures and arrivals. Params: type, limit, window.
GET/ppm/{provider}Performance (PPM) metrics for a provider, e.g. ch, fr, de, us-mbta.
GET/positions/{provider}Real-time vehicle positions for a provider, e.g. us-mbta, jp.

Rate limits & tiers

Fair use, by tier

Limits are per API key. Every response carries its remaining quota in the headers, and a 429 tells you when to retry.

Free

1,000 per day

10,000 requests a month, 60 a minute. Enough to build and test.

Developer

10,000 per day

100,000 requests a month for production apps.

Business

100,000 per day

A million requests a month, with priority support.

Enterprise

1,000,000 per day

Ten million a month, bespoke terms and SLAs.

Headers returned on every request: X-RateLimit-Limit-Day, X-RateLimit-Remaining-Day, X-RateLimit-Limit-Month, X-RateLimit-Remaining-Month, Retry-After.

By the numbers

Railway data, at scale

One platform, one API, and a dataset that keeps growing. We are proud of how far this has come — and it is open to builders.

128,500
Stations in the worldwide directory
144
Countries featured in the data
224
Rail networks from around the world
208
Live rail feeds from global networks

Get access

Two ways to build with LopoRail

Live & reference data

API & Developer Plans

Live positions, boards, stations and performance from across the world — one REST API and one key.

View API plans
Historical value layer

Traincestry Data Access

The records, people, maps and transcriptions behind the open data — for researchers, museums and societies.

Explore Traincestry

Start building.

Read the spec, grab a key, and make your first request in minutes.

ESC
Go to
↑↓ to move ↵ to open Esc to close
Advertise Sponsorship