Developers & agents
← Next TrainA free, read-only JSON API for live London transport — the same data this site runs on, from the TfL Unified API and National Rail Enquiries where available. No API key required. Coordinates are WGS84 lat/lon.
Endpoints
GET /api/arrivals?lat=&lon=Next arrivals at the nearest stations to a pointGET /api/buses?lat=&lon=Upcoming buses at the nearest stopsGET /api/station-arrivals?id=Live arrivals for one station (NaPTAN id)GET /api/station-search?q=Find a station by nameGET /api/line-status?lineId=Live service status for one or all lines (omit lineId for the whole network)GET /api/bus-route?route=&direction=A bus route's stops + road geometryGET /api/bus-live?route=&direction=Live vehicle positions on a routeGET /api/line-route?lineId=A rail line's ordered stopsGET /api/linesIndex of every rail line (id, name, kind)GET /api/routesIndex of every active bus route (id, name)GET /api/healthLiveness; ?deep=1 also pings TfL upstream
Look up departures
- Find a station with
/api/station-search?q=Vauxhall. - Use its returned id in
/api/station-arrivals?id={id}. - Check
fetchedAtandstale. Warn when data is stale or older than 90 seconds; useexpectedArrivalfor absolute departure times.
Refresh station boards no faster than every 30 seconds. On 429, honour Retry-After. A 502 means a temporary upstream failure; only 404 means the station was not found.
Browse
Line status · Lines · Stations · Bus routes
Data © Transport for London. Please be considerate — responses are cached; don’t hammer the endpoints.