Amtrak, Greyhound & Megabus Scraper — US Intercity Rail & Bus
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
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
- 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.
- The scraper queries Megabus and/or FlixBus APIs directly. Megabus uses its own journey search endpoint; FlixBus/Greyhound routes through the global FlixBus API.
- 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.
- 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?..."}
| Field | Type | Description |
|---|---|---|
trip_id | String | Unique trip identifier combining service, internal IDs, and date |
service | String | megabus or flixbus |
origin_station | String | Full station name at origin |
origin_city | String | Origin city name |
origin_state | String | Origin state abbreviation |
destination_station | String | Full station name at destination |
destination_city | String | Destination city name |
destination_state | String | Destination state abbreviation |
departure_time | String | Departure datetime (ISO 8601) |
arrival_time | String | Arrival datetime (ISO 8601) |
duration_minutes | Integer | Total trip duration in minutes |
transfers | Integer | Number of transfers (0 = direct) |
cheapest_fare_usd | Number | Lowest available fare in USD |
seats_available | Integer | Available seats at the quoted fare (-1 if not reported) |
amenities | Array | List of amenities, e.g. ["WIFI", "POWER_SOCKETS"] |
booking_url | String | Direct 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}
| Field | Type | Default | Description |
|---|---|---|---|
services | Array | ["megabus", "flixbus"] | Which carriers to include. Options: megabus, flixbus |
originCity | String | "New York, NY" | Origin city name. Fuzzy-matched against carrier city lists |
destinationCity | String | "Washington, DC" | Destination city name |
date | String | Tomorrow | Travel date in YYYY-MM-DD format. Defaults to tomorrow if blank |
passengers | Integer | 1 | Number of adult passengers |
maxItems | Integer | 10 | Maximum 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