Google Flights Search Scraper avatar

Google Flights Search Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Flights Search Scraper

Google Flights Search Scraper

[๐Ÿ’ฐ $0.01 / 1K] Search Google Flights for one-way, round-trip, and multi-city itineraries. Filter by price, stops, and airlines, fetch direct airline/OTA booking links, and export clean structured JSON.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 hours ago

Last modified

Share

Extract real-time flight prices, airlines, schedules, and routes from Google Flights at scale. Search one-way, round-trip, or complex multi-city itineraries with full control over passengers, filters, currency, and locale โ€” and get clean, structured JSON every time.

Why This Scraper?

  • Full trip-type coverage โ€” One-way, round-trip, and multi-city searches with 2+ legs all in a single actor
  • Multi-airport support โ€” Search across several origin or destination airports at once (e.g. CDG,ORY or JFK,LGA,EWR)
  • Rich flight details โ€” Price, airline, flight number, aircraft type, departure and arrival times, layovers, total duration, and stop count for every leg
  • Powerful filters โ€” Cap maximum price, restrict to specific airlines, limit stops (nonstop only, up to 1 stop, up to 2), and hide basic economy fares
  • 29 languages ร— 39 countries ร— 20 currencies โ€” Pull results the way your target traveller sees them
  • Price insights included โ€” First-page results tell you whether the current price is low, typical, or high versus the historical average, plus the lowest price available
  • Airport directory โ€” Every referenced airport comes back with full name, city, and country โ€” no extra lookups needed
  • Non-technical input โ€” Friendly labels and dropdowns for languages, countries, currencies, and stop limits; no need to remember Google's internal codes

Use Cases

Travel & Fare Monitoring

  • Track prices on specific routes over time to identify the best booking windows
  • Monitor competitor fares for OTA and metasearch pricing strategies
  • Build fare alert systems that notify users when prices drop

Travel Agencies & OTAs

  • Compare airline offers across multiple routes and dates in seconds
  • Populate search results for travel booking sites and mobile apps
  • Feed live fare data into CRM systems for personalised customer offers

Market Research & Analytics

  • Analyse price trends between city pairs, seasons, or airlines
  • Study how fares shift across currencies, booking country, or trip type
  • Benchmark basic economy vs. main cabin pricing across carriers

Corporate Travel & Expense Management

  • Audit booked fares against live market prices for policy compliance
  • Surface cheaper alternatives for frequent business routes
  • Build internal dashboards comparing travel spend to real-time market rates

Product Development & Data Enrichment

  • Enrich itinerary databases with live pricing, durations, and layover details
  • Power route-planning tools with accurate multi-city trip data
  • Feed ML models with structured historical fare and availability signals

Getting Started

The minimum input โ€” origin, destination, and a date:

{
"departureAirports": "LAX",
"arrivalAirports": "JFK",
"outboundDate": "2026-08-15"
}

Round-Trip with Passengers

Add a return date to run a round-trip search:

{
"departureAirports": "SFO",
"arrivalAirports": "SEA",
"outboundDate": "2026-09-10",
"returnDate": "2026-09-17",
"adults": 2,
"children": 1
}

Cap price, limit stops, and restrict to specific airlines:

{
"departureAirports": "LHR",
"arrivalAirports": "JFK,EWR",
"outboundDate": "2026-10-05",
"returnDate": "2026-10-19",
"maxPrice": 800,
"maxStops": "0",
"airlines": "BA,AA,VS",
"excludeBasicEconomy": true,
"currency": "GBP",
"country": "uk",
"language": "en"
}

Multi-City Itinerary

Build a custom multi-leg trip by listing each leg:

{
"multiCityLegs": [
{ "departureAirports": "LAX", "arrivalAirports": "JFK", "date": "2026-07-10" },
{ "departureAirports": "JFK", "arrivalAirports": "MIA", "date": "2026-07-15" },
{ "departureAirports": "MIA", "arrivalAirports": "LAX", "date": "2026-07-22" }
],
"adults": 1,
"currency": "USD"
}

