Google Flights Scraper - Flight Price Tracker & Fare Calendar
Pricing
$3.00 / 1,000 flight route searches
Google Flights Scraper - Flight Price Tracker & Fare Calendar
Google Flights scraper and flight price tracker API. Search one-way & round-trip airfares, compare airlines, scan a fare calendar for the cheapest dates, and monitor price levels without headless browsers.
Pricing
$3.00 / 1,000 flight route searches
Rating
0.0
(0)
Developer
Kamer Ozkan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Google Flights scraper and flight price tracker: get real-time airfares, airline comparisons, flight schedules, carbon emissions, and Google's low / typical / high price level for any route, plus a fare calendar that finds the cheapest day to fly. No browser, no consent screen clicks.
Supports one-way and round-trip flights, multiple cabin classes, nonstop-only filters, worldwide IATA airports, custom currencies, and multi-date calendar fare tracking.
Reliability: 7 of 7 public runs succeeded in the last 30 days (Apify run stats, October 2026). A search that Google does not answer, or answers with no flights, is retried and not charged.
Why Google Flights Scraper?
| Feature | What you get |
|---|---|
| Pricing Model | $0.003 / route search (pay per event) |
| Speed | About 3.6 seconds per search (no browser) |
| Memory Footprint | 512 MB |
| Consent screen | Handled automatically, no clicks needed |
| Price Benchmark | Yes (low, typical, high) |
| Multi-Date Calendar | Yes (up to 60 departure dates) |
Core Use Cases
- Flight Price Tracking & Fare Drop Alerts: Monitor key corporate and vacation flight routes daily. Trigger notifications or buy signals when airfares drop to "LOW" price levels.
- Travel Metasearch & OTA Augmentation: Build travel portals and flight comparison tools with up-to-date schedule and pricing data across major airlines (Delta, United, American, British Airways, Lufthansa, Turkish Airlines, Ryanair, Emirates).
- Dynamic Pricing for Travel Agencies: Monitor airline pricing strategies and fare spikes on upcoming peak dates or holiday weekends.
- Corporate Travel Audits: Benchmark flight bookings against market rates and verify that business trips are booked within fair price corridors.
- AI Travel Agents: Feed structured flight schedules, layover times, and prices directly into LLM travel assistants, n8n, Make, or Zapier workflows.
Key Features
- Direct Protobuf Protocol Engine: Communicates directly with Google Flights backend services without headless browsers, so runs stay fast and light on memory.
- One-Way & Round-Trip Searches: Full support for point-to-point one-way flights or round-trips with customizable return durations.
- Multi-Date Fare Calendar: Scan airfares across up to 60 departure dates (
numberOfDates, withdateStepfor weekly checks) to pinpoint the cheapest days to fly. Every row carrieslowestPricefor its date, so sorting the dataset by it gives the cheapest date. - Comprehensive Flight Intelligence:
- Real-time airfare prices (
price,priceFormatted,currency) - Operating airlines and codes
- Exact departure and arrival times and dates
- Total travel duration and flight duration (in minutes and formatted hours)
- Number of stops and detailed segment legs (airports, durations, aircraft models like Airbus A330, Boeing 777)
- Google Flights price insight indicator (
low,typical,high) with typical price corridors - Carbon emissions in grams and route average benchmark
- Direct link to the live Google Flights itinerary
- Real-time airfare prices (
- Worldwide IATA Support & Custom Currencies: Query any airport pair with USD, EUR, GBP, TRY, CAD, AUD, etc.
- Pay-Per-Result Pricing: Pay only $0.003 per searched flight route. Zero monthly commitments.
How to use the Google Flights scraper
- Enter the origin and destination airport codes (for example
JFKandLHR). - Pick a departure date (
2026-12-10ortoday+14) and, for a round trip, switch on Round Trip and set the trip length. - For a fare calendar, set Number of Dates (for example 30) and optionally Days Between Calendar Dates (7 for weekly checks).
- Optional: cabin class, number of adults, currency, and Maximum Stops (0 = nonstop only).
- Click Start. Download the results as JSON, CSV or Excel, or read them through the API.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
fromAirport | String | Yes | "JFK" | 3-letter IATA code of origin airport (e.g. JFK, IST, LHR, LAX). |
toAirport | String | Yes | "LHR" | 3-letter IATA code of destination airport (e.g. LHR, CDG, HND, IST). |
departureDate | String | No | "today+14" | Departure date (YYYY-MM-DD or relative like today+14, today+30, tomorrow). |
isRoundTrip | Boolean | No | false | Enable round-trip flight search. |
returnDurationDays | Integer | No | 7 | Days between departure and return for round-trip searches (1 to 60). |
numberOfDates | Integer | No | 1 | Scan consecutive departure dates (multi-date fare calendar, 1 to 60). |
dateStep | Integer | No | 1 | Days between calendar dates (1 = every day, 7 = same weekday each week). |
maxStops | Integer | No | any | Maximum number of stops (0 = nonstop only). |
adults | Integer | No | 1 | Number of adult passengers (1 to 9). |
seatClass | String | No | "economy" | Cabin class: "economy", "premium-economy", "business", "first". |
currency | String | No | "USD" | 3-letter currency code (e.g. USD, EUR, GBP, TRY). |
expandItineraries | Boolean | No | true | When true, emits each flight itinerary as an individual record. When false, emits route summaries. |
proxyConfiguration | Object | No | { "useApifyProxy": true } | Apify Datacenter or Residential proxy settings. |
Example JSON Output
Each record represents one flight offer on the selected route and date:
{"from": "JFK","to": "LHR","tripType": "ONE_WAY","departureDate": "2026-11-20","returnDate": null,"adults": 1,"seatClass": "economy","currency": "USD","priceLevel": "TYPICAL","priceRange": {"low": 170,"typical": 224,"high": 300},"totalFlights": 18,"lowestPrice": 399,"rank": 1,"isBest": true,"airline": "Virgin Atlantic","airlines": ["Virgin Atlantic"],"price": 399,"priceFormatted": "USD 399","departure": "08:00","departureDate": "2026-11-20","arrival": "20:10","arrivalDate": "2026-11-20","stops": 0,"duration": "7h 10m","totalDurationMinutes": 430,"flightDurationMinutes": 430,"carbonEmissionGrams": 365000,"typicalCarbonEmissionGrams": 432000,"legs": [{"from": "JFK","fromAirportName": "John F. Kennedy International Airport","to": "LHR","toAirportName": "Heathrow Airport","departureDate": "2026-11-20","departureTime": "08:00","arrivalDate": "2026-11-20","arrivalTime": "20:10","durationMinutes": 430,"durationFormatted": "7h 10m","planeType": "Airbus A330-900neo"}],"searchUrl": "https://www.google.com/travel/flights?tfs=...","scrapedAt": "2026-10-06T20:29:15+00:00"}
API and integrations: code examples
Run it from your own code, a schedule, or tools like n8n, Make and Zapier through the Apify API.
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_API_TOKEN")run_input = {"fromAirport": "JFK","toAirport": "LHR","departureDate": "+14 days","isRoundTrip": True,"returnDurationDays": 7,"currency": "USD",}# Run the Actor and wait for completionrun = client.actor("kamerozkan/google-flights-prices").call(run_input=run_input)# Fetch results from datasetfor flight in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"[{flight['airline']}] {flight['departure']} -> {flight['arrival']} ({flight['duration']}): {flight['priceFormatted']}")
JavaScript / Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: 'YOUR_APIFY_API_TOKEN',});const runInput = {fromAirport: 'IST',toAirport: 'LHR',departureDate: '+21 days',currency: 'EUR',numberOfDates: 7, // Scan a full week of departure dates};const run = await client.actor('kamerozkan/google-flights-prices').call(runInput);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Collected ${items.length} flight schedules:`, items);
cURL
curl --request POST \--url "https://api.apify.com/v2/acts/kamerozkan~google-flights-prices/runs?token=YOUR_APIFY_API_TOKEN" \--header "Content-Type: application/json" \--data '{"fromAirport": "LAX","toAirport": "HND","departureDate": "2026-12-10","currency": "USD"}'
FAQ
How do I find the cheapest date to fly?
Set numberOfDates (for example 30) and keep expandItineraries on. Each row has departureDate and lowestPrice; sort by lowestPrice to get the cheapest dates. With expandItineraries off you get one summary row per date, which is the most compact fare calendar.
Can I track the same route every day?
Yes. Save your input as a task and add an Apify schedule. Compare lowestPrice and priceLevel between runs to catch fare drops.
Does it return booking options per airline or travel agency?
Not yet. Each row has searchUrl, which opens the same itinerary in Google Flights where the booking options are shown. Per-provider booking prices are on our list as a planned mode.
What am I charged for a search that fails?
Nothing. You pay one flight-search event only for a route date search that returned flights. A date with no flights (after one automatic retry) is still written to the dataset with totalFlights: 0, free of charge; failed searches are listed in the RUN_SUMMARY record of the key-value store.
Pricing Details
This Actor operates under Pay-Per-Event (PPE):
- Per Route Search ($0.003): Charged per flight route date search that returns flights. Empty or failed searches are free.
- 1,000 route searches cost only $3.00, returning dozens of complete airline itineraries per search.
- Platform compute usage is fully included in the event fee.
Support and feedback
- Found a bug or missing a field (for example per-provider booking prices)? Open an issue on the Issues tab of this Actor. We reply within 48 hours and ship most fixes within a few days.
- Have an idea for a feature? Issues are the fastest way to get it built.
- If the Actor saves you time, a short review on this page helps other users find it.