Where does the train data come from?
Justin Clarke-Salt
All departure information in Next3Trains comes from National Rail Open Data, licensed via the Rail Data Marketplace. It’s the same live departure board feed that drives the screens at the station. The attribution is shown in the app under Settings → About.
Since version 1.9 the app also draws on National Rail’s Knowledgebase for station facilities and accessibility, planned engineering work and each operator’s network status, and since 1.10.1 on timetable data published by four operators for booked train lengths. All of it is read-only reference data - see Other data in the app below.
The app displays that data and doesn’t modify it. If National Rail’s feed is having problems, the app will show a clear error rather than pretend - and if a train’s status looks wrong on the departure board at the station too, that’s the upstream data rather than the app.
What’s covered
Great Britain National Rail, and only that - 2,612 stations, including the ones that have opened since the app launched, such as Cambridge South and Brent Cross West. The operators that appear on National Rail departure boards are all included, so London Overground, the Elizabeth line and Merseyrail are covered.
Not covered: the London Underground, buses, trams, light rail that isn’t part of National Rail, Northern Ireland, and anywhere outside Great Britain.
Other data in the app
- Station information (the ⓘ beside each station code) comes from National Rail’s Knowledgebase. Most of it ships inside the app and is refreshed with app updates; only the station alerts and lift status are fetched live. See What does the ⓘ next to a station show?.
- Planned engineering work comes from the Knowledgebase incidents feed, fetched about every six hours and filtered to your route. Operator status comes from the National Service Indicator. See What are the notices and planned works on my route?.
- Booked train lengths for GWR, East Midlands Railway, Avanti West Coast and Greater Anglia come from those operators’ timetable data, bundled with the app and topped up from the app’s own backend. See How many coaches will my train have, and how full is it?.
None of these requests carry anything about you beyond a station or operator code, and nothing about you is stored.
Why the data can be a few minutes old
The app fetches fresh data whenever you open it or pull to refresh, and since version 1.10.1 it keeps the route you’re looking at refreshed on its own - every 30 seconds when the next train is less than five minutes away, stretching to every five minutes when it’s more than half an hour off. Your other routes are refreshed in turn in the background. So what you see in the app is current.
Widgets, complications and Live Activities are different. iOS strictly limits how often those can update in the background, and the backend that pushes updates for them deliberately reuses recently fetched data rather than hammering the National Rail API - in practice data behind those surfaces can be up to about four or five minutes old. That’s a reasonable trade for battery life and for staying within the free data allowance, but it’s why the number on your Lock Screen might lag the number in the app by a minute or two.
If you need the most current information, open the app - or, on iOS 17 and later, tap the refresh icon in the widget’s header.
Related
- Why doesn’t my train show up? - direct trains only, and the two hour window
- Why aren’t my widgets updating?
- What does the ⓘ next to a station show?
- What are the notices and planned works on my route?
- How many coaches will my train have, and how full is it?