Three sets of reference data are available from Network Rail. The All Reference Data topic must be selected and subscribed to in the My Feeds tab of the data feeds site to be able to access the CORPUS and SMART data. The Train Planning data is available from this site. See the about the feeds page for more details.
Other useful reference sources are also listed.
CORPUS: Location Reference Data
This is provided from the CORPUS system (Codes for Operations, Retail & Planning – a Unified Solution). The data is a periodically-updated snapshot of the CORPUS database. This can be used to translate STANOX, TIPLOC, NLC, UIC and 3-alpha (CRS) codes to location descriptions.
Downloading CORPUS Data
To download the data, visit https://publicdatafeeds.networkrail.co.uk/ntrod/SupportingFileAuthenticate?type=CORPUS
CORPUS Data Format
CORPUS data is supplied as a plain text file containing a JSON representation of the data. Entries comprise the following fields (not all fields may contain data):
|3ALPHA||3-letter location code|
|NLCDESC||Description of the NLC|
|NLCDESC16||NLC description (16-character version)|
SMART: Berth Stepping Data
The SMART database contains details of train describer berths and allows movements into berths to be translated into arrivals and departures from locations. The data feed contains a periodically-updated snapshot of the SMART database.
Downloading SMART Data
To download the data, visit https://publicdatafeeds.networkrail.co.uk/ntrod/SupportingFileAuthenticate?type=SMART
SMART Data Format
SMART data is supplied as a plain text file containing a JSON representation of the data. Entries comprise the following fields (not all fields may contain data):
|TD||Train describer area|
|FROMBERTH||TD berth that movement is from|
|TOBERTH||TD berth that movement is to|
|FROMLINE||Line which the movement is from|
|TOLINE||Line which the movement is to|
|BERTHOFFSET||Difference between the time the berth event occurs and the time to be recorded in TRUST, in seconds|
|EVENT||One of A, B, C, D|
|STANOX||STANOX code for location|
|STANME||Abbreviated description of location|
|STEPTYPE||One of B, F, C, D, I, T, E|
An in-depth overview of how to use SMART data is available.
Twice a year, a set of geographical data is released from Network Rail which contains data to be used when planning trains. It also includes other data, such as platform numbers at stations, and details of activity codes used in CIF.
The files are uploaded to the wiki, including an archive of some historical files, and are available on a separate page.
BPLAN was previously available through the separate Network Rail API Platform, but registrations are now suspended.
Train Planning Network Model
The Train Planning Network Model contains very detailed information on the network model used by ITPS, the Integrated Train Planning System.
Downloading the data
To download the data, visit https://publicdatafeeds.networkrail.co.uk/ntrod/SupportingFileAuthenticate?type=TPS
The raw data is XML in tarred bzip2 (tar.bz2) format
The current schema for the Network Model is available here.
The previous schema, valid until an unknown date in 2020, is available here.
- Phil Deaves has compiled a reference site listing location codes (CRS, STANOX and TIPLOC) as well as a comprehensive listing of other railway codes
- NaPTAN (National Public Transport Access Nodes) is provided by the Department for Transport and is the single government source for all public transport stops/stations in the UK, also including bus stops, ferry terminals, airports, metro stations, and heritage railways, as well as associated metadata, including the location of entrances to stations, and platform locations in some circumstances. Contains ATCO, CRS and TIPLOC codes and latitude/longitudes.
The CORPUS, SMART and TPS reference data can be downloaded programmatically using the command
curl -L -u '<USERNAME>:<PASSWORD>' -o '<FILENAME>' 'https://publicdatafeeds.networkrail.co.uk/ntrod/SupportingFileAuthenticate?type=<DATASET>'
<PASSWORD>are from your NR Open Data login
<FILENAME>is what you want the locally downloaded file to be called
<DATASET>is one of
This allows you to automate download of the data when it is updated
|Network Rail Open Data Feeds|
|Data Feeds||About the Feeds • Account States • Durable Subscriptions • Example Code ( PHP / C# / Java / Ruby / Node.js) • Advanced Uses • FAQ • Release Notes|
|Train Movements||Train Movements Feed • Train Activation • Train Cancellation • Train Movement • Train Reinstatement • Change of Origin • Change of Identity • Change of Location • TSPEED Field • Planned Cancellations • Cancellation Codes|
|TD||TD Feed • C-Class Messages • S-Class Messages • Train Describers • TD Berths|
|TSR||TSR Feed • Route Codes|
|SCHEDULE||SCHEDULE Feed • Schedule and Location Records • Association Records • CIF Codes • How Scheduling Works • Allowances|
|Reference Data||Reference Data Feed • TOC Codes • CIF Codes • Delay Attribution Codes • Identifying Locations (STANOX, TIPLOC, NLC and 3-Alpha Codes) • STANOX Geographical Areas • Train Planning data|