OrbTop

FlixBus Scraper — Bus & Train Schedules, Fares (40+ Countries)

TRAVELBUSINESSDEVELOPER TOOLS

FlixBus Scraper — Bus & Train Schedules, Fares, Routes

Scrapes trip schedules, fares, and seat availability from FlixBus across 40+ countries. Returns departure and arrival times, duration, price, amenities, accessibility info, and a direct booking link — for any origin/destination pair on any date.


FlixBus Scraper Features

  • Extracts up to 100 trips per route/date query in a single run
  • Returns 20+ fields per trip: timing, price, seat count, bike slots, Wi-Fi, power, wheelchair status
  • Covers FlixBus and FlixTrain routes across Europe, the US, and Canada
  • Accepts city names in plain language — "New York", "Berlin", "Paris" — no ID lookups required
  • Supports 12 currencies: EUR, USD, GBP, CHF, PLN, CZK, SEK, DKK, NOK, TRY, HUF, RON
  • Quick and cheap per route
  • Accepts ISO dates (YYYY-MM-DD) or defaults to tomorrow if no date is provided

Who Uses FlixBus Data?

  • Travel aggregators — Pull real-time fares and schedules to display alongside rail and flight options
  • Fare comparison tools — Track price changes over time for a given corridor or compare FlixBus against competing intercity carriers
  • Mobility researchers — Analyze intercity bus coverage, route frequency, and pricing across European markets
  • Tourism apps — Surface affordable ground transport options for budget travelers
  • Data journalists — Map FlixBus accessibility by route — wheelchair status, bike capacity — the kind of analysis that takes ten minutes with structured data and forever without it

How FlixBus Scraper Works

  1. Fetches the FlixBus partner auth key from a public server config endpoint — no scraping the frontend, no WAF to navigate.
  2. Resolves your city names to FlixBus internal UUIDs via the autocomplete API. You type "Berlin"; it figures out the rest.
  3. Issues a single search request to the v4/search endpoint. All results for a given route and date come back in one response — no pagination needed.
  4. Saves each available trip as a structured record with fare, timing, amenity, and booking link data.

Input

{
  "origin": "Berlin",
  "destination": "Prague",
  "date": "2026-06-15",
  "passengers": 1,
  "currency": "EUR",
  "maxItems": 15,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
Field Type Default Description
origin string Berlin Departure city name (e.g. "New York", "Paris", "Warsaw")
destination string Prague Arrival city name
date string tomorrow Travel date in YYYY-MM-DD format. Leave blank to use tomorrow.
passengers integer 1 Number of adult passengers
currency string EUR Price currency ISO code (EUR, USD, GBP, etc.)
maxItems integer 15 Maximum number of trip results to return

FlixBus Scraper Output Fields

{
  "trip_id": "direct:1234567:40d8f682-8646-11e6-9066-549f350fcb0c:40de1ad1-8646-11e6-9066-549f350fcb0c",
  "service": "FlixBus",
  "route_id": "N60",
  "origin_city": "Berlin",
  "origin_station": null,
  "origin_country": "DE",
  "destination_city": "Prague",
  "destination_station": null,
  "destination_country": "CZ",
  "departure_time": "2026-06-15T00:15:00+02:00",
  "arrival_time": "2026-06-15T04:40:00+02:00",
  "duration_minutes": 265,
  "transfers": 0,
  "segments": [],
  "price_total": 18.99,
  "price_currency": "EUR",
  "price_type": "Direct",
  "seats_available": 62,
  "bike_slots_available": 0,
  "amenities": ["wifi", "power"],
  "bikes_allowed": "true",
  "wheelchair_status": "unknown",
  "booking_url": "https://shop.flixbus.com/search?departureCity=40d8f682-8646-11e6-9066-549f350fcb0c&arrivalCity=40de1ad1-8646-11e6-9066-549f350fcb0c&rideDate=06/15/2026&adult=1",
  "scraped_at": "2026-06-14T18:30:00.000Z"
}
Field Type Description
trip_id string FlixBus trip UID encoding ride ID and station IDs
service string Brand name: FlixBus or FlixTrain
route_id string Route line code (e.g. N60, F303)
origin_city string Departure city name as returned by FlixBus
origin_station string Departure station name (null in v4 search results)
origin_country string ISO country code for origin (DE, US, FR, etc.)
destination_city string Arrival city name
destination_station string Arrival station name (null in v4 search results)
destination_country string ISO country code for destination
departure_time string Scheduled departure — ISO 8601 with timezone offset
arrival_time string Scheduled arrival — ISO 8601 with timezone offset
duration_minutes number Total trip duration in minutes
transfers number Number of transfers (0 = direct service)
segments array Stop names along route
price_total number Total ticket price in the requested currency
price_currency string Currency ISO code
price_type string Trip type: Direct or Transfer
seats_available number Seats available at scrape time
bike_slots_available number Bike transport slots available
amenities array On-board amenities (wifi, power, toilet, ac, reclining_seats, extra_legroom)
bikes_allowed string Whether bicycle carriage is permitted ("true" / "false")
wheelchair_status string Wheelchair accessibility status as reported by FlixBus
booking_url string Direct booking link on shop.flixbus.com
scraped_at string ISO timestamp when data was scraped

🔍 FAQ

How do I scrape FlixBus schedules for a specific route?

FlixBus Scraper takes an origin city name, a destination city name, and a date. Set origin to your departure city (e.g. "Amsterdam"), destination to your arrival city (e.g. "Brussels"), and date to your travel date in YYYY-MM-DD format. Leave date blank to get tomorrow's trips, which works well for monitoring.

How much does FlixBus Scraper cost to run?

FlixBus Scraper charges $0.10 per start plus $0.001 per record. A run returning 15 trips costs roughly $0.115. Most routes have 50–100 available trips per date, so a full-route pull of 100 records runs about $0.20.

What data can I get from FlixBus?

FlixBus Scraper returns schedules, fares, seat availability, bike slot counts, amenities (Wi-Fi, power sockets, toilets, AC), wheelchair accessibility status, and direct booking URLs. Coverage spans 40+ countries and 5,600+ destinations. Prices and seat counts reflect availability at the moment of scraping.

Can I filter results by price or departure time?

FlixBus Scraper returns all available trips for a route and date, up to maxItems. Filtering happens in your downstream pipeline — take the full output and apply your own criteria.

What cities are supported?

FlixBus serves 5,600+ destinations across 40+ countries in Europe, the US, and Canada. If it's on the FlixBus website, FlixBus Scraper can reach it. Unrecognized city names return a descriptive error.


Need More Features?

Need round-trip queries, custom fields, or a different target site? File an issue or reach out through the Apify console.

Why Use FlixBus Scraper?

  • Affordable — $0.001 per record includes pricing, availability, and amenities in a single API call
  • Clean output — Returns structured JSON with consistent field names and ISO-format timestamps, so your pipeline can use the data without normalization
  • 40+ countries — One actor covers all FlixBus and FlixTrain markets, from Germany and France to the US east coast intercity network