Tracking Fare Trends from FlixBus & Eurowings for a German Price Monitor App

Overview
In a fast-growing price-sensitive travel market like Germany, one mobility startup aimed to help users monitor fare trends across budget carriers and intercity transport providers. Their target audience? Students, freelancers, and weekend travelers seeking affordable options.
To power this vision, Travel Scrape built a data engine that tracked bus and airline fares from FlixBus and Eurowings, triggering alerts when prices dropped or when booking patterns indicated rising demand.
Project Objectives

- Scrape fare data for Germany’s most traveled intercity routes.
- Monitor fluctuations for bus and flight prices on flexible dates.
- Offer “Book Now” or “Wait” suggestions based on fare behavior.
- Visualize trends in a mobile app feed for student and low-cost users.
- Enable daily fare alerts and recommendations with affiliate redirects.
Why FlixBus & Eurowings?
Feature | FlixBus | Eurowings |
---|---|---|
Mode | Intercity Bus | Budget Airline |
Target Audience | Students, Backpackers | Leisure, Business, Short-haul Fliers |
Price Fluctuations | High (within 24 hrs) | Moderate-High (7–21 day window) |
Booking Channels | Direct website, app | Website, OTAs, Google Flights |
Together, they cover 75%+ of Germany’s low-cost intercity travel demand.
Travel Scrape’s Data Strategy
1. Route & Frequency Mapping
Top Routes Scraped Daily:
FlixBus Routes | Eurowings Routes |
---|---|
Berlin ↔ Hamburg | Berlin ↔ Cologne |
Munich ↔ Frankfurt | Stuttgart ↔ Düsseldorf |
Leipzig ↔ Dresden | Hamburg ↔ Vienna |
Cologne ↔ Nuremberg | Munich ↔ Berlin |
2. Scraped Data Fields
Field | Sample Value |
---|---|
Mode | Bus / Flight |
Carrier | FlixBus / Eurowings |
Departure & Arrival City | Munich → Berlin |
Price (One-way) | €21 (FlixBus), €63 (Eurowings) |
Departure Time | 7:15 AM |
Date | 2025-07-18 |
Duration | 6h 15m (Bus), 1h 5m (Flight) |
Fare Change (24 hrs) | -€4 (Bus), +€7 (Flight) |
Availability | “Only 4 seats left” |
Booking Source URL | [FlixBus.com], [Eurowings.com] |
3. Sample JSON Record (FlixBus)

4. Scraping Infrastructure
- Tools Used: Playwright + Python for dynamic sites
- Proxies: German IPs for regional price accuracy
- Schedule: Every 4 hours per route
- Storage: PostgreSQL (fare logs), Redis (price triggers), AWS (snapshots)
- Trend Engine: Pandas + custom rules for volatility scoring
App Features Powered by Data
Feature | Description |
---|---|
Fare Trend Graph | Shows 7-day history of fare for any route |
Alert Watchlist | Users get notified if price drops >10% |
Deal Summary Cards | Auto-generated “Top 5 Deals Today” list |
Book Now Recommendation | If fare trend predicts imminent rise |
Fare Comparison Widget | Side-by-side bus vs flight cost & duration |
Results Achieved in 60 Days
KPI | Before Travel Scrape | After Integration |
---|---|---|
Alert CTR (Push Notifications) | 14% | 39% |
Booking Conversion via App | 8.2% | 15.6% |
Avg. Daily Users | 7,000 | 12,200+ |
Routes Tracked by Users | – | 18,000+ |
Average Fare Accuracy (vs OTA) | ~62% | 94% |
Fare Insights from Scraped Data
FlixBus Fare Fluctuations
- Price for Berlin → Hamburg route ranged from €9 to €27
- Best time to book: 4–5 days in advance
- Alerts triggered average €6 in savings per trip
Eurowings Fare Insights
- Stuttgart → Cologne saw weekend spikes of 28–35%
- Last-minute booking (>3 days) increased fare by €22 on average
- “Book Now” push had 22.4% tap-through rate
Sample Visualization
Berlin → Munich Fare Tracker (June 2025)
Date | FlixBus (€) | Eurowings (€) |
---|---|---|
June 10 | 24 | 71 |
June 12 | 21 | 63 |
June 14 | 19 (drop) | 67 (rise) |
June 16 | 23 | 76 |
Travel Scrape flagged optimal booking window: June 13–14.
Client Testimonial
"We knew price monitoring was key, but without scraping, we had no control over freshness. Travel Scrape helped us build the heartbeat of our app—live, local, and lightning-fast."
Tech Stack Used
Layer | Tools Used |
---|---|
Scraping Engine | Playwright, Python, Requests |
Data Storage | PostgreSQL, AWS S3 |
Alert Engine | Redis, Celery, FCM (Firebase Push) |
Frontend App | Flutter (Client Side) |
Dashboard & Trends | Streamlit (Internal), Grafana |
Challenges & Solutions
Challenge | Travel Scrape’s Fix |
---|---|
Regional pricing variations | Geo-located scraping with German IPs |
CAPTCHA on Eurowings | Playwright with human behavior simulation |
Data duplication across timeslots | Timestamped hash-based deduplication |
Delay in push alert delivery | Real-time queue processing using Redis |
OTA link parsing | Dynamic anchor tag resolution & validation |
Use Cases Enabled
- Students & Backpackers: Low-cost travel discovery
- Digital Nomads: Flexible trip planning with alerts
- Travel Bloggers: Embed fare graphs via API
- Affiliate Marketers: Monetize with booking redirects
Conclusion
Travel Scrape’s fare-tracking solution allowed this German price monitoring app to track, compare, and act on dynamic fares from FlixBus and Eurowings—two of the country’s most influential low-cost travel providers.
From route-level insights to real-time push alerts, scraped data wasn’t just powering features—it became the foundation for daily engagement, growth, and user trust.
If you're building anything in mobility, OTA analytics, or fare discovery—scraped price feeds are your competitive edge.