Google Flights Scraper avatar

Google Flights Scraper

Pricing

from $0.80 / 1,000 result items

Go to Apify Store
Google Flights Scraper

Google Flights Scraper

Google Flights scraper and flight price tracker: offers for any route and date with price, airlines, flight numbers, stops, duration, departure and arrival times, CO2 and the Best label. One way or round trip, any cabin. Monitor mode alerts when the cheapest price changes.

Pricing

from $0.80 / 1,000 result items

Rating

0.0

(0)

Developer

Viktor Dubnytskiy

Viktor Dubnytskiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

Get Google Flights offers for any route and date as one flat row per flight: price, airlines, flight numbers, stops, total duration, departure and arrival times and airports, layovers, CO2 estimate and whether Google lists it among the "Best" flights. One way or round trip, any cabin and number of adults. It doubles as a flight price tracker: monitor mode keeps the cheapest price of every route you save and alerts you only when it changes.

Try it: the prefilled example returns 20 rows in about 5 seconds and costs about $0.02. Results cost $1 per 1,000.

What you get

Real rows from the example dataset (the prefilled route JFK to LHR, one way, 30 days ahead: 2026-12-01):

airlinesflightspricestopsminutesdepartsarrivesbestcheapest
British AirwaysBA 178$30004152026-12-01 08:052026-12-01 20:00yesno
JetBlueB6 1107$30004342026-12-01 09:262026-12-01 21:40yesno
DeltaDL 1$30004252026-12-01 20:002026-12-02 08:05yesno
AmericanAA 104$30004202026-12-01 21:152026-12-02 09:15yesno
Aer LingusEI 104, EI 152$29816052026-12-01 17:002026-12-02 08:05noyes

Full row: id, url (the Google Flights search), route, from, to, departDate, returnDate, tripType, adults, cabin, price, currency, airlines, flightNumbers, stops, durationMinutes, departureAirport, departureTime, arrivalAirport, arrivalTime, layovers (airport, minutes), legs (flight number, airline, operator, airports, times, minutes, aircraft), isBest, isCheapest, co2Grams, co2TypicalGrams, co2DiffPercent, rank, routeKey, scrapedAt.

Times are local to each airport, as on the departure board. price is the total for all adults; on a round trip it is the round-trip total, as Google shows it.

Use cases

  • Flight price tracker. The main use: save your routes and dates in monitor mode, schedule it daily, and get a webhook or Telegram message only when the cheapest fare for a route goes up or down.
  • Fare research. Compare many routes or dates in one run and sort by price, stops or duration in a spreadsheet.
  • Travel and deal sites. Feed a deals page with today's cheapest nonstop fares from a list of airports.
  • Emissions reporting. Use co2Grams per offer to compare the footprint of options on the same route.

Try it in 10 seconds

One-off search. Press Start: the prefilled input searches JFK to London Heathrow one way, 30 days from today. Add departDate and returnDate to a route for your own trip.

Flight price tracker (monitor mode). Save a task with this input and put it on a schedule (Apify, Schedules, e.g. every morning):

{
"mode": "monitor",
"monitorStateId": "christmas-trip",
"routes": [
{"from": "JFK", "to": "LHR", "departDate": "2026-12-20", "returnDate": "2027-01-03"},
{"from": "WAW", "to": "BCN", "departDate": "2026-12-20"}
],
"adults": 2,
"webhookUrl": "https://your-endpoint.example.com/hook"
}

Monitor mode needs a fixed departDate on every route (a run without one stops before any request, because a moving "30 days from today" date would never compare with the previous run). It returns one row per route, the cheapest offer, and only when its price differs from the previous run (or on the first run). Each monitor run charges one monitor-check event ($0.005) plus one change event ($0.001) per route whose cheapest price moved. A run with no price change charges only the check.

Input

FieldMeaningDefault
routesList of {from, to, departDate, returnDate?} with IATA airport codes, dates up to 330 days ahead[{"from": "JFK", "to": "LHR"}]
adultsAdult travellers, 1 to 91
cabineconomy, premium_economy, business, firsteconomy
currencyPrice currency, ISO codeUSD
language / countryGoogle language and marketen / US
maxStopsKeep offers with at most this many stopsall
cheapestOnlyOne row per route, the cheapest offerfalse
maxOffersPerRouteOffers per route100
maxItemsRows per run in total200 (prefilled 20)
mode, monitorStateId, webhookUrl, telegramBotToken, telegramChatIdMonitor mode and alertsscrape

How it works

  1. Each route is turned into the same encoded search link Google Flights builds when you search on the site (airports, dates, travellers, cabin, one way or round trip).
  2. The results page is read from the data Google renders it from: the "Best" flights and the other departing flights, with prices in the currency you asked for.
  3. Unknown airport codes make Google show its start page instead of results, and Google's own echo of the search then has no airports; such a route yields nothing and costs nothing. Any other page without offers is treated as a bot check.
  4. If Google answers with a bot check, the request is retried on a stronger proxy tier. A run where every request was refused ends as blocked, never as an empty "no results".

Pricing

EventPrice
result$0.001 per offer ($1 per 1,000)
monitor-check$0.005 per monitor run
change$0.001 per route whose cheapest price changed

Store discounts: SILVER plan -10%, GOLD and above -20% on every event.

You pay only for rows that are pushed. Platform usage is billed by Apify on top; runs need no proxy.

Limits

  • A round-trip search lists the outbound flights with the round-trip total. Return-flight details are not included, because Google shows them only after an outbound flight is picked.
  • Searches use airport codes (JFK, LHR). Metropolitan city codes such as NYC or LON are passed to Google as they are.
  • Google shows about 20 to 40 offers per search; the actor returns that list and does not click "more flights".
  • Prices are what Google shows for the market in country; airlines and booking sites may differ slightly.
  • Children and infants cannot be added in this version.

FAQ

Does it need a Google account or an API key? No. Every request is made as a logged-out visitor.

How often should a price tracker run? Daily is usual. Fares change several times a day on busy routes, so twice a day catches more moves at twice the monitor-check cost.

Why did a run return nothing? The RUN_SUMMARY record in the run's key-value store has emptyReason. A bot check is reported as blocked, a route with no offers or unknown airports as no_matches.

Changelog

  • 0.1: initial release. One way and round trip offers by route and date with airlines, flight numbers, stops, times, layovers and CO2; cheapest and Best flags; monitor mode as a flight price tracker.

If this actor saved you time, a short review on its Store page helps other people find it. Missing a field? Open an issue on the Issues tab.