Google Flights price tracker: the cheapest fare per departure day on a route, 1–60 days. One row per route and day: price, airline, stops, rank (1 = cheapest day). Cheapest flights, fare calendar, round trips, nonstop. maxPrice alerts filter before billing; track daily for flight price history.
Fetching: a results page Google sends back without server-rendered itineraries (the 'Loading results' shell) is asked again on up to two fresh IPs before the search is reported as no_results. On 2026-10-18 one IP got that shell for Lisbon-London and the run reported no flights. Same inputs, rows and prices.
2026-10-16 — Keyword Planner and locale documentation
Validated search terminology against Google Ads Keyword Planner and Store shelves. Added localized usage guidance and bounded examples; retained existing English phrases. Clarified locale limitations where measured. No runtime, output fields, defaults, or pricing changed.
1.0 — listing and input form reworded, 2026-10-11
No behaviour, output or price changed; the same inputs return the same rows.
Description rewritten for AI agents and Store search: it opens with "Google Flights price tracker", names one row per route and day with its fields and what rank 1 means, then "cheapest flights, fare calendar, round trips, nonstop", the maxPrice alert that filters before billing, and daily tracking runs for flight price history. The title is unchanged: "Flight Price Tracker", "Cheapest Day to Fly" and "Airfare Alerts" all hold Store ranks today. seoDescription carries the synonyms (airfare price tracking, price drop alerts, cheap flights) and native nouns (billige Flüge, vuelos baratos, vols pas chers, voos baratos).
The input form is reordered: routes, the window (departDate, days, tripLengthDays), then maxPrice with the stop and cabin filters, adults, then currency and market; proxy and pacing last. Nothing was renamed, removed or re-defaulted.
Every input now says what to pass, with an example, its default and what it costs.days says it is the bill (one search and at most one $0.004 row per route and day); maxPrice says the filter runs before billing and that the window rank is computed before it; adults says there is no children or infant input here and where to go for one; market says it is the searcher's country, not the destination.
The pricing text states the per-1,000 price in words, the at-most-one-row-per-day arithmetic, what is never charged (empty days, filtered days, failed days, status rows, refused inputs), that there is no start fee, and that the run stops at the maximum cost you set.
README: a section mapping common requests to the exact input, with the row fields, the status contract and what the actor does not do (no notifications of its own, no diff against the previous run).
2026-08-30
Reliability: a run that cannot act on its input — a URL from the wrong site, a name nothing resolves to, an empty target list, a number outside the documented range — now ends cleanly with the reason on the run card instead of as a failed run. Nothing is charged in either case; a blocked or throttled source still fails loudly.
Store listing: moved into the categories buyers actually browse (the old Business category has no Store page).
1.0 — 2026-08-29
First release.
One fare row per route and departure day: the cheapest itinerary Google Flights lists that day, with price, airline, stops, times, duration, layovers, CO2 and the Google URL that reproduces the search.
days sets the window (1–60 consecutive departure days); tripLengthDays prices every day as a round trip of that length instead of one-way.
rank_in_window and cheapest_in_window rank the days of each route — the cheapest day to fly is rank 1.
maxPrice alert mode: only days at or under the line are delivered, and the filter runs before billing, so an alert run that finds nothing costs nothing.
Relative dates ("30 days", "6 weeks", tomorrow) so a scheduled run always looks the same distance ahead.
Billing: pay per delivered fare row — at most one per route and day. Days with no fare, filtered days, failed days and status rows are free, and nothing a spending limit refused is ever delivered.
Reliability: a day priced in the wrong currency is reported as an error rather than billed; per-route status rows and a SUMMARY record carry counts, the cheapest fare and its day; runs under limited permissions.