Google Flights Scraper avatar

Google Flights Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Flights Scraper

Google Flights Scraper

Search Google Flights for real fares: prices, airlines, stops, departure/arrival times, flight duration, layovers, aircraft and CO2 estimates. One-way or round-trip, single route or batch. No account or API key.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search Google Flights and get structured fare data — prices, airlines, stops, departure and arrival times, total flight duration, layovers, aircraft type, and CO2 estimates — for any route and date. One-way or round-trip, a single route or a whole batch, in one run.

Why use this actor

  • No account, no login, no API key required
  • Real fares straight from Google Flights, in the currency you choose
  • Full itinerary detail: every leg's airports, times, duration, and aircraft
  • Layover airports and layover durations for connecting flights
  • CO2 emission estimate per itinerary (and the typical figure for the route)
  • One-way and round-trip searches, plus batch mode for many routes at once
  • Stable JSON output ready for pipelines, spreadsheets, or databases

How it works

  1. You give the actor a route and date — an origin airport, a destination airport, and a departure date (add a return date for a round trip). Or paste a list of routes to search many at once.
  2. Pick your options: cabin class, maximum stops, number of passengers, and currency.
  3. The actor searches Google Flights and returns every matching itinerary with its price, airlines, stops, times, duration, layovers, and aircraft.
  4. Results stream into your dataset, ready to download as JSON, CSV, or Excel.

You do not manage any browsers, logins, or scrapers — just describe the trip and read the results.

Note: for round-trip searches, the price is the total round-trip fare and the itinerary shown is the outbound journey (this is exactly how Google Flights presents the first step of a round-trip search).

Input

