# Changelog of Google Flights Scraper 💰$0.52/1k (`blackfalcondata/google-flights-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/google-flights-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/google-flights-scraper.md

## Changelog

### 2026-10-12

#### Changed

- The input form now opens with the route (origin, destination, dates, trip type), the result limit and pasted links. Passenger, output, tracking and advanced options are grouped below. No input was renamed or removed, and existing runs and schedules behave as before.

### 2026-10-01

#### Fixed

- Every run now ends with a status line saying how many itineraries were saved (or that fares did not change). Runs with pasted Google Flights links and runs with a fixed date used to end with a blank status.

### 0.1.x — 2026-10-01

- Fixed: Runs with a maximum cost limit no longer end without results when platform usage counts toward the limit.

### 0.1.x — 2026-09-30

- Fixed: with a maximum cost per run set, the whole limit after the start fee now goes to results. Before, part of it was used up twice, so a run returned fewer itineraries than the limit paid for, and with market comparison on a comparison could be charged for an itinerary that was then not returned. With add-ons on, the limit is counted per itinerary including its add-on lookups. Prices are unchanged.
- Improved: `outboundDate` is now optional. Leave it empty to search 30 days from today, so the ready-made example always searches a future date.
- Added: `tripLengthDays` for round trips without fixed dates. When it is set and `returnDate` is empty, the return date is the departure date plus that many days, also on every day of a cheapest-date scan.
- Improved: with incremental tracking on and `outboundDate` empty, the first run picks the date 30 days from today and later runs keep that date until it has passed, then move on to a new one. The run status names the date.
- Improved: a departure or return date in the past, or a return date before the departure date, ends the run with a clear message naming the date, returns no rows and charges no results. The run finishes as succeeded rather than failed.
- Improved: the cheapest-date scan skips days that are already in the past.
- Improved: the run honours the maximum cost per run you set. It collects only the itineraries that limit pays for and finishes as succeeded with a status saying so, instead of being aborted by the platform mid-run. On tracking runs the itineraries held back are delivered by the next run.
- Fixed: a pasted Google Flights link without a date now fills `outboundDate` (and the title) with the date Google Flights picked, instead of leaving it empty.
- Improved: the round-trip and pasted-link examples no longer contain fixed dates, so they do not go stale.

### 0.1.x — 2026-09-22

- Improved: the Max Results field is prefilled with 100 in the form.

### 0.1.x — 2026-08-14

- Fixed: setting a `returnDate` and leaving Trip Type unselected now runs a round-trip search. Before, the form's default trip type turned it into a one-way search.

### 0.1.x — 2026-08-01 – 2026-08-02

- Fixed: input fields that had no effect were removed from the form; their retired names (`maxResults`, `incrementalMode`) are still accepted.
- Fixed: dependency security advisories.

### 0.1.x — 2026-07-15 – 2026-07-28

- Fixed: a results page that loads without itineraries is retried instead of being accepted as "no flights".
- Fixed: when Google Flights keeps answering without results, the run now fails with a clear status instead of finishing silently with 0 rows.
- Fixed: on a plan that cannot use the proxy Google Flights requires, the run ends with an explanatory message instead of an error.

### 0.1.x — 2026-06-21 – 2026-06-23

- Added: Google Flights itinerary scraper — one-way, round-trip and multi-city searches, single or batched (`searches`).
- Added: per-itinerary airline, flight numbers, segment times, aircraft, legroom, duration, stops, layovers, CO₂ and price.
- Added: distance analytics — `routeDistanceKm`, `pricePerKm`, `detourFactor`, `effectiveSpeedKmh`, `co2PerKm`.
- Added: multi-airport radius search (`originRadiusKm`, `destRadiusKm`) and a cheapest-date ±N day scan (`dateScanDays`).
- Added: incremental tracking — `NEW` / `UPDATED` / `UNCHANGED` / `EXPIRED` across runs, scoped per search.
- Added: opt-in add-ons — cross-market price comparison, through-fare data flag and per-seller booking options, each billed once per itinerary.
- Added: paste mode — pass Google Flights links in `startUrls`.
- Added: price-change notifications (Telegram, Slack, Discord, WhatsApp, webhook) and MCP export.
- Added: `title`, `sourceUrl` and `scrapedAt` on every record, and a pre-run cost guard (`maxQueries`, `maxExtraFetches`).
