Google Flights Scraper avatar

Google Flights Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Google Flights Scraper

Google Flights Scraper

Google Flights scraper that collects itineraries, prices, airlines, durations, layovers, and carbon emissions for any route and date, so you can monitor fares, compare options, and build travel price trackers.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

ZeroBreak

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Pulls flight itineraries from Google Flights into a structured dataset. Useful for price monitoring, travel research, route analysis, and building fare comparison tools.

What it does

Search any route by airport IATA codes and date. Returns best flights and other available flights with full details: price, airlines, departure and arrival times, duration, layovers, cabin class, legroom, carbon emissions, and price insights.

Example use cases

  • Monitor flight prices for a route over time
  • Find the cheapest or fastest options for a trip
  • Compare nonstop vs. connecting flight prices
  • Research carbon emissions by route
  • Build a travel price tracker or fare alert tool

Input

FieldDescriptionDefault
departureIdOrigin IATA code (e.g., "JFK", "LHR", "IST"). Comma-separate for multi-airport (e.g., "JFK,LGA,EWR")required
arrivalIdDestination IATA code. Multi-airport supportedrequired
outboundDateDeparture date in YYYY-MM-DD formatrequired
returnDateReturn date (YYYY-MM-DD). Required for round trips
tripType1=Round trip, 2=One way2
adultsAdult passengers (1–9)1
childrenChild passengers (0–9)0
travelClass1=Economy, 2=Premium economy, 3=Business, 4=First1
stops0=Any, 1=Nonstop, 2=Max 1 stop, 3=Max 2 stops0
sortBy1=Top, 2=Price, 3=Departure, 4=Arrival, 5=Duration, 6=Emissions1
includeAirlinesShow only these airlines (comma-separated IATA, e.g., "DL,AA")
excludeAirlinesHide these airlines (comma-separated IATA, e.g., "F9,NK")
currencyPrice currency code (e.g., "USD", "EUR", "GBP", "TRY")USD
languageLanguage code (e.g., "en", "de", "tr")en
countryCountry code (e.g., "us", "gb")us
maxItemsMax itineraries to return20
requestTimeoutSecsPer-request timeout30

Example input — one way

{
"departureId": "JFK",
"arrivalId": "LAX",
"outboundDate": "2025-09-15",
"tripType": 2,
"adults": 1,
"travelClass": 1,
"stops": 1,
"sortBy": 2,
"currency": "USD",
"maxItems": 30
}

Example input — round trip

{
"departureId": "LHR",
"arrivalId": "JFK",
"outboundDate": "2025-10-01",
"returnDate": "2025-10-10",
"tripType": 1,
"adults": 2,
"travelClass": 3,
"currency": "GBP",
"maxItems": 20
}

Output

Each itinerary is one dataset record:

FieldDescription
rankPosition in results (1-based)
isBestFlightTrue if Google marked it as a best flight
flightType"One way" or "Round trip"
priceTotal price (numeric)
currencyCurrency code
totalDurationMinsTotal journey time in minutes
stopCountNumber of layovers
airlinesList of airlines operating the flight
airlineLogoPrimary airline logo URL
bookingTokenGoogle booking token
departureTokenToken for fetching return leg separately
legsArray of flight leg objects (see below)
layoversArray of layover objects
carbonEmissionsGramsCO2 for this flight (grams)
carbonEmissionsTypicalGramsTypical CO2 for this route (grams)
carbonEmissionsDiffPercent% difference vs. typical
lowestPriceLowest price seen for this route
priceLevel"low", "typical", or "high"
typicalPriceRangeMin / typicalPriceRangeMaxTypical price range
searchRouteRoute string (e.g., "JFK -> LAX")
outboundDateSearched outbound date
returnDateSearched return date (null if one way)
scrapedAtISO 8601 timestamp

Leg object fields

FieldDescription
departureAirportCodeIATA code
departureAirportNameFull airport name
departureTimeDatetime string (YYYY-MM-DD HH:MM)
arrivalAirportCodeIATA code
arrivalAirportNameFull airport name
arrivalTimeDatetime string
durationMinsLeg duration in minutes
airlineAirline name
airlineLogoAirline logo URL
flightNumberFlight number (e.g., "DL 123")
airplaneAircraft type (e.g., "Boeing 737")
travelClassCabin class string
legroomLegroom info (e.g., "31 in")
isOvernightTrue if flight crosses midnight
extensionsFeature badges (e.g., "Wi-Fi", "In-seat power")

Layover object fields

FieldDescription
airportCodeIATA code
airportNameAirport name
durationMinsLayover duration in minutes

Example output

{
"rank": 1,
"isBestFlight": true,
"flightType": "One way",
"price": 149,
"currency": "USD",
"totalDurationMins": 356,
"stopCount": 0,
"airlines": ["Delta"],
"airlineLogo": "https://www.gstatic.com/flights/airline_logos/...",
"legs": [
{
"departureAirportCode": "JFK",
"departureAirportName": "John F. Kennedy International Airport",
"departureTime": "2025-09-15 08:00",
"arrivalAirportCode": "LAX",
"arrivalAirportName": "Los Angeles International Airport",
"arrivalTime": "2025-09-15 11:56",
"durationMins": 356,
"airline": "Delta",
"flightNumber": "DL 487",
"airplane": "Boeing 757",
"travelClass": "Economy",
"legroom": "31 in",
"isOvernight": false,
"extensions": ["Wi-Fi for a fee", "In-seat power outlet"]
}
],
"layovers": [],
"carbonEmissionsGrams": 126000,
"carbonEmissionsTypicalGrams": 126000,
"carbonEmissionsDiffPercent": 0,
"lowestPrice": 149,
"priceLevel": "low",
"typicalPriceRangeMin": 180,
"typicalPriceRangeMax": 320,
"searchRoute": "JFK -> LAX",
"outboundDate": "2025-09-15",
"returnDate": null,
"scrapedAt": "2025-06-01T14:32:00+00:00"
}

Notes

  • Results include both "best flights" (isBestFlight: true) and other available flights
  • stopCount is derived from the number of layover entries
  • carbonEmissionsDiffPercent is positive if this flight emits more than typical, negative if less
  • Multi-city searches (type: 3) are not supported by the upstream API
  • Prices fluctuate — run repeatedly to track fare changes over time
  • Use comma-separated IATA codes in departureId/arrivalId for multi-airport searches (e.g., "JFK,LGA,EWR")