Google Flights Scraper avatar

Google Flights Scraper

Pricing

from $1.25 / 1,000 search results

Go to Apify Store
Google Flights Scraper

Google Flights Scraper

Extract live flight prices, schedules, and multi-city travel data from Google Flights instantly.

Pricing

from $1.25 / 1,000 search results

Rating

5.0

(1)

Developer

Crawlio

Crawlio

Maintained by Community

Actor stats

0

Bookmarked

19

Total users

3

Monthly active users

6 days ago

Last modified

Categories

Share

Overview

Google Flights Scraper searches Google Flights and stores one dataset item per returned itinerary. It supports one-way, round-trip, and multi-city searches.

Supported searches

  • One-way: one origin, one destination, one departure date.
  • Round-trip: one outbound leg and one return leg.
  • Multi-city: two or more ordered flight legs.

Quick start

  1. Open the Actor on Apify.
  2. Select oneWay, roundTrip, or multiCity.
  3. Enter airport IATA codes and dates in the selected search section.
  4. Adjust passengers, cabin, filters, sorting, currency, and language in Global Settings.
  5. Run the Actor and download results from the Dataset tab.

Configuration

FieldDescriptionDefault
operationSearch mode: oneWay, roundTrip, or multiCity.oneWay
origin, destThree-letter IATA airport codes, for example JFK and LHR.JFK, LHR
date, returnDateTravel dates in YYYY-MM-DD format. Leave empty to use valid future dates automatically.Empty
Global SettingsShared passengers, cabin, filters, sorting, currency, and language used by all search modes.Economy, USD, en-US
seatClasseconomy, premium-economy, business, or first.economy
stops0 any stops, 1 nonstop, 2 max one stop.0
sortbest, price, or duration.best
currency, languageGoogle Flights currency and locale, for example USD and en-US.USD, en-US
fetchAllLegsMulti-city only: true to fetch complete two-leg itineraries, false to only fetch the first leg.false

Proxy is handled automatically. The Actor starts without a proxy and retries with an internal Apify proxy session if Google blocks or limits the direct request.

Usage examples

One-way input

{
"operation": "oneWay",
"oneWay": {
"origin": "JFK",
"dest": "LHR",
"date": ""
},
"adults": 1,
"seatClass": "economy",
"stops": 0,
"sort": "best",
"currency": "USD",
"language": "en-US"
}

Round-trip input

{
"operation": "roundTrip",
"roundTrip": {
"origin": "JFK",
"dest": "LHR",
"date": "",
"returnDate": ""
},
"adults": 1,
"seatClass": "economy",
"currency": "USD",
"language": "en-US"
}

Multi-city input

{
"operation": "multiCity",
"multiCity": {
"legs": "[{\"origin\":\"JFK\",\"dest\":\"LHR\",\"date\":\"2026-06-01\"},{\"origin\":\"LHR\",\"dest\":\"CDG\",\"date\":\"2026-06-05\"}]",
"fetchAllLegs": false
},
"adults": 1,
"seatClass": "economy",
"stops": 0,
"sort": "best",
"currency": "USD",
"language": "en-US"
}

Output Examples

Results are written to the default dataset. The key-value store record OUTPUT contains a compact run summary.

One-way output

{
"price": 77236,
"airlines": ["Qatar Airways"],
"departure": "2026-06-01T19:05",
"arrival": "2026-06-02T14:05",
"stops": 1,
"duration_min": 850,
"segments": [
{
"from": "DAC",
"from_name": "Hazrat Shahjalal International Airport",
"to": "DOH",
"to_name": "Hamad International Airport",
"departure": "2026-06-01T19:05",
"arrival": "2026-06-01T21:55",
"duration_min": 350,
"plane": "Boeing 777"
},
{
"from": "DOH",
"from_name": "Hamad International Airport",
"to": "LHR",
"to_name": "Heathrow Airport",
"departure": "2026-06-02T07:45",
"arrival": "2026-06-02T14:05",
"duration_min": 500,
"plane": "Airbus A350"
}
]
}

Round-trip output

{
"price": 862,
"airlines": ["American"],
"departure": "2026-06-01T19:20",
"arrival": "2026-06-02T07:20",
"stops": 0,
"duration_min": 420,
"segments": [
{
"from": "JFK",
"from_name": "John F. Kennedy International Airport",
"to": "LHR",
"to_name": "Heathrow Airport",
"departure": "2026-06-01T19:20",
"arrival": "2026-06-02T07:20",
"duration_min": 420,
"plane": "Boeing 787"
}
]
}

Multi-city output

{
"price": 1186,
"airlines": ["British Airways"],
"legs": [
{
"departure": "2026-06-01T19:10",
"arrival": "2026-06-02T07:20",
"stops": 0,
"duration_min": 430,
"airlines": ["British Airways"],
"segments": [
{
"from": "JFK",
"from_name": "John F. Kennedy International Airport",
"to": "LHR",
"to_name": "Heathrow Airport",
"departure": "2026-06-01T19:10",
"arrival": "2026-06-02T07:20",
"duration_min": 430,
"plane": "Boeing 777"
}
]
},
{
"departure": "2026-06-05T12:50",
"arrival": "2026-06-05T15:10",
"stops": 0,
"duration_min": 80,
"airlines": ["British Airways"],
"segments": [
{
"from": "LHR",
"from_name": "Heathrow Airport",
"to": "CDG",
"to_name": "Paris Charles de Gaulle Airport",
"departure": "2026-06-05T12:50",
"arrival": "2026-06-05T15:10",
"duration_min": 80,
"plane": "Airbus A320neo"
}
]
}
],
"price_scope": "entire_trip",
"search_scope": "multi_city_complete",
"requested_legs": [
{
"date": "2026-06-01",
"origin": "JFK",
"dest": "LHR"
},
{
"date": "2026-06-05",
"origin": "LHR",
"dest": "CDG"
}
]
}

Reliability notes

  • Google Flights can return consent, verification, or incomplete pages from shared IPs.
  • When that happens, the Actor retries automatically with a fresh Apify proxy session.

This Actor collects publicly available flight-search results. Make sure your use case complies with applicable laws, regulations, and website terms.