Google Flights Scraper & Price Monitor avatar

Google Flights Scraper & Price Monitor

Pricing

$2.00 / 1,000 flight itineraries

Go to Apify Store
Google Flights Scraper & Price Monitor

Google Flights Scraper & Price Monitor

Track Google Flights fares across airport routes. Export flight prices, compare departure dates and monitor new or changed fares. No login; pay per delivered result.

Pricing

$2.00 / 1,000 flight itineraries

Rating

0.0

(0)

Developer

Tom J

Tom J

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Compare Google Flights prices, build a departure-date price calendar and track airfare changes across airport routes. Export structured flight results to JSON, CSV or Excel, or connect the Apify API to your own workflow. Monitor mode delivers new flights and changed fares only: unchanged results have no event charge.

Use it for route research, travel-price dashboards and recurring fare checks. This Actor reads public Google Flights pages without an account, user cookies or a separate API subscription.

Start with two routes

{
"routes": ["BRU-BCN", "AMS-LIS"],
"tripType": "oneway",
"currency": "EUR",
"country": "be",
"maxResultsPerSearch": 10
}

Leave departDate empty to search 21 days ahead. Set an explicit YYYY-MM-DD date to track the same departure on subsequent runs. Airport codes must be three letters. Travel dates must fall within the next 330 days. City names, country searches and multi-city journeys are not supported.

What you receive

Each dataset row is one priced outbound itinerary: route, departure/arrival dates and local times, currency, airlines, flight numbers, stops, layovers and duration. Aircraft, legroom and CO₂ estimates are included when Google supplies them. googleFlightsUrl opens the corresponding search, not a guaranteed bookable fare.

The Actor verifies the echoed route, travel dates, passenger count, cabin and currency, and filters out itineraries that do not match the requested departure airport, arrival airport, date or maximum stops. Unverified results are skipped without an event charge.

Two additional records are linked from the Output tab:

  • CALENDAR: the cheapest returned fare per successfully completed route/date, plus Google's search-level price insights and historical prices where available. This is the cheapest fare in the retrieved results, not a guarantee across every airline or seller. The calendar is not billed separately.
  • OUTPUT: completion status, successful/failed/unchecked searches, excluded rows, unchanged results, delivered rows and charged-event count. Always inspect this record when using the API. An incomplete run is marked failed while retaining useful results already delivered.

priceLevel, typicalLow and typicalHigh describe Google's overall search, not a judgement about every individual itinerary. Price history can be absent or shorter than 60 days. All times are local airport times; no UTC offset is inferred.

Build a price calendar

Set extraDays: 6 for seven departure dates per route. Set tripType: "return" and stayDays: 4 for a return four days after each departure. Return prices cover the round trip, but the dataset describes the outbound itinerary only; the return-flight details are not retrieved.

You can request economy, premium economy, business or first class, 1–9 adults, an ISO currency and a country setting. These are requested preferences, not a promise that every route has inventory. maxPrice excludes higher fares from the flight dataset; CALENDAR still describes the retrieved search results.

Monitor airfare changes

{
"routes": ["BRU-BCN"],
"departDate": "2026-12-15",
"mode": "monitor",
"stateName": "winter-barcelona",
"priceChangePercent": 2,
"currency": "EUR"
}

Choose a future date before running this example. The first run establishes the baseline and returns NEW flights. Later runs with the same stateName return PRICE_DOWN or PRICE_UP, including previousPrice and priceChangePercent. The threshold compares against the last reported price, so small cumulative changes are not lost. A zero threshold still excludes identical prices.

Create an Apify task and schedule it to run daily or weekly. Keep dates, currency, cabin and passenger count consistent for comparable fares. Leaving the departure date empty deliberately advances the travel date every day and therefore creates new departures rather than tracking one fixed departure.

State is retained for 90 days from the last reported observation. Use a different state name for independent watches. Do not overlap runs using the same state name. Disappearing flights are not reported as sold out: the first results page can change without a flight becoming unavailable. External notifications require your own Apify integration or webhook.

Pricing

$2 per 1,000 delivered flight itineraries (flight: $0.002). No Actor start event, no duplicate dataset-item fee, no separate calendar fee.

ExampleActor event charge
10 flight rows$0.02
5 routes × 7 days × 5 returned rows$0.35
Monitor repeat with no qualifying changes$0.00
Monitor repeat with 3 changed fares$0.006
Failed or unverified search with no delivered rows$0.00

Set Maximum cost per run in Apify. The Actor stops when another result cannot fit; already delivered results remain available. An event budget is not a guarantee of zero platform usage for owner tests or other usage charged separately by your Apify arrangement. Own-account test charges are not customer revenue.

Limits and reliability

  • This Actor retrieves Google's first results page, up to 10 itineraries per route/date. It does not claim exhaustive flight or booking-provider coverage.
  • At most 200 route/date searches per run; free Apify accounts are limited to the first five and OUTPUT reports the remainder as unchecked.
  • Public pages can be blocked or change format. Connection recovery is bounded to three proxy sessions per run; HTTP 429 stops the run. No captcha solving, user login or unlimited IP rotation.
  • Fares are observations, not reservations. Baggage, payment fees and the final airline checkout price can differ. No booking, refund, ticket availability or price guarantee is provided.
  • No children/infants, multi-city itineraries, booking links per seller, seat maps, full return-flight selection or email alerts built in.
  • Monitor state changes only for delivered results. Billing uses stable event identifiers for recovery within the same run; manually starting a fresh run is a separate run.
  • Only public flight information is output. No traveler names, contact details or payment data are collected.

Troubleshooting

No results: inspect OUTPUT. A failed connection or unverified search is different from a completed search whose prices exceeded maxPrice.

Incomplete run: inspect stopped, searchesFailed and uncheckedSearches. A budget stop can leave a route partially delivered. A later run can retry; use monitor mode to avoid charging again for unchanged delivered fares.

Unexpected monitoring rows: check that your departure dates and search settings stayed the same and that stateName matches. A rolling departure date creates new flights each day.

For support, open an issue with the run ID and route/date settings. Do not share credentials or personal traveler information.