How We Collect Flight Price Data
Author: LetsFG ·
Overview
LetsFG checks real, published flight prices across a wide range of sources — airlines, online travel agencies (OTAs), and meta-search sites — and records the full price distribution for a route, not just the single cheapest result.
The statistics on each route page are computed from the real offers we observed during recent price checks. We do not adjust, inflate, or editorially curate prices. What you see is the mathematical distribution of the offers exactly as they were published at the time.
Where Our Prices Come From
For every route we check prices directly at the source, in a consistent and repeatable way, across three kinds of places:
- Airlines — fares as published by the carrier for that route.
- Travel agencies (OTAs) — fares offered by online travel agencies that sell that route.
- Meta-search — fares surfaced by meta-search and aggregator sites.
We bring these together, remove duplicates, and record every distinct fare, so the distribution reflects the real spread of prices a traveler would actually find for the route.
What the Statistics Mean
- Median (P50)
- The price at which exactly half of the recorded offers are cheaper and half are more expensive. More robust than the average because it is not skewed by a few very cheap or very expensive outliers.
- P10 / P25 / P75 / P90
- Percentile prices. P10 means 10% of offers were cheaper than this price — it approximates the "budget end" of the market. P90 approximates the "premium end". The P25–P75 range (IQR) is where 50% of offers fall.
- Avg hidden fees
- The average ancillary fee (bags, seat selection, payment surcharges) we observed per offer. Calculated as the total price observed minus the base fare advertised at the first step of the booking flow.
- vs group avg
- In the source comparison, each source type is benchmarked against the average median price of its own type: direct-airline prices vs other direct-airline prices; OTA/meta prices vs other OTA/meta prices. This removes the natural price advantage of budget airlines bought directly.
- Offer count
- The number of unique fare options (a combination of outbound flight, fare class, and cabin) we recorded for the route in a single check. Higher counts mean more comprehensive coverage.
Data Freshness
Each route page displays a freshness label based on when the underlying snapshot was last updated:
- Fresh — snapshot is less than 48 hours old
- Recent — snapshot is 2–7 days old
- Stale — snapshot is older than 7 days; prices may have changed significantly
Flight prices change in real time. The distributions shown on these pages are historical snapshots that indicate what prices looked like when we last checked. They are not live quotes. Always run a live search to get current fares for your specific travel dates.
Limitations & Important Notes
- Observed prices, not quotes. These figures inform your search; the price you pay is the one shown when you book.
- Source coverage varies by route. Not every source is relevant for every route. We only include sources that publish prices for that origin–destination pair.
- Fee capture is best-effort. Ancillary fee data depends on how far into the booking flow a fare exposes it. Some fares show fees at the search-result stage; others do not. Routes where fee data is unavailable are marked accordingly.
- No affiliation is implied. When we name a specific airline or booking channel, we are identifying where a price was observed — not claiming official affiliation with, or endorsement by, those companies. Prices reflect what we observed at the time, not amounts guaranteed by those platforms.
- Prices are point-in-time. A single check captures prices for a specific date and passenger count. Different dates or passenger configurations will yield different distributions.
About LetsFG
LetsFG is an agent-native flight search toolkit. Developers, AI agents, and researchers can run their own multi-source flight searches through our API and SDKs (available on GitHub and PyPI).
Try the free sandbox — no card →
Free sandbox, no card · MCP, Python & JS SDKs
Questions about our data methodology? hello@letsfg.co
