Changelog

  • 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.