Google Flights Scraper avatar
Google Flights Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Flights Scraper

Google Flights Scraper

Google Flights scraper for extracting flight search data. Search one-way, round-trip, and multi-city itineraries. Filter by price, stops, airlines, and passenger counts. Ideal for travel apps, price monitoring, data analytics, and flight comparison. Supports 29+ languages and 39+ countries.

Pricing

from $0.01 / 1,000 results

Rating

5.0

(3)

Developer

John

John

Maintained by Community

Actor stats

2

Bookmarked

15

Total users

11

Monthly active users

5 hours ago

Last modified

Share

πŸ›« Google Flights Search Scraper

The most powerful, reliable, and feature-rich Google Flights search scraper for Apify

🌟 Why Choose This Scraper?

The Google Flights Search Scraper delivers enterprise-grade flight search capabilities with these advanced features:

Comprehensive Flight Search: Search one-way, round-trip, and complex multi-city itineraries with support for multiple departure/arrival airports. Get real-time flight data directly from Google Flights.

Advanced Filtering & Customization: Filter by price, number of stops, preferred airlines, and passenger counts. Exclude basic economy options. Get precisely the flight data you need.

Intelligent Pagination: Automatic handling of Google Flights pagination with configurable page limits. Process as many or as few results as you need.

Rich, Structured Data: Extract comprehensive flight information including best flights, alternative options, price insights, airport details, and booking options. Clean, structured JSON output ready for immediate use.

Cost-Effective Per-Page Billing: Pay only for what you use with transparent per-page pricing. No hidden fees or monthly subscriptions.

Enterprise-Grade Reliability: Built for developers and businesses who demand reliability. Comprehensive error handling, robust logging, and production-ready code.

πŸš€ Features

Core Capabilities

  • Multiple Trip Types: One-way, round-trip, and multi-city trip support
  • Flexible Airport Selection: Single or multiple departure/arrival airports
  • Advanced Filters: Price limits, stop limits, airline preferences, basic economy exclusion
  • Passenger Configuration: Support for adults, children, and infants
  • Intelligent Pagination: Automatic pagination handling with configurable limits
  • Global Localization: 29+ languages and 39+ countries supported

Data Quality

  • Best Flights: Top recommended flight options with pricing and details
  • Alternative Flights: Additional flight options beyond the best matches
  • Price Insights: Historical and predictive price information
  • Airport Information: Comprehensive airport details and codes
  • Booking Options: Available booking sources and links
  • Per-Page Billing: Results pushed as separate dataset items for accurate billing

πŸ“– Usage Examples

Search for a simple one-way flight with multiple passengers.

{
"departure_id": "PEK",
"arrival_id": "AUS",
"outbound_date": "2025-12-15",
"adults": 1,
"children": 1,
"infants": 1,
"currency": "USD",
"hl": "en",
"gl": "us",
"max_pages": 1
}

Example 1: Round Trip with Filters

Search for a round-trip flight with price and stop filters.

{
"departure_id": "JFK",
"arrival_id": "LHR",
"outbound_date": "2025-11-25",
"return_date": "2025-12-02",
"adults": 2,
"children": 1,
"infants": 0,
"currency": "USD",
"hl": "en",
"gl": "us",
"max_price": 1500,
"max_stops": 1,
"max_pages": 2
}

Example 2: Direct Flights Only with Specific Airlines

Search for direct flights only from specific airlines.

{
"departure_id": "SFO",
"arrival_id": "NYC",
"outbound_date": "2025-12-01",
"adults": 1,
"currency": "USD",
"hl": "en",
"gl": "us",
"max_stops": 0,
"airlines": "UA,AA",
"max_pages": 1
}

Example 3: International Search with Localization

Search for flights with French localization and EUR currency.

{
"departure_id": "CDG",
"arrival_id": "FCO",
"outbound_date": "2025-12-01",
"adults": 1,
"currency": "EUR",
"hl": "fr",
"gl": "fr",
"max_pages": 1
}

Example 4: Multiple Departure Airports (Round Trip)

Search for round-trip flights from multiple departure airports.

{
"departure_id": "CDG,ORY",
"arrival_id": "LAX",
"outbound_date": "2025-11-11",
"return_date": "2025-11-17",
"adults": 1,
"currency": "USD",
"hl": "en",
"gl": "us",
"max_pages": 1
}

Example 5: Multi-City Trip

Search for a complex multi-city itinerary with multiple legs.

{
"multi_city_json": "[{\"departure_id\":\"CDG\",\"arrival_id\":\"NRT\",\"date\":\"2025-11-17\"},{\"departure_id\":\"NRT\",\"arrival_id\":\"LAX,SEA\",\"date\":\"2025-11-24\"},{\"departure_id\":\"LAX,SEA\",\"arrival_id\":\"AUS\",\"date\":\"2025-12-01\",\"times\":\"8,18,9,23\"}]",
"adults": 1,
"currency": "USD",
"hl": "en",
"gl": "us",
"max_pages": 1
}

Example 6: Exclude Basic Economy

Search for flights excluding basic economy options (filters out Economy flights with carry-on bags and free seat selection).

{
"departure_id": "LAX",
"arrival_id": "JFK",
"outbound_date": "2025-12-15",
"adults": 1,
"currency": "USD",
"hl": "en",
"gl": "us",
"exclude_basic": true,
"max_pages": 1
}

πŸ” Input Parameters

