Google Flights Scraper - Fares, Routes & Price Tracking
Pricing
Pay per event
Google Flights Scraper - Fares, Routes & Price Tracking
Scrape Google Flights for live fares, airlines, layovers, durations, baggage and CO2 emissions on any route. One-way & round-trip, all cabins, multi-passenger. Track prices and pull only new flights or price drops. No browser, no API key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Google Flights Scraper — Flight Prices, Routes, Airlines & Fare Monitoring
Scrape live flight prices from Google Flights for any route and date — no browser, no API key, no login. For every flight you get the price, airline(s), number of stops, departure & arrival airports/times/dates, total duration, baggage allowance, and Google's price insight (is this fare low, typical or high?).
Turn on monitoring mode and a scheduled run becomes a price-drop watcher — it surfaces only fares that changed or new flights that appeared.
Why this Google Flights scraper?
Most flight scrapers drive a slow, flaky headless browser, charge a start fee, or return a thin "cheapest price" number. This actor reads Google Flights' own server-rendered results directly, so it's fast, cheap and reliable, and it ships the richest flight record in the category.
| Data | Typical flight scrapers | This actor |
|---|---|---|
| Price + currency | ✅ | ✅ |
| Airline(s) operating the flight | partial | ✅ |
| Stops (nonstop / 1 / 2…) | partial | ✅ |
| Departure & arrival airport, time AND date | ❌ | ✅ |
| Total duration (text + minutes) | ❌ | ✅ |
| Overnight / arrives-next-day flag | ❌ | ✅ |
| Carry-on & checked baggage included | ❌ | ✅ |
| "Best flights" vs the full list | ❌ | ✅ |
| Price insight (low/typical/high + usual range) | ❌ | ✅ |
| One-way and round-trip (both legs) | partial | ✅ |
| All cabins (economy → first) & multi-passenger | partial | ✅ |
| Bulk routes in one run | ❌ | ✅ |
| Price-change monitoring | ❌ | ✅ |
| No browser · no API key · no start fee | ❌ | ✅ |
Use cases
- Fare price monitoring & drop alerts — watch a route (or a whole list of routes) on a schedule and get notified the moment a fare drops. The #1 recurring use case.
- Travel agencies & OTAs — feed live fares into quotes, dashboards and comparison tools.
- Deal sites & newsletters — find and publish the cheapest fares across many routes automatically.
- Corporate travel & expense — benchmark fares for policy compliance and budgeting.
- Market & route analysis — compare airlines, durations, stops and price levels across dates and city pairs.
- AI travel assistants — give an LLM clean, structured fare data to plan and book trips.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Google Flights Scraper and enter an origin, destination and depart date (IATA codes like
JFK,LAX). Add a return date for a round trip, or paste several routes in the Routes field. - Click Start and watch flights stream into the dataset table.
- Export as JSON, CSV, Excel, XML or RSS — or pull results via the Apify API.
Input
{"origin": "JFK","destination": "LAX","departDate": "2026-09-15","tripType": "one_way","cabinClass": "economy","adults": 1,"currency": "USD","includePriceInsights": true,"monitorMode": false,"proxyConfiguration": { "useApifyProxy": true }}
Or scrape many routes at once:
{"routes": ["JFK-LAX-2026-09-15","SFO-LHR-2026-10-01-2026-10-12","BOS-NRT-2026-11-05"],"cabinClass": "economy","currency": "USD","monitorMode": true,"monitorKey": "my-watchlist"}
- origin / destination — 3-letter IATA airport or city codes (
JFK,LHR,NYC,LON). - departDate / returnDate —
YYYY-MM-DD(future dates). A return date makes it a round trip. - tripType —
one_wayorround_trip. Round trips scrape both legs (each as a reliable one-way query, taggedleg: outbound / return). - routes — bulk list, one route per line:
ORIGIN-DESTINATION-DEPART[-RETURN]. - startUrls — paste Google Flights URLs directly (best for one-way links).
- cabinClass —
economy,premium,business,first. - stops —
any,nonstop,one_or_fewer,two_or_fewer. - adults / children / infantsInSeat / infantsOnLap — passenger counts.
- currency / market — pricing currency (ISO code) and country market.
- maxResultsPerRoute — cap flights per search (0 = all; lower it to control cost when watching many routes).
- onlyBestFlights — return only Google's highlighted "best" flights.
- includePriceInsights — add one summary record per search (default on).
- monitorMode / monitorKey — only emit price changes & new flights (see below).
- proxyConfiguration — Apify datacenter proxy by default (fast + cheap).
Output
By default you get one clean table of flights, plus optional price-insight summary rows (toggle the dataset views to switch).
A flight record (type: "flight"):
{"type": "flight","tripType": "one_way","leg": "oneway","tripGroup": "JFK-LAX-2026-09-15","origin": "JFK","destination": "LAX","departSearchDate": "2026-09-15","price": 220,"currency": "USD","priceText": "220 US dollars","isFromPrice": true,"airlines": ["JetBlue"],"mainAirline": "JetBlue","stops": 0,"stopsText": "Nonstop","departureAirport": "JFK","departureAirportName": "John F. Kennedy International Airport","departureTime": "9:40 PM","departureDate": "2026-09-15","departureDateTime": "2026-09-15T21:40:00","arrivalAirport": "LAX","arrivalAirportName": "Los Angeles International Airport","arrivalTime": "12:52 AM","arrivalDate": "2026-09-16","arrivalDateTime": "2026-09-16T00:52:00","arrivesNextDay": true,"durationText": "6 hr 12 min","durationMinutes": 372,"carryOnBags": 1,"checkedBags": 0,"isBest": true,"cabinClass": "economy","googleFlightsUrl": "https://www.google.com/travel/flights/search?tfs=...","scrapedAt": "2026-06-17T12:00:00.000Z"}
A price-insight record (type: "priceInsight") carries cheapestPrice, medianPrice, highestPrice, optionsFound, priceLevel (low/typical/high), usualRange and a bookingTip.
Round trips: each direction is searched separately and returned with
leg: "outbound"/leg: "return", sharing onetripGroup. The cheapest round trip is the cheapest outbound + cheapest return — exact for the many fares/carriers that price each direction independently. (Times are shown in each airport's local time;durationMinutesis the authoritative flight length.)
Monitoring — only price changes & new flights
Turn on monitorMode and the actor remembers every flight it has emitted — keyed by route, airline, times, stops and price — in a named key-value store (set by monitorKey). On the next run it returns only records it hasn't seen before:
- a fare changes → the flight re-appears (its price is part of the signature) = a price-drop / price-change alert;
- a new flight is added to a route → it appears;
- nothing changed → nothing is emitted.
It pairs with Apify Schedules: the schedule starts the run on a cron, monitoring mode dedupes against prior runs — so a daily watch only ever surfaces fresh fares.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it hourly/daily to track fares over time.
- Webhooks — trigger downstream actions (price-drop email, Slack alert, booking workflow) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/google-flights-scraper').call({routes: ['JFK-LAX-2026-09-15', 'SFO-LHR-2026-10-01-2026-10-12'],currency: 'USD',monitorMode: true,monitorKey: 'my-watchlist',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} flights`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push price drops straight into email, Sheets or Slack.
- Slack — get notified when a watched fare drops.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the Apify MCP server — ask your assistant to "find the cheapest nonstop from New York to LA on Sept 15 and watch it for price drops" and let it run the scraper for you.
More scrapers from scrapesage
Build a complete travel & market-intelligence stack:
- airbnb-scraper — Airbnb listings, prices & availability
- trip-com-scraper — hotel prices, rooms & reviews
- getyourguide-scraper — tours, activities & attraction tickets
- tours-activities-scraper — multi-platform tours & tickets (Civitatis, Tiqets)
- google-trends-scraper — search-demand & travel-trend intelligence
- google-news-scraper — news articles, real URLs & monitoring
- yahoo-finance-scraper — live quotes, FX rates & market data
- eventbrite-scraper — events plus organizer leads
Tips
- Use the Routes field to watch many city pairs/dates in one run — ideal for scheduled price monitoring.
- Cap cost with
maxResultsPerRouteandonlyBestFlightswhen you only care about the cheapest options. - Currencies: set any ISO currency (
USD,EUR,GBP, …). Result text stays in English so parsing is always reliable. - Search a few weeks/months ahead — fares populate best for dates that aren't immediate or far past the booking window.
- Round-trip combined fares: search each leg as one-way (this actor does that automatically) for the most reliable, no-browser results.
FAQ
Does it need the Google Flights API or a key? No. Google Flights has no public API; this actor reads the public results page directly — no key, no login, no browser.
Which airports/cities can I search? Any 3-letter IATA airport code (JFK, LAX, CDG) or metro/city code (NYC, LON, TYO).
Can it monitor prices and alert me? Yes — turn on monitorMode and create a Schedule; each run emits only changed/new fares, and a webhook or Zapier zap can push drops to email/Slack.
Does it do round trips? Yes. Each direction is scraped as a reliable one-way query and tagged leg: outbound / return under a shared tripGroup.
A field is empty — why? Some flights don't publish baggage details, and price insights only appear when Google shows them. Fields are blank only when Google didn't surface that data — never because the scraper skipped it.
Can I export to Google Sheets, CSV or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
Is scraping Google Flights legal? This actor collects publicly available data only. You're responsible for using the data in compliance with applicable laws and Google's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.