FlixBus Route & Price Scraper avatar

FlixBus Route & Price Scraper

Pricing

from $2.00 / 1,000 flixbus trip results

Go to Apify Store
FlixBus Route & Price Scraper

FlixBus Route & Price Scraper

Extract current FlixBus routes, trip schedules, stations, availability, amenities, and prices for travel planning and fare research.

Pricing

from $2.00 / 1,000 flixbus trip results

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract current FlixBus routes, schedules, stations, availability, amenities, and prices into a clean dataset for travel planning, fare monitoring, route research, and agent workflows.

The Actor resolves public city names through FlixBus's own autocomplete service and queries the page-owned trip search service used by the public booking flow. It does not require a FlixBus login and it does not make reservations.

What it extracts

Field groupIncluded data
RouteOrigin/destination names and FlixBus IDs, departure and arrival stations
ScheduleDeparture/arrival timestamps, total duration, direct/transfer status
PriceTotal, original, platform-fee-inclusive amount, requested currency
AvailabilitySeat and bicycle availability when FlixBus discloses it, capacity indicator
JourneyOrdered legs, operators, transport type, amenities
SourceSearch date, booking search URL, scrape timestamp

Use it for comparing departures, collecting route snapshots, feeding a travel dashboard, or monitoring prices on supported public routes. Do not use it to book tickets, hold seats, access an account, bypass a challenge, or assume that a quoted fare remains available after the search time.

Input

FieldRequiredDefaultNotes
fromCityYesBerlinExact public city name works best
toCityYesMunichExact public city name works best
departureDateNotomorrowYYYY-MM-DD, today or later
daysNo1Search 1–14 consecutive dates
adultsNo11–9
childrenNo00–9
bikesNo00–9
currencyNoEURThree-letter ISO code
localeNoenLanguage such as en, de, or fr
fromCountry, toCountryNoTwo-letter codes for ambiguous city names
directOnlyNofalseKeep only one-leg itineraries
sortByNodeparturedeparture, price, or duration
maxResultsNo50Total cap, 1–500
proxyConfigurationNodisabledOptional Apify Proxy configuration

Example:

{
"fromCity": "Berlin",
"toCity": "Munich",
"departureDate": "2026-09-15",
"days": 3,
"adults": 1,
"currency": "EUR",
"directOnly": false,
"sortBy": "price",
"maxResults": 25
}

Run it through the API after deployment:

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~flixbus-route-price-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fromCity":"Berlin","toCity":"Munich","departureDate":"2026-09-15","maxResults":10}'

Keep tokens in secrets or authorization headers in production; do not commit them.

The five private example tasks can be recreated or reconciled with the Apify API using scripts/configure-tasks.mjs:

APIFY_TOKEN="$APIFY_TOKEN" APIFY_ACTOR_ID="YOUR_ACTOR_ID" \
node scripts/configure-tasks.mjs

The script always keeps those tasks private and never stores the token in the repository.

Output

Each dataset row represents one itinerary on one requested date:

{
"tripId": "ic:...",
"searchDate": "2026-09-15",
"fromCity": "Berlin",
"toCity": "Munich",
"departureTime": "2026-09-15T07:15:00+02:00",
"arrivalTime": "2026-09-15T17:35:00+02:00",
"durationMinutes": 620,
"durationText": "10h 20m",
"direct": false,
"price": 24.48,
"priceWithPlatformFee": 25.47,
"currency": "EUR",
"availableSeats": 37,
"amenities": ["WIFI", "POWER_SOCKETS"],
"operators": ["FlixBus"],
"bookingUrl": "https://shop.flixbus.com/search?..."
}

SUMMARY in the default key-value store classifies the outcome as DATA, EMPTY, BLOCKED, or FAILED, records resolved cities and searched dates, and lists warnings. An empty valid route is never replaced with fabricated dataset rows.

Pay per event

EventPriceTrigger
Actor start$0.0005One run starts
FlixBus trip result$0.002One validated row is written to the default dataset

A run returning 25 trips costs about $0.0505 in events. A valid empty search costs only the start event. Synthetic events are charged by Apify when live PPE is enabled; the Actor does not manually double-charge them. Final prices and availability can change between search and booking.

Reliability and limits

Requests use the public FlixBus booking flow with consistent browser-like headers, three bounded attempts, exponential backoff, and one stable proxy session when a proxy is configured. HTTP 403, 429, upstream failures, and per-date errors remain visible in SUMMARY. The run preserves results from healthy dates if another date fails.

The Actor caps date ranges at 14 days and output at 500 records. FlixBus may return no sale inventory for near-term, distant, or unsupported routes. City names can be ambiguous; use country filters when needed. The integration relies on an undocumented public page-backing endpoint, so FlixBus can change it without notice.

Use public trip information responsibly and comply with FlixBus terms, applicable law, and reasonable request rates. This Actor is an independent data extraction tool and is not affiliated with, endorsed by, or sponsored by Flix SE. FlixBus is a trademark of its owner. Do not use the Actor to interfere with the service, circumvent access controls, or make automated purchasing decisions without independently verifying the live booking page.