ParameterTypeRequiredDefaultDescription
departure_idstringβœ…*-Departure airport code(s), comma-separated for multiple (e.g., "LAX", "JFK", "CDG,ORY"). Required for one-way and round-trip searches. Not used for multi-city trips.
arrival_idstringβœ…*-Arrival airport code(s), comma-separated for multiple (e.g., "JFK", "SFO", "LAX,SEA"). Required for one-way and round-trip searches. Not used for multi-city trips.
outbound_datestringβœ…*-Departure date in YYYY-MM-DD format (e.g., "2025-11-25"). Required for one-way and round-trip searches. Not used for multi-city trips.
return_datestring❌nullReturn date in YYYY-MM-DD format (e.g., "2025-11-30"). Optional, used for round-trip searches.
multi_city_jsonstringβœ…*-JSON string for multi-city trips. Format: [{"departure_id":"...","arrival_id":"...","date":"..."},...]. When provided, departure_id, arrival_id, and outbound_date are not required.
adultsinteger❌1Number of adult passengers (minimum: 1)
childreninteger❌0Number of child passengers (minimum: 0)
infantsinteger❌0Number of infant passengers (minimum: 0)
currencystring❌"USD"Currency code for prices (e.g., "USD", "EUR", "GBP")
hlstring❌"en"Language code for results. Supported: en, es, fr, de, it, pt, ru, ja, ko, zh, ar, hi, tr, pl, nl, sv, da, no, fi, cs, hu, ro, el, th, vi, id, ms, he, uk
glstring❌"us"Country code for results. Supported: us, uk, ca, au, de, fr, es, it, nl, pl, br, ru, jp, kr, cn, tw, in, sa, tr, se, dk, no, fi, cz, hu, ro, mx, ar, ch, at, be, ie, nz, sg, my, th, ph, id, vn
max_priceinteger❌nullMaximum price filter in the specified currency
max_stopsinteger❌nullMaximum number of stops (0 = direct flights only, 1 = one stop max, null = no limit)
airlinesstring❌nullComma-separated list of preferred airline codes (e.g., "UA,AA,DL")
exclude_basicboolean❌falseIf true, filters out Economy flights that include carry-on bags and free seat selection
max_pagesinteger❌1Maximum number of pages to fetch (0 = no limit)
output_filestring❌nullOptional filename to save results. If not provided, will auto-generate based on route and parameters

* Either departure_id/arrival_id/outbound_date OR multi_city_json is required.

πŸ“Š Output Format

Dataset Item Structure

Each page of results is pushed as a separate dataset item with the following structure:

{
"search_parameters": {
"trip_type": 2,
"trip_type_description": "One-way",
"departure_id": "LAX",
"arrival_id": "JFK",
"outbound_date": "2025-11-25",
"return_date": null,
"multi_city_json": null,
"exclude_basic": false,
"adults": 1,
"children": 0,
"infants": 0,
"currency": "USD",
"language": "en",
"language_name": "English",
"country": "us",
"country_name": "United States",
"max_price": null,
"max_stops": null,
"airlines": null
},
"search_metadata": {
"total_flights_found": 45,
"best_flights_count": 10,
"other_flights_count": 35,
"pages_processed": 2,
"max_pages_set": 2,
"pagination_limit_reached": false
},
"search_timestamp": "2025-11-20T10:30:00.123456",
"page_number": 1,
"best_flights": [
{
"price": 299,
"airline": "AA",
"departure_airport": "LAX",
"arrival_airport": "JFK",
"departure_time": "08:00",
"arrival_time": "16:30",
"duration": "5h 30m",
"stops": 0,
"legs": [...]
}
],
"other_flights": [...],
"price_insights": {
"lowest_price": 299,
"typical_price_range": {
"low": 299,
"high": 450
},
"price_trend": "stable"
},
"airports": [
{
"code": "LAX",
"name": "Los Angeles International Airport",
"city": "Los Angeles",
"country": "United States"
}
],
"booking_options": [
{
"name": "Google Flights",
"url": "https://..."
}
]
}

Output Fields

  • search_parameters: Complete search configuration used for the query
  • search_metadata: Summary statistics about the search results
  • search_timestamp: ISO timestamp when the search was performed
  • page_number: Current page number (1-indexed)
  • best_flights: Array of top recommended flight options
  • other_flights: Array of additional flight options
  • price_insights: Price analysis and trends (typically on first page only)
  • airports: Airport information and details (typically on first page only)
  • booking_options: Available booking sources and links (typically on first page only)

πŸ’° Pricing

This Actor uses a pay-per-event pricing model

🎯 Use Cases

  • Travel Aggregators: Build flight comparison tools and price tracking systems
  • Travel Agencies: Automate flight search and booking workflows
  • Price Monitoring: Track flight prices over time for specific routes
  • Market Research: Analyze flight availability and pricing trends
  • Travel Planning: Build custom travel planning applications
  • Data Analytics: Collect flight data for business intelligence and analysis

πŸ“ Notes

  • Results are automatically sorted by relevance (Google Flights default)
  • Multi-city trips require the multi_city_json parameter
  • Multiple airports can be specified as comma-separated values
  • The exclude_basic filter removes Economy flights with carry-on and free seat selection
  • Price insights, airports, and booking options are typically only included on the first page
  • All dates must be in YYYY-MM-DD format

Made with ❀️

Transform your flight search automation with the most reliable and feature-rich Google Flights scraper on Apify.

Last Updated: 2025.12.05