UK National Rail Scraper — Live Train Times, Boards & Delays avatar

UK National Rail Scraper — Live Train Times, Boards & Delays

Pricing

from $1.50 / 1,000 record scrapeds

Go to Apify Store
UK National Rail Scraper — Live Train Times, Boards & Delays

UK National Rail Scraper — Live Train Times, Boards & Delays

Scrape live UK rail data from National Rail: departure and arrival boards by station, real-time delays, cancellations, platforms, and operator info. Covers GWR, LNER, Avanti, Southern, Thameslink, ScotRail, TfW, Elizabeth line, CrossCountry, Northern, and more.

Pricing

from $1.50 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

15 days ago

Last modified

Share

UK National Rail Scraper — Live Train Times, Delays & Departure Boards

Scrape live departure and arrival boards from nationalrail.co.uk by station CRS code. Returns real-time service data — operator, scheduled and actual times, delay in minutes, platform assignments, cancellation reasons, and crowding indicators — for any UK station in one run.

What does the UK National Rail Scraper do?

The scraper fetches each station's live departure or arrival board from National Rail and returns structured JSON. You supply a list of 3-letter CRS station codes and choose whether to pull departures or arrivals. Every UK train operating company is covered: LNER, GWR, Avanti West Coast, ScotRail, Southern, Thameslink, Transport for Wales, CrossCountry, Northern, the Elizabeth line, and more.

The scraper reads the structured service data the site publishes, so runs are fast.

What data does it extract?

Each service record contains:

FieldDescription
station_nameName of the queried station
station_crs3-letter CRS code of the queried station
board_typedepartures or arrivals
ridRun ID — unique service identifier
train_uidTimetable UID
operatorTrain operating company name (e.g. London North Eastern Railway)
operator_code2-letter TOC code (GR, GW, SR, etc.)
origin_station / origin_crsOrigin station name and CRS code
destination_station / destination_crsDestination name and CRS code
scheduled_departurePlanned departure (ISO 8601)
estimated_departureReal-time estimated departure, null if unavailable
actual_departureActual departure time, null if not yet departed
scheduled_arrivalPlanned arrival at destination (ISO 8601)
estimated_arrivalReal-time estimated arrival
actual_arrivalActual arrival time
delay_minutesDelay in whole minutes (positive = late), null if no real-time data
platformPlatform number or letter, null if not yet announced
statusOnTime, Late, Cancelled, Arrived, or Departed
cancelledBoolean — true if service is cancelled
cancellation_reasonReason text when cancelled, null otherwise
stops_countNumber of intermediate stops
service_categoryExpressPassengerTrain or PassengerTrain
loading_levelCrowding indicator: Unknown, Level1 (quiet), Level2 (busy), Level3 (very busy)
scraped_atISO 8601 timestamp when this record was collected

Note on loading_level: National Rail publishes crowding as one of four categorical values (Unknown, Level1, Level2, Level3), not as a numeric percentage. Most services return Unknown.

How to use it

The actor requires at least one CRS station code. Every UK station has a 3-letter CRS code — here are the most commonly needed ones:

StationCRS
London King's CrossKGX
London PaddingtonPAD
London EustonEUS
London VictoriaVIC
London WaterlooWAT
Manchester PiccadillyMAN
Birmingham New StreetBHM
Edinburgh WaverleyEDB
Glasgow CentralGLC
LeedsLDS

The full list is published by National Rail. For less common stations, search <station name> CRS code — the 3-letter code appears on timetable PDFs and booking sites.

{
"mode": "departure_board",
"stations": ["KGX", "EDB", "MAN"],
"maxItems": 30
}
FieldTypeDefaultDescription
modestringdeparture_boarddeparture_board or arrival_board
stationsarray["KGX", "EDB"]List of CRS codes — at least one required
maxItemsinteger10Maximum total records across all stations

Use cases

  • Travel app developers — build live board displays, delay notifications, or real-time journey planners on National Rail data
  • Delay and performance research — track cancellation rates, delay patterns, and operator performance over time by running the scraper on a schedule
  • MaaS platforms — integrate UK rail into multi-modal journey planning
  • Operations and operations research — pull service-level data for train flow modelling or incident analysis
  • Journalists and analysts — extract operator-level delay and cancellation data for reporting on rail performance

FAQ

Does this return historical timetable data?

No. The scraper returns the live board at the time of the run — the next services from each station. It does not cover historical schedules or full 24-hour timetables. For historical data, commercial feeds (Darwin, LDBWS) or the OpenTrainTimes API are the appropriate sources.

How much does a run cost?

Charged at $0.10 per run start plus $0.0015 per service record. A run fetching 20 records from two stations costs approximately $0.13.


Results are available for download as JSON, CSV, or Excel from the Apify dataset view.