Amtrak, Greyhound & Megabus Scraper — US Intercity Rail & Bus avatar

Amtrak, Greyhound & Megabus Scraper — US Intercity Rail & Bus

Pricing

Pay per event

Go to Apify Store
Amtrak, Greyhound & Megabus Scraper — US Intercity Rail & Bus

Amtrak, Greyhound & Megabus Scraper — US Intercity Rail & Bus

Scrape US intercity bus schedules and fares: Megabus and FlixBus (Greyhound/FlixBus network) with per-carrier trip IDs, origin/destination cities, departure/arrival times, fares, seat availability, amenities, and booking links. Covers 734+ city pairs and 500+ routes across the continental US.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Megabus & FlixBus US Intercity Scraper

Scrapes live departure schedules and fares from Megabus and the FlixBus/Greyhound network for any US city pair. Returns structured trip data — origin, destination, departure time, arrival time, duration, fare, available seats, and amenities — across both services in a single run.

Megabus & FlixBus Scraper Features

  • Queries two networks in one run — Megabus and FlixBus (which operates the Greyhound intercity network in the US)
  • Returns 16+ fields per trip including departure/arrival stations, duration in minutes, cheapest fare, seat availability, and amenities like WiFi and power sockets
  • Defaults to tomorrow's departures if no date is specified — useful for scheduled monitoring
  • Filter by service — run just Megabus, just FlixBus, or both
  • Pure API scraping — no browser required, runs fast
  • Fuzzy city matching — resolves "New York, NY" or "NYC" to the correct station ID in both networks

What Can You Do With US Intercity Bus Data?

  • Price trackers — monitor fare changes across the Megabus and Greyhound/FlixBus network for a specific corridor
  • Travel researchers — compare fares, schedules, and seat availability across carriers for a given city pair
  • Yield management teams — track competitor pricing on overlapping routes
  • Data journalists — build datasets on affordable intercity travel options between US metros
  • Budget travel apps — feed live bus schedules into trip-planning tools without paying aggregator fees

How It Works

  1. Configure your origin city, destination city, and travel date. City names are matched against each carrier's city database — "New York, NY", "New York City", and "NYC" all resolve correctly.
  2. The scraper queries Megabus and/or FlixBus APIs directly. Megabus uses its own journey search endpoint; FlixBus/Greyhound routes through the global FlixBus API.
  3. Each trip is normalized to a common schema — same fields regardless of carrier, so you can compare Megabus and FlixBus results without hand-stitching two different formats.
  4. Results are written to the dataset. Run it once for a snapshot or schedule it to track fare changes over time.

Megabus & FlixBus Scraper Output Fields

{
"trip_id": "megabus-123-456-2025-06-15",
"service": "megabus",
"origin_station": "New York - Port Authority Bus Terminal",
"origin_city": "New York",
"origin_state": "NY",
"destination_station": "Washington, DC - Union Station Bus Plaza",
"destination_city": "Washington",
"destination_state": "DC",
"departure_time": "2025-06-15T07:00:00",
"arrival_time": "2025-06-15T11:00:00",
"duration_minutes": 240,
"transfers": 0,
"cheapest_fare_usd": 12.50,
"seats_available": 8,
"amenities": ["WIFI", "POWER_SOCKETS"],
"booking_url": "https://us.megabus.com/journey-planner/journeys?..."
}
FieldTypeDescription
trip_idStringUnique trip identifier combining service, internal IDs, and date
serviceStringmegabus or flixbus
origin_stationStringFull station name at origin
origin_cityStringOrigin city name
origin_stateStringOrigin state abbreviation
destination_stationStringFull station name at destination
destination_cityStringDestination city name
destination_stateStringDestination state abbreviation
departure_timeStringDeparture datetime (ISO 8601)
arrival_timeStringArrival datetime (ISO 8601)
duration_minutesIntegerTotal trip duration in minutes
transfersIntegerNumber of transfers (0 = direct)
cheapest_fare_usdNumberLowest available fare in USD
seats_availableIntegerAvailable seats at the quoted fare (-1 if not reported)
amenitiesArrayList of amenities, e.g. ["WIFI", "POWER_SOCKETS"]
booking_urlStringDirect link to book on the carrier's site

Input Configuration

{
"services": ["megabus", "flixbus"],
"originCity": "New York, NY",
"destinationCity": "Washington, DC",
"date": "2025-06-15",
"passengers": 1,
"maxItems": 50
}
FieldTypeDefaultDescription
servicesArray["megabus", "flixbus"]Which carriers to include. Options: megabus, flixbus
originCityString"New York, NY"Origin city name. Fuzzy-matched against carrier city lists
destinationCityString"Washington, DC"Destination city name
dateStringTomorrowTravel date in YYYY-MM-DD format. Defaults to tomorrow if blank
passengersInteger1Number of adult passengers
maxItemsInteger10Maximum trip records to return across all services

🔍 FAQ

How do I scrape bus schedules between two US cities?

Megabus & FlixBus US Intercity Scraper handles this with three fields: originCity, destinationCity, and date. City names don't need to be exact — the scraper resolves common abbreviations and partial names against each carrier's city database.

What data can I get from Megabus and FlixBus?

Megabus & FlixBus US Intercity Scraper returns departure and arrival times, station names, trip duration, number of transfers, the cheapest available fare in USD, seat availability at that fare, amenities like WiFi and power outlets, and a direct booking URL. Sixteen fields per trip.

Does this scraper include Greyhound routes?

Yes — under FlixBus. Greyhound's US intercity network is now operated by FlixBus, and its routes appear in the FlixBus API. Set services: ["flixbus"] to query just the Greyhound/FlixBus network.

How much does it cost to run?

Megabus & FlixBus US Intercity Scraper uses residential proxies for reliability. A typical city-pair query — both carriers, one date — costs a few cents. Runs are short: 30-60 seconds for most pairs.

Can I track fare changes over time?

The scraper doesn't track changes natively, but it's built for scheduled runs. Set it up with Apify's scheduler to query the same city pair daily — you'll get a historical fare record with no extra code.


Need More Features?

Need additional carriers, bulk route queries, or custom output fields? File an issue or get in touch.

Why Use Megabus & FlixBus US Intercity Scraper?

  • Two networks, one dataset — Megabus and FlixBus/Greyhound in a normalized schema, so you're not reconciling two different API shapes yourself
  • Direct API access — queries carrier APIs directly without going through an aggregator that charges for the data or throttles your queries
  • Field consistency — every trip record has the same fields regardless of carrier, which means your downstream analysis works without conditionals