Free tool · live demo, rate-limited
Cheapest Time to Fly
Which month is actually cheapest for your route? One real search per coming month, priced side by side, with Google's own verdict on every fare. The cheap months jump out.
LIS → JFK · the coming months, one-way
captured run · 2026-08-27A REAL year scan: one live search per month, departing the 15th, captured on 2026-08-27. A live run re-scans your route at request time.
Cheapest scanned month: December 2026 at $410 · departing 2026-12-15 · IB | AA
How it works
A year of fares, one chart, one obvious answer
1
Pick a route
Two airport codes. The scan prices every coming month it can reach, usually 10 of them.
2
We scan live, in parallel
One real Google Flights search per month, departing the 15th, on our key at request time. A sample, and the page says so.
3
Read the chart
Each bar is that month’s cheapest sampled fare. The cheapest month is called out, and every fare carries Google’s low | typical | high verdict where published.
Then zoom in
Month found. Now find the day, then the fare
year → month
This scanner
One fare per coming month answers the only question a year view can: where are the cheap pockets?
month → day
Run the winning month through the day-by-day heat grid and the cheap day jumps out the same way.
day → fare
Check the winning day live: the fare, Google's price band, and the verdict on whether to book it now.
Free vs your own key
What this page does, and what it deliberately does not
Honest scope: the free scan is a sample on our key. The full-resolution version is the same one-request-per-date pattern on yours.
Free here: 1 date per month
About 10 real searches per scan, roughly one live scan per visitor per day, results cached for a day. Enough to see the shape of the year.
Your key: any resolution
Weekends vs midweek, three dates per month, or all ~365 days. 150 / 250 / 500 req/min by tier means even the full-year scan is a burst, not a loop.
Same data, either way
Every fare carries price_insights_low/high and the verdict, plus a bookable buy_link. What you see here is the API response, not a mock.
Questions, answered plainly
- Is this scanner really free?
- Yes: no account, no email. Each live scan fires about 10 real searches against live Google Flights data on our own API key, one per coming month, which is why runs are capped per visitor per day. The page shows a captured scan until you run one.
- Why only one date per month?
- Cost, plainly: every date is a real search on our key. One mid-month fare per month (the 15th) is enough to see the shape of the year and pick the month to zoom into. A cheap sampled month is a place to look closer, not a guarantee that every day in it is cheap. On your own key you choose the sample: three dates per month, a weekend and a midweek, or every single day.
- What does Google’s verdict add to the chart?
- Each month’s fare carries price_range_in_relation_to_other_periods, Google’s own low | typical | high call against the route’s history, where Google publishes it. The chart tells you which month is cheapest this year; the verdict tells you whether that fare is actually cheap for the route. A cheapest month whose verdict is still "typical" means the route just does not dip much, and that is worth knowing before you wait three months to book.
- Why do some months show "no fares" or "search failed"?
- The API reports search outcome in an X-Search-Status header. "empty" is a real answer: Google returned no itineraries for that date. "degraded" means that one search did not complete and would simply be retried. The chart shows the status per month instead of inventing a price.
- How is this different from the Cheapest Month to Fly grid?
- This tool answers "which month?"; the month grid answers "which day inside that month?". Chain them: scan the year here, then run the month that wins through the month grid, then check the winning day’s live fare in the price checker before booking.
- How would I run this scan from my own code?
- One request per departure date, fired in parallel. The flights API allows 150 / 250 / 500 requests per minute by tier (Pro / Ultra / Mega), so a 12-month scan with several dates per month still finishes in one burst. The code card under the chart is pre-filled with your route.