# Changelog of Google Flights Scraper — Airfare Prices & Price Tracking (`kestrel/google-flights-prices`) Actor

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

## Changelog

### 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-26

First release.

- Flight prices from Google Flights for any route, date, cabin and passenger mix: one row per itinerary with price, airline, times, duration, stops, every layover and Google's CO2 estimate.
- One-way and round trip (round-trip rows price both legs, flagged with `round_trip_total`).
- `sweepDays` prices the same trip departing on each of the next N days — a cheapest-day calendar in one run.
- Relative dates (`"30 days"`, `"6 weeks"`, `tomorrow`) so scheduled runs never go stale; past dates are rejected rather than silently priced for another day.
- Routes accept airport or Google city codes, written `LIS-LHR`, `lis > lhr` or `JFK to LAX`.
- Billing: pay per delivered itinerary row; empty searches, failed searches and `status` rows are free, and the same itinerary is billed once per run even when overlapping searches return it. `maxResultsPerSearch` caps rows per search.
- Reliability: fails the run rather than billing rows priced in a currency other than the one requested; reports per-search failures as `status` rows; runs under limited permissions.
