Skip to content

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.

Runs REAL searches on our key: one per coming month, about 10 per scan. A scan spends most of a visitor's daily demo allowance, so expect one live run a day. Can take ~10-30s.

LISJFK · the coming months, one-way

captured run · 2026-08-27
Sep 2026
$511
typicalbook →
Oct 2026
$462
typicalbook →
Nov 2026
$419
typicalbook →
Dec 2026
cheapest$410
no bandbook →
Jan 2027
$410
typicalbook →
Feb 2027
$410
typicalbook →
Mar 2027
$410
typicalbook →
Apr 2027
$419
typicalbook →
May 2027
$410
typicalbook →
Jun 2027
$435
typicalbook →

A 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. 1

    Pick a route

    Two airport codes. The scan prices every coming month it can reach, usually 10 of them.

  2. 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. 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

Cheapest Month to Fly

Run the winning month through the day-by-day heat grid and the cheap day jumps out the same way.

day → fare

Flight Price Checker

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.