Transport for London
Line status and journey options
Transport for London reports current or currently published future-day service status and ordered journey options with directions and adult pay-as-you-go fares when available.
Your information
More options
Future service date in YYYY-MM-DD, such as 2026-10-03. Omit for the current live status.
Line name or bus route number, such as Northern, Elizabeth line, Mildmay, Overground or 73. Omit for all rail and tram lines.
Example results
London service status
About the Transport for London tool
Transport for London (TfL) Get line status returns current or future-day service status; date and line are optional.
Plan journey returns London journey options, leg directions, times and available adult fares; origin and destination are required.
Built from tfl.gov.uk. Last checked Sep 30, 2026.
Actions
Get line status
1 creditGet current or future-day service status for London Tube, Elizabeth line, DLR, Overground, tram or a named bus route. For multiple notices on one line, shows the most disruptive status, combines its reasons and spans its validity times; future-day information reflects currently published plans.
What you provide
| Field | Type | Required | Description |
|---|---|---|---|
Datedate | Date | Optional | Future service date in YYYY-MM-DD, such as 2026-10-03. Omit for the current live status.Example: 2026-10-03 |
Lineline | Text | Optional | Line name or bus route number, such as Northern, Elizabeth line, Mildmay, Overground or 73. Omit for all rail and tram lines.Example: 73 |
What you get
| Field | Type | Description |
|---|---|---|
Lineslines | List | Service status in TfL line order. |
Typelines[].type | Text | Transport type.Example: Tube |
Reasonlines[].reason | Text | Explanation when service is not good, or null.Example: Bakerloo Line: Service will resume later this morning. |
Statuslines[].status | Text | Service status in words.Example: Service closed |
Line IDlines[].line_id | Text | TfL line identifier.Example: Bakerloo |
Valid tolines[].valid_to | Date | End of the reported status in London local time, or null.Example: 2026-09-29T05:58:27+01:00 |
Line Namelines[].line_name | Text | Line or bus route name.Example: Bakerloo |
Page Linklines[].page_link | Text | TfL service status page for this line.Example: https://tfl.gov.uk/tube-bus-river/status/ |
Valid Fromlines[].valid_from | Date | Beginning of the reported status in London local time, or null.Example: 2026-09-29T01:16:15+01:00 |
Severity Numberlines[].severity_number | Number | TfL status severity number.Example: 20 |
Example result
For
{
"lines": [
{
"type": "Tube",
"reason": "Bakerloo Line: Service will resume later this morning.",
"status": "Service closed",
"line_id": "bakerloo",
"valid_to": "2026-09-29T05:58:27+01:00",
"line_name": "Bakerloo",
"page_link": "https://tfl.gov.uk/tube-bus-river/status/",
"valid_from": "2026-09-29T01:16:15+01:00",
"severity_number": 20
},
{
"type": "Tube",
"reason": "Central Line: Service will resume later this morning.",
"status": "Service closed",
"line_id": "central",
"valid_to": "2026-09-29T05:58:27+01:00",
"line_name": "Central",
"page_link": "https://tfl.gov.uk/tube-bus-river/status/",
"valid_from": "2026-09-29T01:16:28+01:00",
"severity_number": 20
},
{
"type": "Tube",
"reason": "Circle Line: Service will resume later this morning.",
"status": "Service closed",
"line_id": "circle",
"valid_to": "2026-09-29T05:58:27+01:00",
"line_name": "Circle",
"page_link": "https://tfl.gov.uk/tube-bus-river/status/",
"valid_from": "2026-09-29T01:16:41+01:00",
"severity_number": 20
}
]
}Plan journey
1 creditPlan a London public transport journey from a place, station, address or postcode. Returns journey options in TfL order, with leg directions and an adult pay-as-you-go fare when available.
What you provide
| Field | Type | Required | Description |
|---|---|---|---|
Modesmodes | List | Optional | Transport modes to include; omit for all public transport. Example: ["tube", "bus"]. |
Originorigin | Text | Required | London address, station, place or postcode. Example: King's Cross.Example: SW1A 1AA |
Time Istime_is | Text | Optional | Whether the specified time is when you leave or arrive. Example: departing.Example: Arriving |
Date Timedate_time | Text | Optional | London local departure or arrival date and time as ISO 8601, or now. Example: 2026-09-30T12:00:00+01:00.Example: 2026-09-30T12:00:00+01:00 |
Destinationdestination | Text | Required | London address, station, place or postcode. Example: Brixton.Example: SE1 7PB |
Max Resultsmax_results | Number | Optional | Most journey options to show, in TfL order. Example: 3.Example: 2 |
What you get
| Field | Type | Description |
|---|---|---|
Journeysjourneys | List | |
Legsjourneys[].legs | List | |
Page Linkjourneys[].page_link | Text | Example: https://tfl.gov.uk/plan-a-journey/results?InputFrom=SW1A+1AA&InputTo=SE1+7PB&Da… |
Total Timejourneys[].total_time | Text | Example: 15 min |
Arrival Timejourneys[].arrival_time | Text | Example: 2026-09-30T11:40:00+01:00 |
Time (minutes)journeys[].time_minutes | Number | Example: 15 |
Fare Currencyjourneys[].fare_currency | Text | Example: GBP |
Departure Timejourneys[].departure_time | Text | Example: 2026-09-30T11:25:00+01:00 |
Adult Pay As You Go Fare (GBP)journeys[].adult_pay_as_you_go_fare_gbp | Number | Example: 1.75 |
Example result
For Modes: Bus, Origin: SW1A 1AA, Time Is: Arriving, Date Time: 2026-09-30T12:00:00+01:00, Destination: SE1 7PB, Max Results: 2
{
"journeys": [
{
"legs": [
{
"mode": "walking",
"to_stop": "St James's Park Station",
"leg_time": "10 min",
"from_stop": "SW1A 1AA",
"line_name": null,
"instruction": "Walk to St James's Park Station",
"time_minutes": 10
}
],
"page_link": "https://tfl.gov.uk/plan-a-journey/results?InputFrom=SW1A+1AA&InputTo=SE1+7PB&Date=20260930&Time=1200&TimeIs=arriving",
"total_time": "15 min",
"arrival_time": "2026-09-30T11:40:00+01:00",
"time_minutes": 15,
"fare_currency": "GBP",
"departure_time": "2026-09-30T11:25:00+01:00",
"adult_pay_as_you_go_fare_gbp": 1.75
}
]
}For developers
Call it from your code with one request. Change the values in input to run it on new data. To get an API key, open Developers at the bottom of Studio, turn on Developer mode and go to API keys.
curl 'https://api.fous.com/v1/query' \
--fail-with-body --silent --show-error --max-time 180 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"api": "@transport-for-london",
"visibility": "public",
"operation": "get_line_status",
"version": 1,
"input": {},
"response": {
"format": "json"
}
}'What you can do with it
- Check line or bus route status before travelling
- Review published service plans for a future date
- Compare public transport journeys between London locations
- Estimate journey times and available adult pay-as-you-go fares
Questions about Transport for London
Can I run it with my own inputs?
Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.
Can I call this Transport for London tool as an API?
Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.
How much does it cost?
Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.
Do I need a Transport for London account?
No. You only need a Fous account.
How current is the data?
Fous gets the data from tfl.gov.uk when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 30, 2026.
What is the service status for a London line?
Use Get line status with a line name or bus route number, or omit the line to see all rail and tram lines.
What service status is planned for a future date?
Use Get line status with a future date. Results reflect currently published plans.
What journeys can I take between two London locations?
Use Plan journey with an origin and destination to get journey options, leg directions, times and an adult pay-as-you-go fare when available.