How to hit the Transport for London API

TfL's Unified API at https://api.tfl.gov.uk covers the Tube, buses, rail, and bikes: line status, live arrivals, and journey planning.

Authentication

None for light use. A free app_key from the TfL API portal raises the rate limit.

Full reference: https://api-portal.tfl.gov.uk/

Tube line status

curl https://api.tfl.gov.uk/Line/Mode/tube/Status
Run in PostTaco
Example response (trimmed)
[
  {
    "$type": "Tfl.Api.Presentation.Entities.Line, Tfl.Api.Presentation.Entities",
    "id": "bakerloo",
    "name": "Bakerloo",
    "modeName": "tube",
    "disruptions": [],
    "created": "2026-09-15T13:26:22.117Z",
    "modified": "2026-09-15T13:26:22.117Z",
    "lineStatuses": [
      {
        "$type": "Tfl.Api.Presentation.Entities.LineStatus, Tfl.Api.Presentation.Entities",
        "id": 0,
        "statusSeverity": 10,
        "statusSeverityDescription": "Good Service",
        "created": "0001-01-01T00:00:00",
        "validityPeriods": []
      }
    ],
    "routeSections": [],
    "serviceTypes": [
      {
        "$type": "Tfl.Api.Presentation.Entities.LineServiceTypeInfo, Tfl.Api.Presentation.Entities",
        "name": "Regular",
        "uri": "/Line/Route?ids=Bakerloo&serviceTypes=Regular"
      }
    ],
    "crowding": {
      "$type": "Tfl.Api.Presentation.Entities.Crowding, Tfl.Api.Presentation.Entities"
    }
  },
  {
    "$type": "Tfl.Api.Presentation.Entities.Line, Tfl.Api.Presentation.Entities",
    "id": "central",
    "name": "Central",
    "modeName": "tube",
    "disruptions": [],
    "created": "2026-09-15T13:26:22.117Z",
    "modified": "2026-09-15T13:26:22.117Z",
    "lineStatuses": [
      {
        "$type": "Tfl.Api.Presentation.Entities.LineStatus, Tfl.Api.Presentation.Entities",
        "id": 0,
        "lineId": "central",
        "statusSeverity": 9,
        "statusSeverityDescription": "Minor Delays",
        "reason": "Central Line: Minor delays due to to train cancellations.  ",
        "created": "0001-01-01T00:00:00",
        "validityPeriods": [],
        "disruption": {
          "$type": "Tfl.Api.Presentation.Entities.Disruption, Tfl.Api.Presentation.Entities",
          "category": "RealTime",
          "categoryDescription": "RealTime",
          "description": "Central Line: Minor delays due to to train cancellations.  "
        }
      }
    ],
    "routeSections": [],
    "serviceTypes": [
      {
        "$type": "Tfl.Api.Presentation.Entities.LineServiceTypeInfo, Tfl.Api.Presentation.Entities",
        "name": "Regular",
        "uri": "/Line/Route?ids=Central&serviceTypes=Regular"
      },
      {
        "$type": "Tfl.Api.Presentation.Entities.LineServiceTypeInfo, Tfl.Api.Presentation.Entities",
        "name": "Night",
        "uri": "/Line/Route?ids=Central&serviceTypes=Night"
      }
    ],
    "crowding": {
      "$type": "Tfl.Api.Presentation.Entities.Crowding, Tfl.Api.Presentation.Entities"
    }
  }
]

Live arrivals at a line

curl https://api.tfl.gov.uk/Line/victoria/Arrivals
Run in PostTaco
Example response (trimmed)
[
  {
    "$type": "Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities",
    "id": "-1665052205",
    "operationType": 1,
    "vehicleId": "235",
    "naptanId": "940GZZLUWWL",
    "stationName": "Walthamstow Central Underground Station",
    "lineId": "victoria",
    "lineName": "Victoria",
    "platformName": "Southbound - Platform 2",
    "bearing": "",
    "destinationNaptanId": "940GZZLUWWL",
    "destinationName": "Walthamstow Central Underground Station",
    "timestamp": "2026-09-23T21:17:41.4055751Z",
    "timeToStation": 139,
    "currentLocation": "Left Blackhorse Road"
  },
  {
    "$type": "Tfl.Api.Presentation.Entities.Prediction, Tfl.Api.Presentation.Entities",
    "id": "-527339481",
    "operationType": 1,
    "vehicleId": "276",
    "naptanId": "940GZZLUEUS",
    "stationName": "Euston Underground Station",
    "lineId": "victoria",
    "lineName": "Victoria",
    "platformName": "Southbound - Platform 5",
    "direction": "inbound",
    "bearing": "",
    "destinationNaptanId": "940GZZLUBXN",
    "destinationName": "Brixton Underground Station",
    "timestamp": "2026-09-23T21:17:41.4055751Z",
    "timeToStation": 48
  }
]

Bike points

curl "https://api.tfl.gov.uk/BikePoint/Search?query=Waterloo"
Run in PostTaco
Example response (trimmed)
[
  {
    "$type": "Tfl.Api.Presentation.Entities.Place, Tfl.Api.Presentation.Entities",
    "id": "BikePoints_154",
    "url": "/Place/BikePoints_154",
    "commonName": "Waterloo Station 3, Waterloo",
    "placeType": "BikePoint",
    "additionalProperties": [],
    "children": [],
    "childrenUrls": [],
    "lat": 51.503791,
    "lon": -0.112824
  },
  {
    "$type": "Tfl.Api.Presentation.Entities.Place, Tfl.Api.Presentation.Entities",
    "id": "BikePoints_160",
    "url": "/Place/BikePoints_160",
    "commonName": "Waterloo Place, St. James's",
    "placeType": "BikePoint",
    "additionalProperties": [],
    "children": [],
    "childrenUrls": [],
    "lat": 51.506633,
    "lon": -0.131773
  }
]