redBus
Live bus search, seat layout with per-seat pricing, boarding points, reviews, and location data from redBus, served as plain REST. Covers every redBus market (India, Indonesia, Singapore, Malaysia, Peru, and more) via the country/country_name query params on every endpoint — India is the default when both are left out.
Endpoints
| Endpoint | Query params | What it returns | Data up to |
|---|---|---|---|
GET /redbus/cities |
country, country_name |
Location catalogue for a country: cities, areas, and ferry ports. | 24 hr |
GET /redbus/search |
source_id, destination_id, doj, source_name, destination_name, limit, offset, country, country_name, currency |
Bus search between two locations for a date. Each result already includes amenity ids, a cancellation-policy rule string, ratings, fare, and seat-availability counts. | 2 min |
GET /redbus/boarding-points |
source_id, destination_id, doj, route_ids, country, country_name |
Boarding/dropping point name, address, and time for one or more routes. | 1 hr |
GET /redbus/amenities |
country, country_name |
Reference list of amenity ids and names (WIFI, charging point, ...). | 24 hr |
GET /redbus/reviews |
bus_type_id, operator_id, country, country_name |
Reviews for one bus. | 1 hr |
GET /redbus/seat-layout |
route_id, doj, operator_id, country, country_name, currency |
Full seat map with per-seat pricing. | 1 min |
GET /redbus/activities |
city_id, country, country_name |
Things-To-Do cross-sell activities in a city. | 1 hr |
source_id/destination_id/source_name/destination_name come from /redbus/cities. route_id/bus_type_id/operator_id come from a /redbus/search result.
Per-call prices, paid in USDC with x402, are listed on this actor's Pricing tab. "Data up to" is the cache window: a repeated call inside it returns the same data.
Calling it
# x402: no account or API key. The server answers 402 with payment instructions; an x402 client pays and repeats the request.
curl -i "https://<base-url>/redbus/cities?country=IN&country_name=IND"
curl -i "https://<base-url>/redbus/search?source_id=122&destination_id=124&doj=2026-12-04&source_name=Bangalore&destination_name=Chennai"
Responses are JSON. Field names follow the upstream source, so a response can be larger than the table above suggests.
Notes
/redbus/search's results already carry most of what a caller needs without further calls: an amenity id array (decode via/redbus/amenities), a parseablecancellationPolicyrule string, ratings, fare, and seat-availability flags./redbus/activitiesuses its own city-id space, separate from/redbus/cities— not every city has coverage.- Rail (train), Hotels, Metro, and Ferry are not covered by this actor.