02 // data sources & accuracy
We don't have a magic flight database. Nobody does. What we have is a tiered scrape + fallback pipeline that pulls from public booking sites the same way you would in a browser, plus one sandboxed API for last-resort coverage.
tier 1 — google flights
- Primary source for both single-destination and "anywhere" searches.
- Best inventory coverage and most up-to-date pricing.
- Occasionally blocks scraping during peak hours. We fail through gracefully.
tier 2 — skyscanner
- Fallback when Google returns nothing or blocks us.
- Wider OTA coverage (sometimes shows fares Google misses).
- Pricing can lag the airline by 5–15 min.
tier 3 — duffel test mode
- Real airline inventory via the Duffel API, but in sandbox mode.
- Prices are indicative, not bookable — useful for routing & airline data.
- Always tagged with
duffel · sandboxon the deal card. - Only triggers if both scrapers return zero AND you've set a specific destination.
why not amadeus / travelpayouts?
We tried. Travelpayouts disabled their free Flight Data API tier, and Amadeus's self-service signup is currently broken (no working confirmation flow). When either becomes accessible again we'll add them as additional tiers — see the developer docs in our GitHub for current status.
what affects accuracy
- Time of day — overnight scrapes are slightly stale by morning.
- Currency — we always extract in USD; airlines may quote in local currency at booking.
- Mistake fares — sometimes vanish before you can book. That's the game.
- Bag fees, seat selection, taxes — what you see is base fare. Airlines add the rest at checkout.
▎ noteAlways confirm the final price on the airline's own site before paying. We're a discovery tool, not a price guarantee.