Google Flights Scraper avatar

Google Flights Scraper

Pricing

$0.30 / 1,000 flight scrapeds

Go to Apify Store
Google Flights Scraper

Google Flights Scraper

Scrape Google Flights between any airports: prices, airlines, stops, durations, departure and arrival times, CO₂ and Google price insights. One-way or round trip. Full-depth mode goes beyond the first page of results.

Pricing

$0.30 / 1,000 flight scrapeds

Rating

0.0

(0)

Developer

YEVHEN VDOVIN

YEVHEN VDOVIN

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Get flight prices and schedules from Google Flights for any route and date — fast and cheap. The scraper talks to Google Flights over plain HTTP (no browser), so a search takes about a second and hundreds of routes finish in a couple of minutes.

What you get

For every search (route + date):

  • Flights — price, airlines, flight numbers, departure and arrival times, total duration, number of stops
  • Layovers — airport, city, duration, airport change flag
  • Every segment — aircraft, legroom, Wi‑Fi / power / video, codeshares, overnight flag, CO₂ emissions
  • Google's verdict — which flights Google marks as "best", and whether today's price is low, typical or high for this route
  • Price insights — typical price range and about 60 days of price history (one extra free record per search)
  • Round trips — outbound flights with "round trip from" prices, and optionally the matching return flights with the final price
  • A direct link to the search on Google Flights

Typical uses

  • Price monitoring for routes you sell or fly often — schedule the Actor and compare runs
  • Finding the cheapest day: set Scan departure dates until and get prices for every date in the range
  • Bulk fare research across hundreds of city pairs with Bulk routes
  • Feeding travel apps, deal alerts, newsletters and AI agents with fresh fares

Input

FieldDescription
origin, destinationIATA airport codes (JFK) or city codes (NYC, LON); several airports with commas: JFK,EWR
departureDate, returnDateDates in YYYY-MM-DD. No return date = one-way
departureDateToScan every departure date up to this one (trip length is kept for round trips)
routesBulk mode: [{"from": "JFK", "to": "LHR", "date": "2026-12-01", "returnDate": "2026-12-08"}]
adults, children, infantsInSeat, infantsOnLapPassengers
cabinClasseconomy, premium_economy, business, first
maxStopsany, 0 (nonstop), 1, 2
airlinesOnly these airlines or alliances: ["BA", "LH"], ["STAR_ALLIANCE"]
searchDepthstandard — Google's best and cheapest flights (10–30 per search, one request). full — one more request per airline on the route, several times more flights
returnFlightsForRound trips: fetch return flights for the first N outbound flights
maxFlightsPerSearchCap on saved flights per search
includePriceInsightsExtra record with typical price range and price history
currency, language, countrye.g. EUR, de, de

Minimal example:

{
"origin": "JFK",
"destination": "LHR",
"departureDate": "2026-12-01",
"returnDate": "2026-12-08"
}

Output

{
"type": "flight",
"origin": "JFK",
"destination": "LHR",
"departureDate": "2026-11-12",
"returnDate": null,
"tripType": "one_way",
"position": 1,
"price": 293,
"currency": "USD",
"isBest": true,
"airlines": ["Aer Lingus"],
"flightNumbers": ["EI 104", "EI 152"],
"from": "JFK",
"to": "LHR",
"departure": "2026-11-12T17:00",
"arrival": "2026-11-13T08:05",
"durationMinutes": 605,
"stops": 1,
"layovers": [{ "airport": "DUB", "airportName": "Dublin Airport", "city": "Dublin", "durationMinutes": 125, "changeOfAirport": false }],
"segments": [
{ "airline": "Aer Lingus", "flightNumber": "EI 104", "from": "JFK", "to": "DUB", "departure": "2026-11-12T17:00", "arrival": "2026-11-13T04:30", "durationMinutes": 390, "aircraft": "Airbus A330", "legroom": "31 inches", "wifi": true, "power": false, "onDemandVideo": true, "co2Grams": 341888 }
],
"co2Grams": 394000,
"co2TypicalGrams": 432000,
"co2DiffPercent": -9,
"priceLevel": "typical",
"typicalPriceLow": 170,
"typicalPriceHigh": 300,
"totalFlightsOnGoogle": 113,
"searchUrl": "https://www.google.com/travel/flights/search?tfs=..."
}

Times are local to each airport. Prices are for all passengers of the search, in the currency you choose.

With Price insights on, each search also adds a record with "type": "priceInsights": lowestPrice, typicalPriceLow, typicalPriceHigh, priceLevel and priceHistory ([{ "date": "2026-10-08", "price": 293 }, ...]).

Good to know

  • Google shows its best flights and the cheapest ones first; a standard search returns that first screen (usually 10–30 flights, always including the lowest price). Use searchDepth: "full" when you need the long tail.
  • totalFlightsOnGoogle tells you how many flights Google has for the search in total.
  • For round trips the outbound price is Google's "round trip from" price. Set returnFlightsFor to get exact prices for specific return flights.
  • If a route has no flights on a date, the search simply returns nothing and is not charged.
  • No proxy is needed in most cases. If Google starts limiting requests, the Actor switches to Apify Proxy by itself.

Pricing

You pay per flight saved to the dataset. Price-insight records, empty searches and failed requests are free.