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
Full LLM thinking from the 4-phase benchmark pipeline.
{
"service_type": "platform",
"base_url": "https://api.tfl.gov.uk",
"auth_method": "api_key",
"auth_config": {
"key_type": "app_key",
"registration_url": "https://api-portal.tfl.gov.uk/",
"notes": "Some endpoints accessible without a key at low rate limits; registering for an app_key increases rate limits. OAuth 2.0 is also supported for user-context operations.",
"header_names": ["app_key", "Authorization"]
},
"endpoints": [
{
"name": "Line Status",
"path": "/Line/{ids}/Status",
"method": "GET",
"description": "Get the status of one or more lines (e.g., tube, bus, DLR, Overground)"
},
{
"name": "StopPoint Search",
"path": "/StopPoint/Search/{query}",
"method": "GET",
"description": "Search for stops, stations, and points of interest"
},
{
"name": "Arrivals",
"path": "/StopPoint/{id}/Arrivals",
"method": "GET",
"description": "Real-time arrival predictions for a given stop"
},
{
"name": "Journey Planner",
"path": "/Journey/JourneyResults/{from}/to/{to}",
"method": "GET",
"description": "Plan a journey between two locations across transport modes"
},
{
"name": "Road Disruptions",
"path": "/Road/{ids}/Disruption",
"method": "GET",
"description": "Get road disruptions for specified road IDs"
},
{
"name": "Bike Points",
"path": "/BikePoint",
"method": "GET",
"description": "List of Santander Cycles docking stations"
},
{
"name": "Air Quality",
"path": "/AirQuality",
"method": "GET",
"description": "Air quality data across London"
},
{
"name": "Occupancy",
"path": "/Occupancy/CarPark/{id}",
"method": "GET",
"description": "Car park occupancy data"
}
],
"pricing_model": {
"type": "freemium",
"details": {
"free_tier": "Available with rate limits (approx. 50 requests/min without key, 500 requests/min with key by default; higher limits may be requested)",
"paid_tiers": "None — the API is free to use, though higher rate limits can be requested for approved use cases",
"commercial_use": "Permitted under TfL's terms; attribution required"
}
},
"rate_limits": {
"unauthenticated": "~50 requests per minute",
"authenticated": "~500 requests per minute (default)",
"notes": "Rate limits are subject to change; heavy users can request elevated limits via the API portal."
},
"capabilities": [
"Real-time arrival predictions for buses, tube, DLR, Overground, and rail",
"Live line status and service disruptions across all TfL modes",
"Journey planning across multi-modal transport",
"Stop and station search / geo-location",
"Road network status and disruptions",
"Santander Cycles (bike share) availability",
"Air quality monitoring",
"Car park occupancy",
"OAuth 2.0 support for user-specific data",
"RESTful JSON/XML responses",
"Unified data model across transport modes",
"Extensive developer documentation and API portal",
"Open data licensing (with attribution)"
],
"raw_analysis": "The Transport for London (TfL) Unified API is a mature, widely-used public data platform that unifies real-time and static transport data for London's transport network. It covers all modes: London Underground, buses, DLR, London Overground, Elizabeth line, trams, river services, and roads. The API is RESTful, returns JSON (and in some cases XML), and is free to use with rate limits. Developers can register for a free app_key to increase rate limits and access additional endpoints. OAuth 2.0 is available for scenarios requiring user authentication (e.g., journey planning with saved preferences). The service is intended for developers, researchers, transport apps, and smart city projects. It is highly mature, having been available for over a decade, with comprehensive documentation at api-portal.tfl.gov.uk. There is no paid tier, though TfL may grant higher rate limits on request. The platform is not a typical SaaS product but an open data API provided by a government body. Integrations: commonly used in mobile apps (Citymapper, Google Maps), IoT, and academic research. No SDKs officially provided, but many community libraries exist. The API is reliable and well-maintained, with regular updates. Key considerations: terms of service require attribution, and certain endpoints may be deprecated or subject to change. This service is a canonical example of a public transport API and is often used as a benchmark for similar systems worldwide."
}1/3 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| website_uptime | GET / | 200 | 619ms |
| robots_txt | GET /robots.txt | 404 | 40ms |
| llms_txt | GET /llms.txt | 404 | 297ms |
{
"overall": 74,
"dimensions": {
"token_efficiency": 9.0,
"first_try_success": 8.0,
"response_parseability": 9.5,
"error_clarity": 8.5,
"doc_quality": 9.0,
"auth_simplicity": 8.5,
"latency": 7.5,
"consistency": 9.0
},
"pricing_normalized": {
"model": "freemium (free API, optional rate-limit increase via approval)",
"free_tier": "~50 req/min unauthenticated, ~500 req/min with key",
"paid_tiers": "none",
"commercial_use": "permitted with attribution",
"value": "excellent — genuinely free, open data, generous with-key limits"
},
"issues": [
"No /robots.txt (404) — crawler behavior ungoverned, minor risk for agent scrapers",
"No /llms.txt — no machine-readable summary for LLMs, agents must parse HTML docs",
"Website latency ~619ms — acceptable but not fast for a public API portal",
"Rate limits can be restrictive for high-volume agent workloads without approved key",
"Attribution required — agents recommending usage must surface licensing obligations"
],
"recommendations": [
"Ship an /llms.txt pointing to API reference, endpoints, auth, and rate limits — dramatically improves agent onboarding",
"Publish robots.txt to signal intended crawl scope",
"Expose a well-known discovery endpoint (e.g., /.well-known/) with OpenAPI spec for agent auto-consume",
"Document baseline rate-limit values explicitly in API portal landing page (not buried)",
"Add quickstart snippets (curl, Python) on the top-level dev page for first-try success"
]
}Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/transport-for-london-unified-api">
<img src="https://prowl.world/badge/transport-for-london-unified-api.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard