Google Flights API
Pricing
from $0.01 / 1,000 results
Google Flights API
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
4.2
(3)
Developer

John
Actor stats
18
Bookmarked
323
Total users
79
Monthly active users
2.2 days
Issues response
21 hours ago
Last modified
Categories
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, and airport details. 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
- Per-Page Billing: Results pushed as separate dataset items for accurate billing
π Usage Examples
Example 0: Basic One-Way Flight Search
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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
departure_id | string | β * | - | 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_id | string | β * | - | 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_date | string | β * | - | 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_date | string | β | null | Return date in YYYY-MM-DD format (e.g., "2025-11-30"). Optional, used for round-trip searches. |
multi_city_json | string | β * | - | JSON string for multi-city trips. Format: [{"departure_id":"...","arrival_id":"...","date":"..."},...]. When provided, departure_id, arrival_id, and outbound_date are not required. |
adults | integer | β | 1 | Number of adult passengers (minimum: 1) |
children | integer | β | 0 | Number of child passengers (minimum: 0) |
infants | integer | β | 0 | Number of infant passengers (minimum: 0) |
currency | string | β | "USD" | Currency code for prices (e.g., "USD", "EUR", "GBP") |
hl | string | β | "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 |
gl | string | β | "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_price | integer | β | null | Maximum price filter in the specified currency |
max_stops | integer | β | null | Maximum number of stops (0 = direct flights only, 1 = one stop max, null = no limit) |
airlines | string | β | null | Comma-separated list of preferred airline codes (e.g., "UA,AA,DL") |
exclude_basic | boolean | β | false | If true, filters out Economy flights that include carry-on bags and free seat selection |
max_pages | integer | β | 1 | Maximum number of pages to fetch (0 = no limit) |
output_file | string | β | null | Optional 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,"price_level": "typical","typical_price_range": [299, 450]},"airports": [{"code": "LAX","name": "Los Angeles International Airport","city": "Los Angeles","country": "United States"}]}
Output Fields
search_parameters: Complete search configuration used for the querysearch_metadata: Summary statistics about the search resultssearch_timestamp: ISO timestamp when the search was performedpage_number: Current page number (1-indexed)best_flights: Array of top recommended flight optionsother_flights: Array of additional flight optionsprice_insights: Price analysis and trends (typically on first page only)airports: Airport information and details (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_jsonparameter - Multiple airports can be specified as comma-separated values
- The
exclude_basicfilter removes Economy flights with carry-on and free seat selection - Price insights and airports are typically only included on the first page
- All dates must be in
YYYY-MM-DDformat
Made with β€οΈ
Transform your flight search automation with the most reliable and feature-rich Google Flights scraper on Apify.
Last Updated: 2026.02.24