Google Flights Scraper — Fares, Itineraries & Price Insights avatar

Google Flights Scraper — Fares, Itineraries & Price Insights

Pricing

from $10.00 / 1,000 flight searches

Go to Apify Store
Google Flights Scraper — Fares, Itineraries & Price Insights

Google Flights Scraper — Fares, Itineraries & Price Insights

Google Flights itineraries for any route and dates: total and per-person fares, airlines, flight numbers, segments, layovers, CO2, price insights and booking options.

Pricing

from $10.00 / 1,000 flight searches

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Scrape Google Flights for any route and dates: every itinerary Google shows with its total and per-passenger fare, airlines and flight numbers, every segment (airports, local departure and arrival times, duration, aircraft, legroom), layovers (airport, length, overnight, change of airport), CO2 emissions vs. typical, the "Top flights" flag and a Google Flights link, plus Google's price insights for the search: whether prices are currently low, typical or high, the typical price range and the 60-day price history. Round trips come as complete itineraries (outbound + return) at Google's exact round-trip total. Optionally get each itinerary's booking options (airline or travel agency, price, fare name).

Use it for fare tracking and price alerts, route and airline market research, travel-deal sites, corporate travel budgeting and flight price datasets.

What data does it extract?

FieldExampleNotes
price, priceExact, pricePerPassenger, currency817, 816.39, 817, USDprice as Google shows it (total for all passengers, rounded up); priceExact from Google's fare token
tripType, isBest, positionround_trip, true, 1isBest = in Google's "Top flights"
airlines, airlineCodes, flightNumbers["American", "British Airways"], ["AA", "BA"], ["AA 100", "BA 177"]all legs
departureAirport, arrivalAirport (+ ...Name)JFK, LHRoutbound leg
departureTime, arrivalTime, duration, durationMinutes, stops2026-11-10T18:25, 2026-11-11T06:20, 6 hr 55 min, 415, 0local airport times
returnDepartureTime, returnArrivalTime, returnDurationMinutes, returnStops2026-11-17T12:55, ...round trips
legs[]direction, airports, times, duration, stops, segments[], layovers[]full detail per direction
legs[].segments[]flightNumber, airline, airports, times, durationMinutes, aircraft, legroom, seatType, arrivesNextDay, alsoSoldAs (codeshares), emissionsKgone per flight
legs[].layovers[]{"airport": "FLL", "city": "Fort Lauderdale", "durationMinutes": 93, "overnight": false, "changeOfAirport": false}
emissionsKg, typicalEmissionsKg, emissionsDifferencePercent549, 344, 60Google's CO2 estimate vs. a typical flight on the route
priceLevel, lowestPrice, typicalPriceLow, typicalPriceHighhigh, 720, 480, 690Google's price insights for the search
priceHistory[{"date": "2026-10-11", "price": 720}, ...]lowest price per day, last ~60 days
googleFlightsUrl, searchUrl, bookingTokenhttps://www.google.com/travel/flights/booking?tfs=...open the itinerary or the search on Google Flights
itineraryId2026-11-10 AA100 / 2026-11-17 BA177 / economy / 1-0-0-0dates + flight numbers + cabin + passengers
searchCompletetruefalse when Google never finished pricing the search (see Limitations)
origin, destination, departureDate, returnDate, cabinClass, adults, children, infantsOnLap, infantsInSeatthe search
bookingOptions[{"seller": "American", "isAirline": true, "price": 817, "fareName": "Basic Economy", "website": "www.aa.com"}, ...]with Include booking options

How to scrape Google Flights

  1. Enter From and To: airport codes (JFK, LHR), cities (New York, Tokyo), metro codes (NYC) or several airports (JFK, EWR). Add more routes in More routes, or paste Google Flights URLs.
  2. Set the departure date (2026-12-20, or +30 days for a rolling date) and, for a round trip, the return date.
  3. Choose passengers, cabin class, stops, airlines to include or exclude, a max price, the currency and the country Google prices for, and the sort order.
  4. Run. Download JSON, CSV or Excel, or read the dataset through the API.
{
"origin": "New York",
"destination": "London",
"departureDate": "2026-12-18",
"returnDate": "2027-01-04",
"adults": 2,
"cabinClass": "economy",
"stops": "nonstop",
"sortBy": "cheapest",
"currency": "USD",
"maxResultsPerSearch": 10
}

Example output (abridged, real data for JFK -> LHR, Nov 10-17):

