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

16 May 2025
Case-Study-Tracking-Fare-Trends-from-FlixBus-&-Eurowings-for-a-German-Price-Monitor-App.jpg

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

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)

sample json record

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."

— Co-Founder, Germany Price Alert App

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.