When multiCityLegs is provided, the simple route fields above are ignored.

Input Reference

Route

ParameterTypeDefaultDescription
departureAirportsstringIATA airport codes to depart from, comma-separated (e.g. LAX or CDG,ORY)
arrivalAirportsstringIATA airport codes to arrive at, comma-separated (e.g. JFK or LAX,SEA)
outboundDatestringDeparture date in YYYY-MM-DD format. Required for one-way and round-trip
returnDatestringReturn date in YYYY-MM-DD. Set this for a round-trip; leave empty for one-way
multiCityLegsarray[]Multi-city itinerary legs. Each leg has departureAirports, arrivalAirports, and date. Overrides the simple route fields when set

Passengers

ParameterTypeDefaultDescription
adultsinteger1Adult passengers (age 12+). Minimum 1
childreninteger0Child passengers (ages 2โ€“11)
infantsinteger0Infant passengers (under 2)

Filters

ParameterTypeDefaultDescription
maxPriceintegerOnly return flights at or below this price, in the chosen currency
maxStopsstring"0" = direct only, "1" = up to 1 stop, "2" = up to 2 stops
airlinesstringPreferred airline IATA codes, comma-separated (e.g. UA,AA,DL)
excludeBasicEconomybooleanfalseHide basic economy fares (no free carry-on or seat selection)

Localization

ParameterTypeDefaultDescription
currencystring"USD"Currency for prices โ€” 20 ISO 4217 codes supported (USD, EUR, GBP, CAD, AUD, JPY, CHF, INR, CNY, and more)
languagestring"en"Result language โ€” 29 options (English, Spanish, French, German, Chinese, Japanese, Arabic, Hindi, and more)
countrystring"us"Country market Google searches from โ€” 39 options. Affects available fares and airlines

Options

ParameterTypeDefaultDescription
fetchBookingOptionsbooleanfalseInclude direct booking links with fare family and baggage details. One-way searches only. Each resolved link is billed separately
maxPagesinteger1How many times to run the same search. Google returns all matches in one call, so leave at 1 unless you specifically want duplicate pages

Output

Each dataset item represents one page of results. Here's a trimmed example:

{
"search_parameters": {
"tripType": "one-way",
"legs": [
{ "departureAirports": ["LAX"], "arrivalAirports": ["JFK"], "date": "2026-08-15" }
],
"passengers": { "adults": 1, "children": 0, "infants": 0 },
"language": "en",
"country": "us",
"currency": "USD"
},
"search_metadata": {
"total_flights_found": 25,
"best_flights_count": 3,
"other_flights_count": 22,
"pages_processed": 1,
"booking_options_count": 0
},
"search_timestamp": "2026-04-20T22:15:00+00:00",
"page_number": 1,
"best_flights": [
{
"price": 174,
"airline": "B6",
"airlineName": "JetBlue",
"departureAirport": "LAX",
"arrivalAirport": "JFK",
"departureDate": "2026-08-15",
"departureTime": "20:50",
"arrivalDate": "2026-08-16",
"arrivalTime": "05:25",
"durationMinutes": 335,
"stops": 0,
"flightId": "OriFxc",
"legs": [
{
"airline": "B6",
"airlineName": "JetBlue",
"flightNumber": "424",
"aircraft": "Airbus A321",
"departureAirport": "LAX",
"arrivalAirport": "JFK",
"departureDate": "2026-08-15",
"departureTime": "20:50",
"arrivalDate": "2026-08-16",
"arrivalTime": "05:25",
"durationMinutes": 335
}
],
"bookingToken": "CjRIMXV1M21..."
}
],
"other_flights": [ "..." ],
"price_insights": {
"priceLevel": "high",
"lowestPrice": 174,
"typicalPrice": 139,
"typicalPriceRange": [125, 190]
},
"airports": [
{ "code": "LAX", "name": "Los Angeles International Airport", "city": "Los Angeles", "country": "US" },
{ "code": "JFK", "name": "John F. Kennedy International Airport", "city": "New York", "country": "US" }
]
}