{
"itineraryId": "2026-11-10 AA100 / 2026-11-17 BA177 / economy / 1-0-0-0",
"tripType": "round_trip",
"isBest": true,
"price": 817,
"priceExact": 816.39,
"pricePerPassenger": 817,
"currency": "USD",
"airlines": ["American", "British Airways"],
"flightNumbers": ["AA 100", "BA 177"],
"departureAirport": "JFK",
"arrivalAirport": "LHR",
"departureTime": "2026-11-10T18:25",
"arrivalTime": "2026-11-11T06:20",
"duration": "6 hr 55 min",
"stops": 0,
"returnDepartureTime": "2026-11-17T12:55",
"returnArrivalTime": "2026-11-17T16:00",
"legs": [
{"direction": "outbound", "flightNumbers": ["AA 100"], "segments": [{"flightNumber": "AA 100",
"aircraft": "Boeing 777", "legroom": "31 in", "seatType": "Average legroom", "arrivesNextDay": true,
"alsoSoldAs": ["IB 4218", "BA 1511", "AY 3772"], "emissionsKg": 398}], "layovers": []},
{"direction": "return", "flightNumbers": ["BA 177"], "...": "..."}
],
"emissionsKg": 716,
"typicalEmissionsKg": 775,
"emissionsDifferencePercent": -8,
"priceLevel": "high",
"lowestPrice": 720,
"typicalPriceLow": 480,
"typicalPriceHigh": 690,
"priceHistory": [{"date": "2026-10-10", "price": 714}, {"date": "2026-10-11", "price": 720}],
"googleFlightsUrl": "https://www.google.com/travel/flights/booking?tfs=...&hl=en&gl=us&curr=USD"
}

One-way, round trip and multi-city

  • One way: leave the return date empty. One request returns every itinerary Google shows for the day (typically 20-40), with the Top flights first.
  • Round trip: Google first lists outbound flights priced as round-trip totals. For each outbound flight the actor asks Google for its return flights and outputs the best (or cheapest, per Sort by) Return flights per outbound as complete itineraries at Google's exact round-trip total. Set it to 0 to get only the outbound list.
  • Multi-city searches are not supported: Google loads them through a streaming channel this actor does not use.

Track flight prices: monitor changes on a schedule

Turn on Only new or changed items, set fixed dates for the trip you want to watch and save the input as a task with a Schedule (e.g. daily at 8:00). Each run then outputs only itineraries that are new for this search or whose price changed; unchanged itineraries are not output and not charged (the search itself is). New items carry changeType: "new", changed ones changeType: "changed" and previousValues with the old price ({"price": 817}), so you can send an alert or a webhook only when a fare moves. An itinerary is identified by its dates and flight numbers (plus cabin and passengers). With a relative date (+30 days) the travel date moves every day, so every run reports the day's fares as new - good for a rolling daily fare feed, not for a change watch. Give each watch its own Monitoring key if several schedules search the same route.

Price insights: is now a good time to buy?

Every itinerary row carries Google's insights for its search: priceLevel (low, typical or high, the label Google shows as "Prices are currently ..."), the typical price range (typicalPriceLow-typicalPriceHigh, what this trip usually costs) and priceHistory - the lowest price for these dates on each of the last ~60 days. Insights come with Google's default ranking and are the same for every row of a search.

Does it need a login, an API key or a special proxy?

No. It reads Google Flights the way the Google Flights page does, through Apify's standard datacenter proxy: no Google account, no API key, no paid SERP or residential proxy. A search is one ~75 KB request; a round trip adds one per outbound flight; booking options add one per itinerary.

Pricing

Pay per event: $0.01 per search (one route and its dates, including the price insights) plus $0.0004 per itinerary. A full one-way search of ~30 itineraries costs about $0.022; ten complete round trips about $0.014. Include booking options adds $0.002 per itinerary that has booking options. Platform usage (compute, datacenter proxy) is billed by Apify and is a fraction of a cent per search.

Limitations

  • Google returns a curated set of itineraries per search (usually 20-40) and the actor outputs all of them. Sorting by price or duration re-orders that set (a price-sorted request to Google returned the same set).
  • Amenity icons (Wi-Fi, power, entertainment) come as unlabeled codes and are not exported; legroom and seat type are.
  • Fares are what Google shows for the country and currency you choose; booking sites can price differently.
  • Searches with children (and now and then other multi-passenger round trips) are priced more slowly by Google: its quick answer often holds a single airline. The actor notices that (Google flags a finished search) and switches to the streaming request the Google Flights page itself uses, which takes 20-50 s per request; a round trip then needs that time per outbound flight too. Searches for adults only usually answer in under a second.

The actor collects publicly visible fares and flight schedules without logging in, at a modest request rate. Flight numbers, schedules and prices are business information, not personal data. Check the terms that apply to your use of the data, especially for republishing.