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.
Or let your assistant run it
The same flight search is on a free MCP server at free-trial.flightpowers.com/mcp. No API key: paste the address into Claude, Cursor or any MCP client, sign in with Google, and ask it which month is cheapest for your route. It is ad-supported, so every result carries one labelled sponsored card, and you get 50 searches a day and 250 a month. Connect it here.
Routes with their own page
Start from a route instead of an empty form
Each of these is this same tool, pre-filled, with the facts of that route beside it. The list is the city pairs in the published tables of the world's busiest air routes, plus three New York to Europe routes we scan for fares ourselves.
HKG → TPE
Hong Kong to Taipei
CAI → JED
Cairo to Jeddah
KUL → SIN
Kuala Lumpur to Singapore
ICN → NRT
Seoul to Tokyo
ICN → KIX
Seoul to Osaka
CGK → SIN
Jakarta to Singapore
DXB → RUH
Dubai to Riyadh
BKK → HKG
Bangkok to Hong Kong
TPE → NRT
Taipei to Tokyo
LHR → JFK
London to New York
BKK → SIN
Bangkok to Singapore
BKK → ICN
Bangkok to Seoul
All 50 routes are listed on the tools index.
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.
- Can my AI assistant run this scan for me?
- Yes. The same flight search is exposed on a free MCP server at free-trial.flightpowers.com/mcp, with no API key, so you can paste the address into Claude, Cursor or any MCP client, sign in with Google, and just ask which month is cheapest. It is ad-supported: every result carries one labelled sponsored card, and you get 50 searches a day and 250 a month. Connect it from the free tools page. For an ad-free server on your own key, see the MCP page.
- 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.