Google Flights Scraper - Fares, Routes & Price Monitoring avatar

Google Flights Scraper - Fares, Routes & Price Monitoring

Pricing

from $0.12 / 1,000 flight itineraries

Go to Apify Store
Google Flights Scraper - Fares, Routes & Price Monitoring

Google Flights Scraper - Fares, Routes & Price Monitoring

Scrape live Google Flights fares without a browser. Compare one-way and round-trip quotes across multi-route and flexible-date matrices with segments, aircraft, emissions, stable IDs, and price-change monitoring.

Pricing

from $0.12 / 1,000 flight itineraries

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Flights Scraper — fares, flexible dates, and price monitoring

Search live Google Flights results without running a browser. Compare one-way and round-trip quotes; scan up to 120 route/date combinations in one run; and publish only new or price-changed fares on a schedule.

The Actor returns one structured row per unique priced flight choice with price, airline, airports, exact times, stops, duration, aircraft, layovers, carbon emissions, a stable ID, and the matching Google Flights URL.

Why use this Actor?

  • Fast request-only extraction: starts with direct HTTP and uses residential fallback only after a block.
  • Route matrix: compare many routes against the same date or date window in one run.
  • Flexible-date fare calendar: search every day or week across a date range.
  • Real fare monitoring: stable itinerary IDs let scheduled runs emit only new itineraries or changed prices.
  • Failure-safe batches: one failed route/date fails the run by default instead of quietly returning an incomplete comparison.
  • Very low pricing: $0.25 per 1,000 results on FREE and $0.12 per 1,000 on GOLD—more than 8× below the established $1/1K Google Flights Actor.

In a four-search sandbox benchmark, the Actor returned 81 complete, unique rows for $0.000656 with no residential bandwidth: about $0.0081 per 1,000 results in infrastructure cost and roughly 91.6% contribution margin even at the $0.12/1K GOLD price after Apify's 20% fee.

Quick start

{
"origin": "JFK",
"destination": "LAX",
"departureDate": "2026-08-15",
"maxResults": 50
}

Round trip

{
"origin": "LHR",
"destination": "JFK",
"departureDate": "2026-09-10",
"returnDate": "2026-09-17",
"cabinClass": "business",
"currency": "GBP"
}

Compare routes across flexible dates

{
"routes": ["JFK-LAX", "EWR-LAX", "JFK-SFO"],
"dateRangeStart": "2026-08-15",
"dateRangeEnd": "2026-08-21",
"dateStepDays": 1,
"maxStops": 1,
"maxResults": 1000
}

That input performs 21 searches: three routes × seven departure dates. The hard safety limit is 120 searches per run.

Output example

{
"itinerary_id": "807951432bf709130c623a56",
"search_label": "JFK-LAX 2026-08-15",
"trip_type": "one-way",
"primary_airline_code": "AA",
"price": 234,
"currency": "USD",
"airlines": ["American"],
"stops": 1,
"total_duration_minutes": 422,
"departure": "2026-08-15T08:04",
"arrival": "2026-08-15T15:16",
"origin": "JFK",
"destination": "LAX",
"segments": [
{
"origin": "JFK",
"origin_name": "John F. Kennedy International Airport",
"destination": "CLT",
"destination_name": "Charlotte Douglas International Airport",
"departure": "2026-08-15T08:04",
"arrival": "2026-08-15T10:10",
"duration_minutes": 126,
"aircraft": "Boeing 737"
}
],
"carbon_emissions_grams": 384000,
"typical_carbon_emissions_grams": 324000,
"google_flights_url": "https://www.google.com/travel/flights/search?...",
"observed_at": "2026-07-19T12:00:00+00:00"
}

Fare monitoring

Use an Apify Schedule with the same input. The Actor derives a stable store from every fare-affecting input, so cabin, currency, passenger, and filter combinations cannot overwrite one another. Set monitorStoreName when you want an explicit human-readable watch key.

{
"origin": "DEL",
"destination": "DXB",
"departureDate": "2026-09-10",
"monitorMode": "price-changes",
"monitorStoreName": "del-dxb-september"
}

The first run emits every newly observed itinerary. Later runs emit only:

  • change_type: "new" for a new itinerary;
  • change_type: "price_changed" with previous_price when a known itinerary moves.

Unchanged scheduled runs write no dataset items and therefore incur no result charge.

Input reference

InputWhat it controls
origin, destinationOne route using three-letter IATA airport codes
departureDate, returnDateExplicit one-way or round-trip dates
departureInDays, tripLengthDaysRelative dates for reusable saved Tasks
routesMany ORIGIN-DESTINATION pairs searched as a matrix
dateRangeStart, dateRangeEnd, dateRangeDays, dateStepDaysExplicit or relative flexible-date searches
adults, children, infantsInSeat, infantsOnLapUp to nine passengers
cabinClassEconomy, premium economy, business, or first
maxStops, airlinesGoogle-side stop and airline filters
currency, language, marketResult localization and fallback proxy country
maxResultsPerSearch, maxResultsPer-search and whole-run output limits
monitorMode, monitorStoreNameIncremental new-fare and price-change output
proxyModeDirect, residential, or direct-first automatic fallback
failOnPartialErrorPrevent incomplete route/date matrices from looking successful

Pricing

You pay only for itinerary rows written to the default dataset.

Apify planPrice per 1,000 itineraries
FREE$0.25
BRONZE$0.18
SILVER$0.15
GOLD$0.12

Retries, failed searches, duplicates, and unchanged monitoring runs are not result events.

What is intentionally not claimed

Google changes the public response contract over time. This Actor currently returns the fields listed above. It does not claim to expose airline/OTA checkout URLs, baggage allowances, seat inventory, fare rules, or a guaranteed ticket price. google_flights_url reopens the same search; availability and prices can change before booking.

For round trips, Google first returns priced outbound choices for the requested return date. The record therefore has trip_type: "round-trip", return_date, and both requested search_legs, while segments describes the outbound choice and segments_scope is outbound_selection. The return flight is selected on Google Flights after choosing an outbound option. Multi-city extraction is not advertised because Google's current public response does not provide the same stable itinerary list.

An empty result is treated as an error by default because blocks can look like empty markets. Set allowEmptyResults: true only when zero flights is an acceptable business outcome.

Common workflows

  1. Daily fare alert: one route, monitorMode: price-changes, daily Schedule, webhook on successful dataset items.
  2. Travel-agency comparison: several origin airports in routes, one date, CSV export for a client shortlist.
  3. Flexible-date deal finder: 14–30 day range, daily step, sort the dataset by price.
  4. Corporate route watch: weekly route matrix with maxStops: 0 and approved airline codes.

Support

For a reproducible issue, include the Actor run ID, airport codes, dates, and the field or behavior you expected. Never post an Apify token or private booking information.