./wiki

the manual

Public knowledge base. Built for users. The technical version (architecture, scaling, alt APIs) lives in the GitHub /docs folder.

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 · sandbox on 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.