redBus Scraper avatar

redBus Scraper

Pricing

$0.90 / 1,000 bus services

Go to Apify Store
redBus Scraper

redBus Scraper

Search public redBus bus services for one route and travel date. Get structured schedules, fares, seat availability, boarding points, operators, and bus types in your dataset. Filter services by market, fare, time, operator, bus type, or seat availability.

Pricing

$0.90 / 1,000 bus services

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

🚌 Compare redBus routes with structured service data

For travel teams, route planners, and developers, redBus Scraper searches public redBus services for one origin, destination, market, and travel date. It saves structured rows with operators, service names, bus types, times, fares and currency, seat availability, boarding and dropping locations, ratings, and source-provided details. Use the rows to compare route options or build a travel view.

📦 RedBus service rows at a glance

Each dataset item is one public redBus bus service for the selected market, route, and travel date. Optional fields are present when the source provides them.

This Actor searches one origin, one destination, and one travel date per run. It does not book, reserve, pay for, cancel, or change a ticket.

  1. Choose a market and enter the origin and destination city or bus station.
  2. Choose a calendar date such as 2026-10-01, or enter a relative interval such as 1 day from now. Relative dates are resolved in UTC.
  3. Add optional filters for operators, bus types, fares, departure time, arrival time, or seat availability.
  4. Run the Actor and open the dataset to read or export the service rows.

⚙️ Input

Choose one market, origin, destination, and travel date. Optional filters use the selected market's fare currency and local times.

Input fields

FieldTypeWhat it does
marketstringChooses co, id, in, my, pe, or sg for Colombia, Indonesia, India, Malaysia, Peru, or Singapore and sets the fare currency.
originstringSets the departure city or bus station.
destinationstringSets the arrival city or bus station.
travelDatestringAccepts a calendar date such as 2026-10-01 or a relative interval such as 1 day from now. Relative dates are resolved in UTC.
operatorsstring[]Keeps services run by the listed operators. Leave it empty to include all operators.
busTypesstring[]Keeps services with the listed bus types. Leave it empty to include all bus types.
minFarenumberKeeps services with a fare at or above this amount in the selected market's currency.
maxFarenumberKeeps services with a fare at or below this amount in the selected market's currency.
departureWindowobjectKeeps services that depart within a selected local-time window. Set from, to, or both.
departureWindow.fromstringSets the earliest departure time in HH:MM.
departureWindow.tostringSets the latest departure time in HH:MM.
arrivalWindowobjectKeeps services that arrive within a selected local-time window. Set from, to, or both.
arrivalWindow.fromstringSets the earliest arrival time in HH:MM.
arrivalWindow.tostringSets the latest arrival time in HH:MM.
onlyAvailableSeatsbooleanWhen on, keeps only services with seats available. When off, includes all matching services.

Example input

This is the public input from a successful current-beta default-input run.

{
"market": "in",
"origin": "Delhi",
"destination": "Mumbai",
"travelDate": "1 day from now",
"onlyAvailableSeats": false
}

🧾 Output

The Output tab exposes dataset, a link to the run dataset. Each dataset item uses one bus-service shape.

Output fields

FieldTypeWhat it does
routeobjectHolds the service origin and destination.
route.originstringGives the departure city or bus station shown by the source.
route.destinationstringGives the arrival city or bus station shown by the source.
serviceobjectHolds the operator and service identity.
service.operatorstringGives the bus operator shown by the source.
service.serviceNamestring, optionalGives the source service name when available.
service.serviceIdstring, optionalGives the source identifier when available.
service.busTypestringGives the bus type shown by the source.
travelDatestringGives the service date in YYYY-MM-DD form.
scheduleobjectHolds the departure and arrival times.
schedule.departureTimestringGives the local departure time shown by the source.
schedule.arrivalTimestringGives the local arrival time shown by the source.
durationMinutesintegerGives the journey duration in minutes.
fareobjectHolds the fare amount and currency.
fare.amountnumberGives the ticket fare amount.
fare.currencystringGives the currency used for the fare.
seatAvailabilityobjectHolds the source seat status and available-seat details.
seatAvailability.statusstringGives the seat availability status.
seatAvailability.countinteger, optionalGives the available seat count when provided.
seatAvailability.seatLayoutAvailableboolean, optionalSays whether a seat layout is available.
boardingLocationsstring[]Lists places where passengers can board.
droppingLocationsstring[]Lists places where passengers can leave the service.
ratingsobjectHolds the rating and review count.
ratings.ratingnumber, optionalGives the service rating when provided.
ratings.reviewCountinteger, optionalGives the number of reviews when provided.
amenitiesstring[], optionalLists source-provided amenities.
cancellationStatusstring, optionalGives the source cancellation status.
reschedulingStatusstring, optionalGives the source rescheduling status.
liveTrackingAvailableboolean, optionalSays whether live tracking is available according to the source.
mTicketAvailableboolean, optionalSays whether an m-ticket is available according to the source.
offersstring[], optionalLists source-provided offers.

Example row

This unshortened row comes from a successful current-beta run for Lima to Ica.

{
"route": {
"origin": "Lima",
"destination": "Ica"
},
"service": {
"operator": "Jaksa",
"serviceName": "VIP ICA",
"serviceId": "43",
"busType": "VIP"
},
"travelDate": "2026-09-22",
"schedule": {
"departureTime": "2026-09-22 22:35:00",
"arrivalTime": "2026-09-23 03:25:00"
},
"durationMinutes": 290,
"fare": {
"amount": 60,
"currency": "PEN"
},
"seatAvailability": {
"status": "available",
"count": 36,
"seatLayoutAvailable": true
},
"boardingLocations": [
"Paradero Atocongo"
],
"droppingLocations": [
"Terminal Ica"
],
"ratings": {
"rating": 3.2,
"reviewCount": 0
},
"amenities": [
"52",
"41",
"49",
"37",
"33",
"32",
"24",
"23",
"22",
"9",
"7",
"47"
],
"reschedulingStatus": "4",
"offers": [
"Descuento 10 hasta 10 %",
"Prueba lo nuevo"
]
}

💳 Pricing

This Actor uses pay-per-event pricing. The Bus service event costs $0.0009 for each bus service saved to the dataset.

🔌 Integrations

Read the dataset through the Apify API or export it from the run.

❓ FAQ

Can I search more than one route in one run?

No. Each run uses one origin, one destination, and one travel date. Start another run for another route or date.

Can I use a relative travel date?

Yes. Use a value such as 1 day from now or 2 weeks. Relative dates are resolved in UTC.

Can I filter services by operator, bus type, fare, or time?

Yes. Use the operator and bus-type lists, fare limits, or departure and arrival windows. You can also keep only services with available seats.

Does this Actor book or change a ticket?

No. It reads public service listings and saves route, schedule, fare, seat, location, and source-provided detail. It does not book, reserve, pay for, cancel, or change tickets.

The dataset contains only services exposed for the selected market, route, date, and filters. A search with no matching service has no service row to review.

Why can a field be missing from a row?

Some fields are optional because the source may not provide them for every service. Check the field table and use the values that are present.

Can I compare fares from different markets?

Choose the same market when comparing fare amounts. Each market returns fares in its own currency.

Do I need a redBus account or API key?

No. The Actor reads public route listings without a buyer-supplied redBus account, API key, or credential.

📝 Changelog

v0.0 (21-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré