Expansion Proposals
The TFL network is vast, and has undergone a number of expansions and re-organisations in recent years; the opening of the Elizabeth line and the reorganising of the Overground into smaller, contiguous lines to name a few. As such, it is natural that plans to expand the network are under consideration, or at least in the pipeline, at all times. The Proposed Lines service provides access to some of these potential expansion options, as well as some supporting information on how proposals are assessed in terms of their cost to construct and the benefit to travel they provide.
Proposals are provided in a similar manner to how the TFL lines are provided - as a listing of pairs of station indexes and the travel time between the two stations.
You can request them through the proposals/routes service, and this is done in much the same manner as the current TFL lines.
The proposals do not have line indexes, since they are not actually part of the TFL network yet!
As such, they are only identified by their names (as given below):
Goodrum: A non-branching line that runs fromHighgatetoWaterlooin 16 minutes.Holborn Star: A star-shaped line centred onHolborn.National Hyperrail: A circular line that looks to connect some of the National Rail terminals together in sequence.Outer City Railway: An expansive line that connects end-of-the-line stations together.South London Railway: A tube line that (broadly) runs East-West or West-East across South London.Thameslink: The Thameslink rail network runs North-South through central London, and serves a number of stations in the South West and South East.Weaving Cross: A roughly cross-shaped line centred onKing's Cross St. Pancras, and connecting to theWeaver line.
However; the cost of actually building the physical infrastructure, hiring additional staff, and constructing additional vehicles fluctuates across the year - this can make certain proposals more cost-effective than others depending on when construction is due to start. The web-service provides a forecast of these costs for the proposals, if told which date between 1st Jan 2026 - 31st Dec 2026 (inclusive) construction is due to start. There are three costs to consider, some of which break down into different amounts depending on the nature of the proposal:
infrastructure: Building the physical infrastructure has an associated cost for each link between stations that a proposed line introduces.newcosts apply whenever a link between two stations has to be built from scratch.extensioncosts apply whenever a link between two stations already exists on another line.staff: Each station that gains additional connections has an associated cost in hiring staff to run the new areas of the station.vehicle: Any proposed line also needs a number of vehicles constructed to actually transport passengers along the new route!
You can request these costs through the proposals/costs service.
Querying
To query for a particular proposal: proposals/routes?route=NAME.
To query for the various costs on a particular day: proposals/costs?date=YYYY-MM-DD.
Parameters
route: One of the valid proposal names given above (case-insensitive). Only one proposal can be requested per query.date: The date, inYYYY-MM-DDformat, between 1st Jan 2026 and 31st Dec 2026 (inclusive) that construction of a proposal would be due to start. Defaults to2026-01-01if not provided. Single-digit months and days must be prefixed with a0character to comply with the format (2026-01-01must be used as opposed to2026-1-1, for example).
Examples
https://rse-with-python.arc.ucl.ac.uk/tube_planning/proposals/costs?date=2026-09-01- retrieve the values of the fixed costs estimated for 1st September 2026.https://rse-with-python.arc.ucl.ac.uk/tube_planning/proposals/routes?route=goodrum- retrieve the connections (edges) that theGoodrumproposal includes.
Return format
The routes service will return a .csv file without headers, each row representing a connection between two stations on the line and the travel time between them.
That is, each row has the format
station 1 index, station 2 index, time (mins)
implying that the two stations with the respective indexes are directly connected by the proposed line, and it will take time minutes to travel between them using this line.
The costs service returns a .json file of the following format:
{
"construction-date": "YYYY-MM-DD",
"new": numerical-value,
"ext": numerical-value,
"hire": numerical-value,
"train": numerical-value,
}
The new, extension, hire and train keys contain values corresponding to the associated cost (infrastructure for new and ext, staff for hire, and procurement for train).
The construction-date field just returns the date parameter that was provided to the web-service, in case the querying program requires it.