Google Flights Scraper avatar
Google Flights Scraper

Pricing

Pay per event

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

Pay per event

Rating

5.0

(3)

Developer

John

John

Maintained by Community

Actor stats

2

Bookmarked

7

Total users

5

Monthly active users

3 days 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.11.20