Transport for London, England Vehicle API

The Vehicle API from Transport for London, England — 1 operation(s) for vehicle.

GitHub OpenAPI

Operations 1

GET /Vehicle/{ids}/Arrivals Gets the predictions for a given list of vehicle Id's. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/transport-for-london-england:transport-for-london-england-vehicle-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

transport-for-london-england-vehicle-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: Transport for London Unified Vehicle API
servers:
- url: https://api.tfl.gov.uk
tags:
- name: Vehicle
paths:
  /Vehicle/{ids}/Arrivals:
    get:
      tags:
      - Vehicle
      summary: Gets the predictions for a given list of vehicle Id's.
      operationId: Vehicle_Get
      parameters:
      - name: ids
        in: path
        description: A comma-separated list of vehicle ids e.g. LX58CFV,LX11AZB,LX58CFE. Max approx. 25 ids.
        required: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tfl.Api.Presentation.Entities.Prediction'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tfl.Api.Presentation.Entities.Prediction'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tfl.Api.Presentation.Entities.Prediction'
            text/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tfl.Api.Presentation.Entities.Prediction'
      deprecated: false
components:
  schemas:
    Tfl.Api.Presentation.Entities.PredictionTiming:
      type: object
      properties:
        countdownServerAdjustment:
          type: string
        source:
          format: date-time
          type: string
        insert:
          format: date-time
          type: string
        read:
          format: date-time
          type: string
        sent:
          format: date-time
          type: string
        received:
          format: date-time
          type: string
    Tfl.Api.Presentation.Entities.Prediction:
      description: DTO to capture the prediction details
      type: object
      properties:
        id:
          description: The identitier for the prediction
          type: string
        operationType:
          format: int32
          description: 'The type of the operation (1: is new or has been updated, 2: should be deleted from any client cache)'
          type: integer
        vehicleId:
          description: The actual vehicle in transit (for train modes, the leading car of the rolling set)
          type: string
        naptanId:
          description: Identifier for the prediction
          type: string
        stationName:
          description: Station name
          type: string
        lineId:
          description: Unique identifier for the Line
          type: string
        lineName:
          description: Line Name
          type: string
        platformName:
          description: Platform name (for bus, this is the stop letter)
          type: string
        direction:
          description: Direction (unified to inbound/outbound)
          type: string
        bearing:
          description: Bearing (between 0 to 359)
          type: string
        tripId:
          description: TripId is used to assemble the primary key
          type: string
        baseVersion:
          description: Data base version
          type: string
        destinationNaptanId:
          description: Naptan Identifier for the prediction's destination
          type: string
        destinationName:
          description: Name of the destination
          type: string
        timestamp:
          format: date-time
          description: Timestamp for when the prediction was inserted/modified (source column drives what objects are broadcast on each iteration)
          type: string
        timeToStation:
          format: int32
          description: Prediction of the Time to station in seconds
          type: integer
        currentLocation:
          description: The current location of the vehicle.
          type: string
        towards:
          description: Routing information or other descriptive text about the path of the vehicle towards the destination
          type: string
        expectedArrival:
          format: date-time
          description: The expected arrival time of the vehicle at the stop/station
          type: string
        timeToLive:
          format: date-time
          description: The expiry time for the prediction
          type: string
        modeName:
          description: The mode name of the station/line the prediction relates to
          type: string
        timing:
          $ref: '#/components/schemas/Tfl.Api.Presentation.Entities.PredictionTiming'
          description: Keep the original timestamp from MongoDb fo debugging purposes
  securitySchemes:
    apiKey:
      type: apiKey
      description: API Key Authentication
      name: app_key
      in: query
    appId:
      type: apiKey
      description: Application ID
      name: app_id
      in: query
x-provenance:
  method: harvested
  publisher: Transport for London, England
  source: https://api.tfl.gov.uk/swagger/docs/v1
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)