c0mm0.com — the continuously verified register of European data

Register record·API·GB·GOVERNMENTVERIFIED · checked 7h ago
T

Transport for London Unified API

APINational · United KingdomNo auth

Our unified API brings together data across all modes of transport into a single RESTful API. This API provides access to the most highly requested realtime and status infomation across all the modes of transport, in a single and consistent way. Access to the developer documentation is available at https://api.tfl.gov.uk.

culturetransport
0
good

Composite of 5 axes from our methodology (proof-based officialness, live verification, metadata completeness, license clarity, agent readiness).

  • Officialnessweight 25%45/100

    45/100 from 5 proof signals (domain / portal-backlink / GitHub-org / reciprocal / policy).

  • Availabilityweight 25%100/100

    Latest verification succeeded.

  • Metadata completenessweight 20%80/100

    8 of 10 recommended metadata fields populated.

  • License clarityweight 15%50/100

    License info not yet tracked for APIs (datasets only).

  • Agent readinessweight 15%60/100

    OpenAPI spec URL declared · Spec format known (openapi) · Topic tags assigned

Official Proof

Public Sector API

Proof Evidence

official domain (gov.uk); policies found: accessibility

Data schema (186 fields)

Filterable via the API (113)
yearidquerylatlonoptypewcradiusnamemaxResultslegacyFormatforceXmltwentyFourSevenOnlyfromtovianationalSearchdatetimetimeIsjourneyPreferencemodeaccessibilityPreferencefromNametoNameviaNamemaxTransferMinutesmaxWalkingMinuteswalkingSpeedcyclePreferenceadjustmentbikeProficiencyalternativeCyclealternativeWalkingapplyHtmlMarkupuseMultiModalCallwalkingOptimizationtaxiOnlyTriprouteBetweenEntrancesuseRealTimeLiveArrivalscalcOneDirectionincludeAlternativeRoutesoverrideMultiModalScenariocombineTransferLegsidsmodesserviceTypesdirectionexcludeCrowdingdetailstartDateendDatedateRange.startDatedateRange.endDateseverityseverityLeveltflOperatedNationalRailStationsOnlyfromStopPointIdtoStopPointIdstopPointIddestinationStationIdcountpostcodepostcodeInput.postcodetypesactiveOnlyincludeChildrencategoriestypenumberOfPlacesToReturnplaceGeo.swLatplaceGeo.swLonplaceGeo.neLatplaceGeo.neLonplaceGeo.latplaceGeo.lonlocation.latlocation.lonzwidthheightdateRangeNullable.startDatedateRangeNullable.endDatestripContentseveritiesclosuresdisruptionIdsincludeCrowdingDataplaceTypeslinepagelineIdslineIdincludeRouteBlockedStopsgetFamilyflattenResponsestopTypesuseStopPointHierarchyreturnLinesfaresOnlylinesincludeHubsoutputpinLatpinLonmapCenterLatmapCenterLonscenarioTitletimeOfDayIdmodeIdtravelTimeIntervalcompareTypecompareValue
FieldTypeDescription
yearFilterable via the APIinteger (int32)The year for which to filter the accidents on.
idFilterable via the APIstringA bike point id (a list of ids can be obtained from the above BikePoint call)
queryFilterable via the APIstringThe search term e.g. "St. James"
latFilterable via the APInumber (double)Latitude
lonFilterable via the APInumber (double)Longitude
optypeFilterable via the APIstringOperator Type e.g Minicab, Executive, Limousine
wcFilterable via the APIstringWheelchair accessible
radiusFilterable via the APInumber (double)The radius of the bounding circle in metres
nameFilterable via the APIstringTrading name of operating company
maxResultsFilterable via the APIinteger (int32)An optional parameter to limit the number of results return. Default and maximum is 20.
legacyFormatFilterable via the APIbooleanLegacy Format
forceXmlFilterable via the APIbooleanForce Xml
twentyFourSevenOnlyFilterable via the APIbooleanTwenty Four Seven Only
fromFilterable via the APIstringOrigin of the journey. Can be WGS84 coordinates expressed as "lat,long", a UK postcode, a Naptan (StopPoint) id, an ICS StopId, or a free-text string (will cause disambiguation unless it exactly matches a point of interest name).
toFilterable via the APIstringDestination of the journey. Can be WGS84 coordinates expressed as "lat,long", a UK postcode, a Naptan (StopPoint) id, an ICS StopId, or a free-text string (will cause disambiguation unless it exactly matches a point of interest name).
viaFilterable via the APIstringTravel through point on the journey. Can be WGS84 coordinates expressed as "lat,long", a UK postcode, a Naptan (StopPoint) id, an ICS StopId, or a free-text string (will cause disambiguation unless it exactly matches a point of interest name).
nationalSearchFilterable via the APIbooleanDoes the journey cover stops outside London? eg. "nationalSearch=true"
dateFilterable via the APIstringThe date must be in yyyyMMdd format
timeFilterable via the APIstringThe time must be in HHmm format
timeIsFilterable via the APIstringDoes the time given relate to arrival or leaving time? Possible options: "departing" | "arriving"
journeyPreferenceFilterable via the APIstringThe journey preference eg possible options: "leastinterchange" | "leasttime" | "leastwalking"
modeFilterable via the APIarrayThe mode must be a comma separated list of modes. eg possible options: "public-bus,overground,train,tube,coach,dlr,cablecar,tram,river,walking,cycle"
accessibilityPreferenceFilterable via the APIarrayThe accessibility preference must be a comma separated list eg. "noSolidStairs,noEscalators,noElevators,stepFreeToVehicle,stepFreeToPlatform"
fromNameFilterable via the APIstringAn optional name to associate with the origin of the journey in the results.
toNameFilterable via the APIstringAn optional name to associate with the destination of the journey in the results.
viaNameFilterable via the APIstringAn optional name to associate with the via point of the journey in the results.
maxTransferMinutesFilterable via the APIstringThe max walking time in minutes for transfer eg. "120"
maxWalkingMinutesFilterable via the APIstringThe max walking time in minutes for journeys eg. "120"
walkingSpeedFilterable via the APIstringThe walking speed. eg possible options: "slow" | "average" | "fast".
cyclePreferenceFilterable via the APIstringThe cycle preference. eg possible options: "allTheWay" | "leaveAtStation" | "takeOnTransport" | "cycleHire"
adjustmentFilterable via the APIstringTime adjustment command. eg possible options: "TripFirst" | "TripLast"
bikeProficiencyFilterable via the APIarrayA comma separated list of cycling proficiency levels. eg possible options: "easy,moderate,fast"
alternativeCycleFilterable via the APIbooleanOption to determine whether to return alternative cycling journey
alternativeWalkingFilterable via the APIbooleanOption to determine whether to return alternative walking journey
applyHtmlMarkupFilterable via the APIbooleanFlag to determine whether certain text (e.g. walking instructions) should be output with HTML tags or not.
useMultiModalCallFilterable via the APIbooleanA boolean to indicate whether or not to return 3 public transport journeys, a bus journey, a cycle hire journey, a personal cycle journey and a walking journey
walkingOptimizationFilterable via the APIbooleanA boolean to indicate whether to optimize journeys using walking
taxiOnlyTripFilterable via the APIbooleanA boolean to indicate whether to return one or more taxi journeys. Note, setting this to true will override "useMultiModalCall".
routeBetweenEntrancesFilterable via the APIbooleanA boolean to indicate whether public transport routes should include directions between platforms and station entrances.
useRealTimeLiveArrivalsFilterable via the APIbooleanA boolean to indicate if we want to receive real time live arrivals data where available.
calcOneDirectionFilterable via the APIbooleanA boolean to make Journey Planner calculate journeys in one temporal direction only. In other words, only calculate journeys after the 'depart' time, or before the 'arrive' time. By default, the Journey Planner engine (EFA) calculates journeys in both temporal directions.
includeAlternativeRoutesFilterable via the APIbooleanA boolean to make Journey Planner return alternative routes. Alternative routes are calculated by removing one or more lines included in the fastest route and re-calculating. By default, these journeys will not be returned.
overrideMultiModalScenarioFilterable via the APIinteger (int32)An optional integer to indicate what multi modal scenario we want to use.
combineTransferLegsFilterable via the APIbooleanA boolean to indicate whether walking leg to station entrance and walking leg from station entrance to platform should be combined. Defaults to true
idsFilterable via the APIarrayA comma-separated list of line ids e.g. victoria,circle,N133. Max. approx. 20 ids.
modesFilterable via the APIarrayA comma-separated list of modes e.g. tube,dlr
serviceTypesFilterable via the APIarrayA comma seperated list of service types to filter on. Supported values: Regular, Night. Defaulted to 'Regular' if not specified
directionFilterable via the APIstringThe direction of travel. Can be inbound or outbound.
excludeCrowdingFilterable via the APIbooleanThat excludes crowding from line disruptions. Can be true or false.
detailFilterable via the APIbooleanInclude details of the disruptions that are causing the line status including the affected stops and routes
startDateFilterable via the APIstring
endDateFilterable via the APIstring
dateRange.startDateFilterable via the APIstring (date-time)
dateRange.endDateFilterable via the APIstring (date-time)
severityFilterable via the APIinteger (int32)The level of severity (eg: a number from 0 to 14)
severityLevelFilterable via the APIstringIf specified, ensures that only those line status(es) are returned within the lines that have disruptions with the matching severity level.
tflOperatedNationalRailStationsOnlyFilterable via the APIbooleanIf the national-rail line is requested, this flag will filter the national rail stations so that only those operated by TfL are returned
fromStopPointIdFilterable via the APIstringThe originating station's stop point id (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name)
toStopPointIdFilterable via the APIstringThe destination stations's Naptan code
stopPointIdFilterable via the APIstringOptional. Id of stop to get arrival predictions for (station naptan code e.g. 940GZZLUASL, you can use /StopPoint/Search/{query} endpoint to find a stop point id from a station name)
destinationStationIdFilterable via the APIstringOptional. Id of destination stop
countFilterable via the APIinteger (int32)A number of arrivals to return for each stop, -1 to return all available.
postcodeFilterable via the APIstring
postcodeInput.postcodeFilterable via the APIstring
typesFilterable via the APIarrayA comma-separated list of the types to return. Max. approx 12 types. A valid list of place types can be obtained from the /Place/Meta/placeTypes endpoint.
activeOnlyFilterable via the APIbooleanAn optional parameter to limit the results to active records only (Currently only the 'VariableMessageSign' place type is supported)
includeChildrenFilterable via the APIbooleanDefaults to false. If true child places e.g. individual charging stations at a charge point while be included, otherwise just the URLs of any child places will be returned
categoriesFilterable via the APIarrayAn optional list of comma separated property categories to return in the Place's property bag. If null or empty, all categories of property are returned. Pass the keyword "none" to return no properties (a valid list of categories can be obtained from the /Place/Meta/categories endpoint)
typeFilterable via the APIarrayPlace types to filter on, or null to return all types
numberOfPlacesToReturnFilterable via the APIinteger (int32)If specified, limits the number of returned places equal to the given value
placeGeo.swLatFilterable via the APInumber (double)
placeGeo.swLonFilterable via the APInumber (double)
placeGeo.neLatFilterable via the APInumber (double)
placeGeo.neLonFilterable via the APInumber (double)
placeGeo.latFilterable via the APInumber (double)
placeGeo.lonFilterable via the APInumber (double)
location.latFilterable via the APInumber (double)
location.lonFilterable via the APInumber (double)
zFilterable via the APIinteger (int32)The zoom level
widthFilterable via the APIinteger (int32)The width of the requested overlay.
heightFilterable via the APIinteger (int32)The height of the requested overlay.
dateRangeNullable.startDateFilterable via the APIstring (date-time)
dateRangeNullable.endDateFilterable via the APIstring (date-time)
stripContentFilterable via the APIbooleanOptional, defaults to false. When true, removes every property/node except for id, point, severity, severityDescription, startDate, endDate, corridor details, location, comments and streets
severitiesFilterable via the APIarrayan optional list of Severity names to filter on (a valid list of severities can be obtained from the /Road/Meta/severities endpoint)
closuresFilterable via the APIbooleanOptional, defaults to true. When true, always includes disruptions that have road closures, regardless of the severity filter. When false, the severity filter works as normal.
disruptionIdsFilterable via the APIarrayComma-separated list of disruption identifiers to filter by.
includeCrowdingDataFilterable via the APIbooleanInclude the crowding data (static). To Filter further use: /StopPoint/{ids}/Crowding/{line}
placeTypesFilterable via the APIarrayA comcomma-separated value representing the place types.
lineFilterable via the APIstringA particular line e.g. victoria, circle, northern etc.
pageFilterable via the APIinteger (int32)
lineIdsFilterable via the APIarrayThe lines which contain the given Naptan id (all lines relevant to the given stoppoint if empty)
lineIdFilterable via the APIstringLine id of the line to filter by (e.g. victoria)
includeRouteBlockedStopsFilterable via the APIboolean
getFamilyFilterable via the APIbooleanSpecify true to return disruptions for entire family, or false to return disruptions for just this stop point. Defaults to false.
flattenResponseFilterable via the APIbooleanSpecify true to associate all disruptions with parent stop point. (Only applicable when getFamily is true).
stopTypesFilterable via the APIarraya list of stopTypes that should be returned (a list of valid stop types can be obtained from the StopPoint/meta/stoptypes endpoint)
useStopPointHierarchyFilterable via the APIbooleanRe-arrange the output into a parent/child hierarchy
returnLinesFilterable via the APIbooleantrue to return the lines that each stop point serves as a nested resource
faresOnlyFilterable via the APIbooleanTrue to only return stations in that have Fares data available for single fares to another station.
linesFilterable via the APIarrayAn optional, parameter separated list of the lines to filter by
includeHubsFilterable via the APIbooleanIf true, returns results including HUBs.
outputFilterable via the APIstringIf set to "web", a 302 redirect to relevant website bus stop page is returned. Valid values are : web. All other values are ignored.
pinLatFilterable via the APInumber (double)The latitude of the pin.
pinLonFilterable via the APInumber (double)The longitude of the pin.
mapCenterLatFilterable via the APInumber (double)The map center latitude.
mapCenterLonFilterable via the APInumber (double)The map center longitude.
scenarioTitleFilterable via the APIstringThe title of the scenario.
timeOfDayIdFilterable via the APIstringThe id for the time of day (AM/INTER/PM)
modeIdFilterable via the APIstringThe id of the mode.
travelTimeIntervalFilterable via the APIinteger (int32)The total minutes between the travel time bands
compareTypeFilterable via the APIstring
compareValueFilterable via the APIstring
locationTfl.Api.Presentation.Entities.AccidentStats.AccidentDetailstring
boroughTfl.Api.Presentation.Entities.AccidentStats.AccidentDetailstring
casualtiesTfl.Api.Presentation.Entities.AccidentStats.AccidentDetailarray<object>
vehiclesTfl.Api.Presentation.Entities.AccidentStats.AccidentDetailarray<object>
ageTfl.Api.Presentation.Entities.AccidentStats.Casualtyinteger (int32)
classTfl.Api.Presentation.Entities.AccidentStats.Casualtystring
ageBandTfl.Api.Presentation.Entities.AccidentStats.Casualtystring
accidentsTfl.Api.Presentation.Entities.AccidentStats.AccidentStatsOrderedSummaryinteger (int32)
urlTfl.Api.Presentation.Entities.PlacestringThe unique location of this resource.
commonNameTfl.Api.Presentation.Entities.PlacestringA human readable name.
distanceTfl.Api.Presentation.Entities.Placenumber (double)The distance of the place from its search point, if this is the result of a geographical search, otherwise zero.
placeTypeTfl.Api.Presentation.Entities.PlacestringThe type of Place. See /Place/Meta/placeTypes for possible values.
additionalPropertiesTfl.Api.Presentation.Entities.Placearray<object>A bag of additional key/value pairs with extra information about this place.
childrenTfl.Api.Presentation.Entities.Placearray<object>
childrenUrlsTfl.Api.Presentation.Entities.Placearray<string>
categoryTfl.Api.Presentation.Entities.AdditionalPropertiesstring
keyTfl.Api.Presentation.Entities.AdditionalPropertiesstring
sourceSystemKeyTfl.Api.Presentation.Entities.AdditionalPropertiesstring
valueTfl.Api.Presentation.Entities.AdditionalPropertiesstring
modifiedTfl.Api.Presentation.Entities.AdditionalPropertiesstring (date-time)
labelTfl.Api.Presentation.Entities.CycleSuperhighwaystringThe long label to show on maps when zoomed in
labelShortTfl.Api.Presentation.Entities.CycleSuperhighwaystringThe short label to show on maps
geographyTfl.Api.Presentation.Entities.CycleSuperhighwayobjectA LineString or MultiLineString that forms the route of the highway
segmentedTfl.Api.Presentation.Entities.CycleSuperhighwaybooleanTrue if the route is split into segments
statusTfl.Api.Presentation.Entities.CycleSuperhighwaystringCycle route status i.e Proposed, Existing etc
routeTypeTfl.Api.Presentation.Entities.CycleSuperhighwaystringType of cycle route e.g CycleSuperhighways, Quietways, MiniHollands etc
coordinateSystemIdSystem.Data.Spatial.DbGeographyWellKnownValueinteger (int32)
wellKnownTextSystem.Data.Spatial.DbGeographyWellKnownValuestring
wellKnownBinarySystem.Data.Spatial.DbGeographyWellKnownValuestring (byte)
passengerTypeTfl.Api.Presentation.Entities.Fares.Farestring
validFromTfl.Api.Presentation.Entities.Fares.Farestring (date-time)
validUntilTfl.Api.Presentation.Entities.Fares.Farestring (date-time)
ticketTimeTfl.Api.Presentation.Entities.Fares.Farestring
ticketTypeTfl.Api.Presentation.Entities.Fares.Farestring
costTfl.Api.Presentation.Entities.Fares.Farestring
capTfl.Api.Presentation.Entities.Fares.Farenumber (double)
descriptionTfl.Api.Presentation.Entities.Fares.Farestring
zoneTfl.Api.Presentation.Entities.Fares.Farestring
headerTfl.Api.Presentation.Entities.Fares.FaresSectionstring
indexTfl.Api.Presentation.Entities.Fares.FaresSectioninteger (int32)
journeyTfl.Api.Presentation.Entities.Fares.FaresSectionobject
rowsTfl.Api.Presentation.Entities.Fares.FaresSectionarray<object>
messagesTfl.Api.Presentation.Entities.Fares.FaresSectionarray<object>
fromStationTfl.Api.Presentation.Entities.Fares.Journeyobject
toStationTfl.Api.Presentation.Entities.Fares.Journeyobject
boundsIdTfl.Api.Presentation.Entities.Fares.FareDetailsinteger (int32)
contactlessPAYGOnlyFareTfl.Api.Presentation.Entities.Fares.FareDetailsboolean
routeCodeTfl.Api.Presentation.Entities.Fares.FareDetailsstring
displayNameTfl.Api.Presentation.Entities.Fares.FareDetailsstring
displayOrderTfl.Api.Presentation.Entities.Fares.FareDetailsinteger (int32)
routeDescriptionTfl.Api.Presentation.Entities.Fares.FareDetailsstring
validatorInformationTfl.Api.Presentation.Entities.Fares.FareDetailsstring
operatorTfl.Api.Presentation.Entities.Fares.FareDetailsstring
specialFareTfl.Api.Presentation.Entities.Fares.FareDetailsboolean
throughFareTfl.Api.Presentation.Entities.Fares.FareDetailsboolean
isTourTfl.Api.Presentation.Entities.Fares.FareDetailsboolean
ticketsAvailableTfl.Api.Presentation.Entities.Fares.FareDetailsarray<object>
bulletOrderTfl.Api.Presentation.Entities.Messageinteger (int32)
messageTextTfl.Api.Presentation.Entities.Messagestring
linkTextTfl.Api.Presentation.Entities.Messagestring
atcoCodeTfl.Api.Presentation.Entities.Fares.FareStationstring
fareCategoryTfl.Api.Presentation.Entities.Fares.FareStationstring
isPopularFareTfl.Api.Presentation.Entities.Fares.FareBoundsboolean
isPopularTravelCardTfl.Api.Presentation.Entities.Fares.FareBoundsboolean
viewableDateTfl.Api.Presentation.Entities.Fares.FaresPeriodstring (date-time)
isFutureTfl.Api.Presentation.Entities.Fares.FaresPeriodboolean
longitudeTfl.Api.Presentation.Entities.Coordinatenumber (double)
latitudeTfl.Api.Presentation.Entities.Coordinatenumber (double)
eastingTfl.Api.Presentation.Entities.Coordinatenumber (double)
northingTfl.Api.Presentation.Entities.Coordinatenumber (double)
xCoordTfl.Api.Presentation.Entities.Coordinateinteger (int32)
yCoordTfl.Api.Presentation.Entities.Coordinateinteger (int32)
addressTfl.Api.Presentation.Entities.GeoCodeSearchMatchstringA string describing the formatted address of the place. Adds additional context to the place's Name.

Schema captured from openapi 2 days ago.

Verification Status

Using the API

Configuration

Base URL
https://api.tfl.gov.uk
Version
v1
Format
openapi
Endpoints
84

Try the API

GET/AccidentStats/{year}

Gets all accident details for accidents occuring in the specified year

GET/AirQuality

Gets air quality data feed

GET/BikePoint

Gets all bike point locations. The Place object has an addtionalProperties array which contains the nbBikes, nbDocks and nbSpaces numbers which give the status of the BikePoint. A mismatch in these numbers i.e. nbDocks - (nbBikes + nbSpaces) != 0 indicates broken docks.

GET/BikePoint/{id}

Gets the bike point with the given id.

GET/BikePoint/Search

Search for bike stations by their name, a bike point's name often contains information about the name of the street or nearby landmarks, for example. Note that the search result does not contain the PlaceProperties i.e. the status or occupancy of the BikePoint, to get that information you should retrieve the BikePoint by its id on /BikePoint/id.

Requests are proxied through our servers. Only GET endpoints are testable.

Query examples

curl -s 'https://api.tfl.gov.uk/swagger/docs/v1' -H 'Accept: application/json'

Machine-readable API description (use it to generate clients).

Machine-readable & source

Transport for London Unified API — live verification badge

Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.