All Available Fields

Top-level

FieldTypeDescription
search_parametersobjectEcho of the resolved search โ€” trip type, routes, dates, passengers, language, country, currency
search_metadataobjectAggregate stats โ€” total flights found, best/other counts, pages processed, booking options count
search_timestampstringISO-8601 timestamp of when this page was fetched
page_numberinteger1-indexed page number
best_flightsobject[]Google's top-recommended flights for this search
other_flightsobject[]Additional flight options beyond the best picks
price_insightsobjectFirst page only โ€” tells you whether the current price is low, typical, or high versus history
airportsobject[]First page only โ€” full details for every airport referenced in the results
booking_optionsobject[]Populated only when fetchBookingOptions=true on a one-way search

Flight object

FieldTypeDescription
pricenumberTotal price in the chosen currency
airlinestringPrimary airline IATA code
airlineNamestringFull airline name
departureAirportstringIATA code of the origin airport
arrivalAirportstringIATA code of the final destination
departureDatestringYYYY-MM-DD
departureTimestring24-hour local time (HH:MM)
arrivalDatestringYYYY-MM-DD
arrivalTimestring24-hour local time (HH:MM)
durationMinutesnumberTotal trip duration in minutes (including layovers)
stopsnumberNumber of stops (0 = nonstop)
flightIdstringUnique identifier for this flight option
legsobject[]Per-segment details (airline, flight number, aircraft, times, airports)
bookingTokenstringToken you can feed back into fetchBookingOptions to resolve direct booking links

Price insights

FieldTypeDescription
priceLevelstring"low", "typical", or "high" compared to historical fares
lowestPricenumberLowest price currently available
typicalPricenumberTypical price for this route at this time of year
typicalPriceRangenumber[][min, max] typical price band

Airport

FieldTypeDescription
codestringIATA code (e.g. LAX)
namestringFull airport name
citystringCity name
countrystringCountry code

Tips for Best Results

  • Use future dates within the next 12 months โ€” Google Flights rarely returns results for dates more than a year out
  • Match currency and country to your use case โ€” a search with country="uk" and currency="GBP" shows fares and airlines as a UK traveller would see them, which can differ significantly from the US view
  • Leverage multi-airport search โ€” JFK,LGA,EWR as a single origin often surfaces cheaper or more convenient options than any single airport alone
  • Start with maxStops="0" for premium routes โ€” nonstop filters cut noise on busy business routes and reveal only the most attractive fares
  • Leave maxPages at 1 โ€” Google returns every matching flight in a single response; setting it higher just re-runs the same query
  • Combine airlines with excludeBasicEconomy โ€” perfect for corporate travel auditing or loyalty-program-aware fare monitoring

Pricing

$0.01 per 1,000 results โ€” one of the lowest prices on Apify for live flight data.

ResultsCost
1,000$0.01
10,000$0.10
100,000$1.00
1,000,000$10.00

One page typically contains 10โ€“60 flight options across the best_flights and other_flights arrays, so a single page is usually a complete search for a given route and date. Platform fees (compute, proxy, storage) depend on your Apify plan.

When fetchBookingOptions=true is enabled on a one-way search, each resolved booking link is billed separately โ€” a typical search produces 80โ€“120 options.

Integrations

Export results in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Custom API integrations
  • Apify API โ€” Full programmatic access to runs and datasets

This actor is designed for legitimate fare monitoring, travel research, pricing analysis, and data enrichment. Users are responsible for complying with applicable laws and Google's Terms of Service. The data returned is publicly available flight pricing โ€” do not use it for spam, resale-as-inventory, or any deceptive purpose.