2026-10-25 — Ireland: Luas legs in /v1/journey.json get live times and a fare in euros (fare_local: the TFI Leap 90 minute fare, with the paper single and short fare). Place search finds a stop with its town in either order: Dublin Connolly, Heuston Dublin, Belfast Lanyon Place.
2026-10-25 — Luas live times on departure and arrival boards, from Transport Infrastructure Ireland's forecasts (source: "luas_forecasts"), and a board's new messages list carries the line's status when it isn't running normally. Irish Rail's live times now come from each train's due time, and a train whose due time and lateness don't agree is left on its timetable: on the day the clocks went back, Irish Rail's schedules were an hour out.
2026-10-25 — Local times. Answers are now in the local time of the place asked about, and say which in a top-level timezone: Dutch and Belgian times are Europe/Amsterdam and Europe/Brussels (they were UK time with an offset), the Republic of Ireland Europe/Dublin and Britain Europe/London. The instants are unchanged, only the offset they're written with. A datetime without an offset is read as local time at the stop or the journey's start; on stop boards it used to be read as UTC.
2026-10-25 — Whole stations in the Netherlands and Belgium. Stops there carry a station_atcocode; its board shows every platform together, each departure with its platform. See bus.
2026-10-25 — Brussels live times for STIB's trams, metro and buses (source: "stib_waiting_times"), and Dutch and Belgian service alerts in /v1/disruptions.json (ovapi_gtfsr, bmc_gtfsr), with new modes metro and ferry.
2026-10-25 — Fix: Belgian and Dutch live updates are matched to the right day. Planned cancellations for the next day were being shown on the same bus today, mostly De Lijn's.
2026-10-25 — New allowances: Free is 100 requests a day, Personal 1,000, Standard 10,000 and Pro 100,000, with prices unchanged. Paying customers keep what they signed up for. Free accounts created before today keep their current allowance until 9 November 2026, then move to 100 a day. See pricing.
2026-10-24 — /v1/journey.json with a datetime outside the timetables (in the past, or more than about two months ahead) now returns 400 date_out_of_range with the first and last dates that can be planned. It used to return 503 planner_unavailable, which said to retry.
2026-10-23 — Place search puts stations first./v1/places.json now returns a town's main stations straight after the town itself, busiest first (Leeds gives Leeds, then Leeds Rail Station and Leeds City Bus Station; Manchester gives Piccadilly before Victoria). Words match in order, so leeds station finds Leeds Rail Station. A station appears once, not once per entrance, platform or bus bay. Airports no longer come before a city of the name searched (Glasgow is the city, then Glasgow Central).
2026-10-23 — More than one API key. Paid plans can create extra keys from the dashboard (Personal 3, Standard 10, Pro 25), for example one for testing and one for live, with usage shown by key. An account's keys share its daily allowance, per-minute limit and push alerts. Paid plans also get 90 days of usage history with a CSV download, an email at 80% of the day's allowance, and early access to new data and endpoints.
2026-10-22 — The Free tier is now 200 requests a day for new accounts, or 500 after answering the sign-up questionnaire. Accounts created before today keep what they have. The new Personal plan is £5 a month for 5,000 a day. See pricing.
2026-10-19 — Streets and landmarks in place search./v1/places.json now finds every named street in Great Britain and named places people travel to (schools, universities, hospitals, parks, hills, lakes, beaches), from Ordnance Survey's Open Names, with new types street and landmark. Name the town to pick the right one (Broad Street, Sheffield); otherwise the nearest to lat/lon, or the one in the largest town, comes first.
2026-10-19 — Belgium is covered: stops and municipalities, the timetables of SNCB/NMBS, De Lijn, STIB-MIVB and TEC (trains, buses, trams and metros), and journey planning across Belgium and the Netherlands as one area, so Amsterdam to Brussels or Antwerp to Breda plans door to door. SNCB trains, De Lijn and TEC have live expected times and cancellations (source: "bmc_gtfsr") and TEC buses live positions; STIB in Brussels publishes no live feed, so it is timetable only. The journey coverage area Netherlands is now named Netherlands and Belgium.
2026-10-19 — No more Sunday maintenance window: /v1/journey.json no longer returns 503 scheduled_maintenance on Sunday mornings, as journey planning now takes each day's timetables with no downtime. If the planner is briefly unavailable it returns 503 planner_unavailable with Retry-After.
2026-10-18 — The Netherlands is covered: stops and towns, every Dutch operator's timetable (NS and regional trains, buses, trams, metros, ferries) with live expected times and cancellations, live vehicle positions, and journey planning across the country. Times are UK time with an exact offset, like the rest of the API. Dutch trains are in the bus endpoints with mode: "rail". No fares. See data sources.
2026-10-18 — Live buses in the Republic of Ireland, from the NTA's GTFS-Realtime feed (Luas stays on its timetable, as the NTA's Luas updates are attached to the wrong trams): departure and arrival boards and journey legs carry expected times and cancellations (source: "nta_gtfsr"), and /v1/bus/vehicles.json shows the Republic's buses. The home page map now includes Dublin, Cork, Galway and Limerick. See bus.
2026-10-18 — The Republic of Ireland is covered too: stops, places, every NTA-listed operator's timetable (Dublin Bus, Bus Éireann, Go-Ahead Ireland, Luas, Irish Rail, DART and more), and journey planning across the whole island, Belfast to Dublin included. Irish trains carry live expected times from Irish Rail.
2026-10-18 — Bus departures, arrivals, routes and services now give each line's real mode: tram, metro, rail, ferry, coach, cable_car or funicular where the timetable says so, not bus for everything. If you filter on mode == "bus", trams and ferries no longer match.
2026-10-18 — Northern Ireland is covered: its stops and towns, Translink's bus and NI Railways timetables (departures, arrivals, routes and services), and journey planning within Northern Ireland. Scheduled times only for now, with no live running or fares. See data sources.
2026-10-18 — New /v1/bus/activity.json: what a line or one bus actually did (trips run, distance driven, places passed, hours), from live tracking. Built for bus advertising; see the demo.
2026-10-18 — The Free tier is now 500 requests a day for new accounts. Accounts created before today keep 1,000 a day.
2026-10-07 — Live journey legs and stable train ids. Journey legs now fill estimated, delay_s and real_time from tracked buses and, for trains in the next two hours, from National Rail, with status, platform and delay reasons on train legs. Train legs' trip_id now matches the station boards and /v1/rail/services/{trip_id}.json. Rail trip ids are now stable from day to day (the train's UID and schedule start date, e.g. C12345_20260517) instead of being renumbered at each daily reload. railcard on /v1/journey.json prices rail legs with a railcard.
2026-10-07 — Rail fares./v1/rail/fares.json gives every fare between two stations in Great Britain for one adult: Anytime, Off-Peak, Super Off-Peak and Advance, in standard and first class, with route, time restriction and validity, from the Rail Delivery Group's fares data. Add railcard for railcard prices (/v1/rail/railcards.json lists them). Journeys now carry rail fares across Great Britain, with a change of train priced as one through ticket. See rail fares.
2026-10-07 — Airports./v1/airports.json lists the 50 airports in Great Britain with scheduled flights, and /v1/airports/{iata}.json gives one with its terminals, the rail stations within 3 km, the bus, coach, tram and metro stops at the terminals with the lines serving them, and disruptions nearby. Place search finds airports too (type=airport). See airports and the airport guide.
2026-10-06 — Faster journey planning. Journeys typically return in 5–8 seconds, down from around 15 with occasional timeouts. Each search now covers departures in the hour from your requested time (it was three hours); turn-by-turn steps are only computed with include_steps=true; and walking and cycling alternatives are offered for routes up to 4 hours.
2026-10-01 — Departures predicted before the bus sets off. Where a journey has no tracked bus yet but the bus that will run it is tracked on its previous journey (from the timetable's block), the departure now carries a predicted expected time with source: "block" and predicted_from. At Rotherham Interchange this took live information from 10 of 26 departures to 21. See predicted departures.
2026-09-30 — Push alerts (webhooks)./v1/alerts.json lets TransCAPI tell your server when a tracked bus is due at a stop within a few minutes, or when a new disruption matches your filters, as signed JSON. Free keys get 3 alerts, Standard 50, Pro 500. See push alerts.
2026-09-30 — Slope limits for accessible journeys. Every itinerary now carries accessibility.steepest_walk_gradient_pct, and max_gradient excludes journeys with a steeper walk (8.3 is the 1-in-12 ramp standard). See accessibility.
2026-09-30 — Chance of making each connection. Journeys with a change now carry connections: the time to spare at each change and chance_pct, how often it has actually worked on recent days for those exact buses, plus connection_chance_pct for the whole journey. See connections.
2026-09-30 — Journey fixes: a datetime without a time zone (2026-10-01T08:00:00) is now read as UK time; it used to return no journeys. A planner timeout now returns 503 planner_unavailable with Retry-After instead of an empty list.
2026-09-30 — National Rail engineering works and incidents in disruptions./v1/disruptions.json now includes National Rail's Knowledgebase incidents (source: "nre_kb"): about a thousand planned works and live incidents, each with the train operators affected, the affected routes, and the stations named in them (CRS code and position), so mode=rail, operator, atcocode (a CRS code for stations), radius, box and route filters all work for rail. See National Rail.
2026-09-30 — Live bus delays and punctuality across Great Britain. TransCAPI now tracks every bus reporting its position to the Bus Open Data Service against its timetable, not just in northern England and West Sussex: about 29,000 buses rather than 9,000. Departures and arrivals carry delay_seconds and expected times, and /v1/bus/vehicles.json carries delays, wherever the operator reports. Punctuality history builds nationally from today; northern England and West Sussex go back to 4 August.
2026-09-30 — Bus punctuality./v1/bus/reliability.json gives how punctual a route or line has actually been over up to 56 days: on time, early, late and very late shares, mean delay, timing-point, first-stop and last-stop on-time rates, and an hour-by-hour breakdown; or every line an operator runs. /v1/bus/stop_reliability/{atcocode}.json gives each line at a stop, with median and 90th-percentile delay. Measured from tracked buses in northern England and West Sussex. See punctuality.
2026-09-30 — Reachable areas and travel times./v1/journey/reachable.json returns the area reachable from a point within up to four cutoffs, as GeoJSON. /v1/journey/travel_times.json returns the public transport travel time from one point to up to 500 destinations in one request. Both cover bus, coach, tram, metro, Underground, ferry and National Rail across Great Britain, today and tomorrow. See reachable areas and travel times.
2026-09-30 — Carbon on every journey. Each leg in /v1/journey.json now carries carbon.co2e_g, grams of CO2e per passenger from the UK government's 2026 conversion factors, and each itinerary a total with driving_alone_co2e_g beside it for comparison. Existing fields are unchanged. See carbon.
2026-09-30 — Wrong paths now point to the right ones. A path missing only .json or /v1/bus redirects (308), and a guess such as /v1/bus/stops/{id}/departures.json returns a 404 with did_you_mean naming the endpoint to use.
2026-09-29 — Walking climb and effort. Every walking leg in /v1/journey.json now carries terrain: metres climbed and descended, the steepest gradient each way, a shape such as gentle climb or hilly, and an estimated calories_kcal. Each itinerary adds a walking summary, so routes can be ranked by how hard the walking is as well as how far. Heights come from OS Terrain 50 and cover all of Great Britain. Existing fields are unchanged. See climb and effort.
2026-09-29 — Journey planning covers all of Great Britain./v1/journey.json now plans door-to-door journeys across England, Scotland and Wales, by bus, coach, rail, Underground, metro, tram and ferry, up to two months ahead. Bus, tram and metro legs follow the operator's published route, with a new leg_geometry_source field saying so. Fares remain estimates where fare data exists (bus in Yorkshire and West Sussex). The rail timetable is now refreshed daily from Network Rail. Journey planning has a weekly maintenance window, Sundays 03:00–04:30 UK, returning 503 scheduled_maintenance with Retry-After. See journey planning.
2026-09-28 — Added live bus vehicles: /v1/bus/vehicles.json lists every bus reporting its position near a point or in a box, linked to its timetabled trip, with its delay where tracked. Bus departures and arrivals now carry delay_seconds and expected times for tracked buses (northern England and West Sussex), and departed for a bus already past the stop. The bus timetable is now refreshed daily from the national BODS export. See bus.
2026-09-28 — /v1/rail/services/{trip_id}.json is live for trains running today: each call gains status, expected_time, actual_time and platform from National Rail's Darwin, and the train a status, delay_reason and cancel_reason. See rail.
2026-09-28 — Live rail times./v1/rail/station_timetables/{crs_code}.json now merges National Rail's Darwin into every board within two hours of now: expected times, platforms, cancellations and delay reasons, with statuses on_time, late, early, delayed and cancelled, plus National Rail's station messages. On by default; live=false returns the scheduled board. Existing fields keep their names, and three new fields appear on every row: platform, delay_reason and cancel_reason. See rail.
2026-09-28 — New prices and daily allowances: Free is 1,000 requests a day, Standard £29 a month for 50,000 a day, and Pro £99 a month for 500,000 a day. Per-minute burst limits stay at 30, 300 and 1,200. Every response now carries X-RateLimit-* headers for both limits, and going over the daily allowance returns 429 daily_limit_exceeded. See rate limits.
2026-09-28 — Place search now answers settlements from NPTG and postcodes from Code-Point Open, held by TransCAPI rather than looked up from a third-party geocoder. Partial postcodes (S1) list the postcodes they start, places sharing a name are ranked by size, and settlements and postcodes come ahead of stops when no lat/lon is given. Street addresses are no longer returned.
2026-09-28 — Rail stations are now built from NaPTAN and Network Rail data. 50 stations were added, including Farringdon, Abbey Wood and Liverpool South Parkway; several positions were corrected, among them Canary Wharf (Elizabeth line), which was 2.4 km out; and Strand and Winslow, which have no timetabled trains, were removed. Some names changed to NaPTAN's form, e.g. "Bond Street (Elizabeth line)" is now "Bond Street".
2026-09-28 — Added data sources & attribution: every source behind the API, its licence, and the attribution line to show if you display TransCAPI data.
2026-08-20 — Journey planning now covers West Sussex as well as South and West Yorkshire. A journey with one end in each area returns 422 outside_coverage saying so, and each response's coverage block names the area the journey was planned in.
2026-08-06 — Disruptions can now be filtered by route. Pass a journey's geometry as path (an encoded polyline) with an optional path_radius, and only situations naming a stop near that route come back. Matching uses each situation's complete stop list, not the 50 the response carries, so a situation naming hundreds of stops is judged on all of them. This is the reliable way to ask "what is disrupting this journey": a service number identifies a route only within one operator's area — First South Yorkshire runs a 21 in Barnsley and another in Rotherham — so filtering by line alone matches the same number in other towns. See matching a disruption to a route.
2026-08-06 — Added disruptions: /v1/disruptions.json merges the DfT's national BODS SIRI-SX situation feed with TfL's line status for the Tube, DLR, Overground, Elizabeth line and London Trams into one shape. Filter by mode, severity, operator, line, stop, radius or bounding box, and by whether works are planned. Responses report per-feed freshness in sources, so an empty list is distinguishable from an outage. National Rail engineering works are not covered. See the new disruptions docs.
2026-08-05 — Journey planning gained walking limits and turn-by-turn directions. max_walk_distance caps the longest single walking leg and max_total_walk_distance the sum; every itinerary now reports walk_distance_m and longest_walk_m. include_steps=true adds per-turn directions — instruction, street name, distance and coordinate — to every walking leg. OpenTripPlanner has no walk limit of its own, so limits bias the search and then filter the results; the response reports how many itineraries the limit removed. See the journey planning docs.
2026-08-05 — Journey planning expanded: per-leg and per-itinerary fare estimates, live vehicle positions for buses already running, real-time estimated/delay_s on every leg, walking and cycling alternatives, transit sub-mode filtering (transit_modes), intermediate stop lists, trip ids and stop counts. An empty search window now returns the next available departures (next_available: true) instead of nothing, and an origin or destination outside the routing area returns 422 outside_coverage rather than an empty list. See the new journey planning docs.
2026-07-28 — Bus and rail departures now cover the whole of Great Britain (previously Yorkshire only for rail; bus scheduled departures previously depended on a Yorkshire-only routing graph). Journey planning (/v1/journey) still covers Yorkshire only.
2026-07-28 — Added rail: /v1/rail/stations.json and /v1/rail/station_timetables/{crs_code}.json. See the rail docs.