Bus

Bus (and tram/rail-station) stop data is sourced from NaPTAN; live vehicle positions come from BODS' SIRI-VM feed.

Find stops

GET /v1/bus/stops.json?lat={lat}&lon={lon}&radius={metres}

Or by bounding box: min_lat/min_lon/max_lat/max_lon. Filter by type (bus_stop, train_station, tram_stop).

Departures

GET /v1/bus/stop_timetables/{atcocode}.json?live=true

Returns scheduled departures from GTFS timetable data. With live=true, TransCAPI also queries BODS' SIRI-VM feed for vehicles near the stop and matches them to scheduled departures by line and timing, attaching a live_vehicle position where a match is found. This is a best-effort match, since BODS' SIRI-VM feed does not include per-stop call sequence data.