{
"origin": "LAX",
"destination": "JFK",
"departureDate": "2026-08-15",
"returnDate": "",
"routes": [
"LAX,JFK,2026-08-15",
"SFO,LHR,2026-09-01,2026-09-10"
],
"cabinClass": "economy",
"maxStops": "any",
"adults": 1,
"children": 0,
"infantsInSeat": 0,
"infantsOnLap": 0,
"currency": "USD",
"language": "en",
"maxResultsPerSearch": 0,
"maxConcurrency": 3,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
FieldTypeDescription
originstringDeparture airport IATA code (e.g. LAX). Used when routes is empty.
destinationstringArrival airport IATA code (e.g. JFK). Used when routes is empty.
departureDatestringOutbound date, YYYY-MM-DD. Used when routes is empty.
returnDatestringReturn date, YYYY-MM-DD. Blank = one-way; filled = round trip. Used when routes is empty.
routesarrayBatch mode. Each item is ORIGIN,DESTINATION,DEPARTURE[,RETURN], e.g. SFO,LHR,2026-09-01,2026-09-10. Overrides the single fields above.
cabinClassstringeconomy, premium-economy, business, or first. Default economy.
maxStopsstringany, nonstop, 1, or 2. Default any.
adultsintegerAdult passengers (12+). Default 1.
childrenintegerChild passengers (2-11). Default 0.
infantsInSeatintegerInfants with their own seat. Default 0.
infantsOnLapintegerInfants on an adult's lap. Default 0.
currencystring3-letter currency code for prices (e.g. USD, EUR). Default USD.
languagestring2-letter language for airport / airline names (e.g. en). Default en.
maxResultsPerSearchintegerCap itineraries per route. 0 = all (typically 20-60). Default 0.
maxConcurrencyintegerRoutes searched in parallel. Default 3.
proxyConfigurationobjectProxy settings. Residential proxy is recommended.

Output

Each dataset item is one itinerary.

One-way, nonstop — LAX,JFK,2026-08-15 (economy):

{
"_input": "LAX-JFK 2026-08-15",
"_source": "S1-html",
"_scrapedAt": "2026-07-11T04:25:03Z",
"searchOrigin": "LAX",
"searchDestination": "JFK",
"searchDepartureDate": "2026-08-15",
"searchReturnDate": null,
"tripType": "one-way",
"cabinClass": "economy",
"currency": "USD",
"passengers": 1,
"airlineCode": "AA",
"airlines": ["American"],
"originCode": "LAX",
"destinationCode": "JFK",
"departureDate": "2026-08-15",
"departureTime": "13:30",
"arrivalDate": "2026-08-15",
"arrivalTime": "22:06",
"totalDurationMinutes": 336,
"stops": 0,
"price": 269,
"carbonEmissionGrams": 558000,
"typicalCarbonEmissionGrams": 341000,
"legs": [
{
"fromCode": "LAX",
"fromName": "Los Angeles International Airport",
"toCode": "JFK",
"toName": "John F. Kennedy International Airport",
"departureDate": "2026-08-15",
"departureTime": "13:30",
"arrivalDate": "2026-08-15",
"arrivalTime": "22:06",
"durationMinutes": 336,
"airplane": "Airbus A321 (Sharklets)"
}
],
"layovers": []
}

Round-trip — SFO,LHR,2026-09-01,2026-09-10 (economy):

{
"_input": "SFO-LHR 2026-09-01->2026-09-10",
"_source": "S1-html",
"_scrapedAt": "2026-07-11T04:25:26Z",
"searchOrigin": "SFO",
"searchDestination": "LHR",
"searchDepartureDate": "2026-09-01",
"searchReturnDate": "2026-09-10",
"tripType": "round-trip",
"cabinClass": "economy",
"currency": "USD",
"passengers": 1,
"airlineCode": "B6",
"airlines": ["JetBlue"],
"originCode": "SFO",
"destinationCode": "LHR",
"departureTime": "06:00",
"arrivalDate": "2026-09-02",
"arrivalTime": "06:30",
"totalDurationMinutes": 990,
"stops": 1,
"price": 872,
"carbonEmissionGrams": 985000,
"typicalCarbonEmissionGrams": 613000,
"legs": [
{
"fromCode": "SFO", "fromName": "San Francisco International Airport",
"toCode": "BOS", "toName": "Boston Logan International Airport",
"departureTime": "06:00", "arrivalTime": "14:41",
"durationMinutes": 341, "airplane": "Airbus A320"
},
{
"fromCode": "BOS", "fromName": "Boston Logan International Airport",
"toCode": "LHR", "toName": "Heathrow Airport",
"departureTime": "18:39", "arrivalTime": "06:30",
"durationMinutes": 411, "airplane": "Airbus A321neo"
}
],
"layovers": [
{ "durationMinutes": 238, "airportCode": "BOS", "airportName": "Boston Logan International Airport", "city": "Boston" }
]
}
FieldTypeDescription
_inputstringThe search this record came from.
_sourcestringWhich extraction path produced the record.
_scrapedAtstringUTC timestamp of the fetch.
searchOrigin / searchDestinationstringThe searched origin / destination airport code.
searchDepartureDate / searchReturnDatestringThe searched dates (searchReturnDate is null for one-way).
tripTypestringone-way or round-trip.
cabinClassstringCabin searched.
currencystringCurrency of price.
passengersintegerTotal passengers searched.
airlineCodestringPrimary airline code for the itinerary.
airlinesarrayAirline display names operating the itinerary.
originCode / destinationCodestringItinerary start / end airport code.
departureDate / departureTimestringOverall departure date and 24h time.
arrivalDate / arrivalTimestringOverall arrival date and 24h time.
totalDurationMinutesintegerTotal journey time in minutes (including layovers).
stopsintegerNumber of stops (0 = nonstop).
priceintegerFare in currency (round-trip total for round trips).
carbonEmissionGramsintegerEstimated CO2 for this itinerary, in grams.
typicalCarbonEmissionGramsintegerTypical CO2 for the route, in grams.
legsarrayPer-leg detail: airports (code + name), dates, times, duration, aircraft.
layoversarrayPer-layover detail: duration (minutes), airport code, name, and city.

When a route returns no flights or a search fails, the record instead carries _error and _errorDetail so failures are never silent.

Notes and limits

  • Prices and availability are what Google shows at scrape time and can change quickly.
  • Round-trip results show outbound itineraries priced at the round-trip total.
  • Multi-city trips are not supported.
  • Google serves flight data only to residential-grade traffic at any volume; keep the Residential proxy enabled for reliable runs.