Google Flights Scraper — Fares, Itineraries & Cheapest Dates avatar

Google Flights Scraper — Fares, Itineraries & Cheapest Dates

Pricing

from $0.79 / 1,000 itineraries

Go to Apify Store
Google Flights Scraper — Fares, Itineraries & Cheapest Dates

Google Flights Scraper — Fares, Itineraries & Cheapest Dates

Google Flights scraper for one-way, round-trip, and multi-city itineraries plus a cheapest-date calendar. Export prices, airlines, stops, times, aircraft, CO2, and booking options as JSON. Call from Python, Node.js, or MCP — a Google Flights API alternative.

Pricing

from $0.79 / 1,000 itineraries

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Unofficial tool for publicly accessible Google Flights search results. Google and Google Flights are trademarks of Google LLC. Not affiliated with, sponsored by, or endorsed by Google. For informational, research, and fare-monitoring use only. Respect applicable terms of use and law.

Google Flights Scraper ◄── you are here

Google Flights scraper for live fares, itineraries, and a cheapest-date calendar. Pull one-way, round-trip, or multi-city results into a JSON dataset: price, airline, stops, times, aircraft, legroom, CO2, price insights, and optional booking options. A practical Google Flights API alternative — scrape with Python, Node.js, cURL, or Apify MCP. No official API key. Export the dataset as JSON, CSV, or Excel from Apify.

Built for fare alerts, OTA comparison, airline pricing snapshots, and AI travel agents.

Google Flights (fares & dates)Airbnb (stays occupancy)
Google Flights Scraper ◄── you are hereAirbnb Occupancy Scraper

When to use this Actor

  • You need a Google Flights scraper for one-way, round-trip, or multi-city itineraries as JSON
  • You want a cheapest-date calendar (lowest fare per departure day) without one search per date
  • You monitor a route on a schedule and store price, stops, duration, CO2
  • You want a Google Flights API alternative from Python, Node.js, or an MCP / AI assistant
  • You compare several origin/destination pairs in one run via batch searches

When not to use this Actor

  • Stay occupancy / blocked nights — use Airbnb Occupancy Scraper
  • Live checkout, seat maps, or ticket purchase — public shopping results only
  • Official airline GDS / NDC contracts (Amadeus, Sabre) — this Actor reads Google Flights, not a CRS

Modes

ModeWhat it does
searchItineraries for a date (best + other flights, not just the top few)
calendarLowest price per departure date across a window (one request per ~61 days)
bothItineraries for the chosen date and the cheapest-date grid

Key features

  • HTTP only — shopping + calendar endpoints (no browser, no CAPTCHA solver)
  • Full result set — Google's best bucket plus the rest of the ranked list
  • One-way, round-trip, multi-city — comma-separated metros (JFK,EWR) supported
  • Cheapest-date calendar — flag isCheapest on the low day(s) in the window
  • Filters — stops, airlines include/exclude, cabin, max price, duration, bags, sort
  • Nested JSON — per-segment aircraft, flight number, legroom, layovers, CO2
  • Optional booking options — airline/OTA seller, fare name, booking URL
  • Price insights — lowest / typical / usual range when Google sends them
  • Residential proxy recommended — Google often returns empty lists to datacenter IPs
  • MCP / AI ready — call from assistants via Apify MCP

Input

ParameterDescription
modesearch / calendar / both
origin / destinationIATA codes (comma-separated metros ok)
departDate / returnDateYYYY-MM-DD; omit return for one-way
multiCityLegsORIGIN-DEST-YYYY-MM-DD rows; overrides the single route
searchesExtra {origin, destination, departDate, returnDate} objects
cabinClass / adults / children / infantsPassenger mix
maxStops / airlines / maxPrice / sortByFilters
calendarDays / calendarFrom / calendarToDate grid window
resolveBookingOptionsExtra request per top itinerary
maxItemsCap on itinerary rows (calendar rows follow the date window)
currency / market / languagecurr / gl / hl
proxyConfigurationUse Apify Residential (US)

Example — JFK → LAX one-way

{
"mode": "search",
"origin": "JFK",
"destination": "LAX",
"departDate": "2026-09-20",
"adults": 1,
"cabinClass": "economy",
"maxItems": 50,
"currency": "USD",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Example — cheapest dates, round-trip week

{
"mode": "calendar",
"origin": "LHR",
"destination": "JFK",
"departDate": "2026-10-01",
"calendarDays": 60,
"calendarTripDays": 7,
"cabinClass": "economy",
"currency": "GBP",
"market": "GB"
}

Output

One dataset row per itinerary or calendar date. Download as JSON, CSV, or Excel from the run dataset.

FieldDescription
typeitinerary or calendar_date
bucketbest or other (search mode)
price / currencyDisplayed fare
airline / airlineNamePrimary carrier
origin / destinationIATA
departAt / arriveAtLocal times
stops / durationMinutesRouting
legsPer-segment aircraft, flight number, legroom, CO2
layoversWait, overnight, change-of-airport
co2Grams / emissionsTagItinerary carbon vs typical
priceInsightsLowest / typical / usual high-low
bookingToken / bookingOptionsHandoff + optional OTA list
isCheapestCalendar row is the low date in the window
flightsUrlGoogle Flights search link

Example itinerary (abbreviated)

{
"type": "itinerary",
"bucket": "best",
"price": 178,
"currency": "USD",
"airline": "B6",
"airlineName": "JetBlue",
"origin": "JFK",
"destination": "LAX",
"departAt": "2026-09-20T12:00",
"arriveAt": "2026-09-20T18:30",
"stops": 1,
"durationMinutes": 567,
"legs": [
{
"origin": "JFK",
"destination": "FLL",
"airline": "B6",
"flightNumber": "2201",
"aircraft": "Airbus A321",
"legroom": "32 inches"
}
]
}

Use cases

Use caseWhat you get
Fare-alert productsSchedule a route and notify when the cheapest itinerary drops
Travel apps / OTAsSeed a comparison page without an enterprise GDS contract
Airline pricing teamsSnapshot competitor fares, stops, cabin mix, and CO2
Cheapest-month contentCalendar grid for “cheapest dates to fly X→Y”
AI travel agentsRanked JSON via Apify MCP for trip-planning prompts
Batch route watchSeveral origin/destination pairs in one run

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/google-flights-scraper').call({
origin: 'JFK',
destination: 'LAX',
departDate: '2026-09-20',
maxItems: 40,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token="YOUR_TOKEN")
run = client.actor("crawloop/google-flights-scraper").call(run_input={
"origin": "JFK",
"destination": "LAX",
"departDate": "2026-09-20",
"maxItems": 40,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[:5])

cURL

curl "https://api.apify.com/v2/acts/crawloop~google-flights-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"origin\":\"JFK\",\"destination\":\"LAX\",\"departDate\":\"2026-09-20\",\"maxItems\":40}"

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID / name.

Example prompts:

  • "Run Google Flights Scraper for JFK to LAX on 2026-09-20 and return the 20 cheapest itineraries as JSON"
  • "Scrape Google Flights calendar for LHR-JFK over the next 60 days and list the cheapest dates"
  • "Chain Google Flights Scraper then Airbnb Occupancy Scraper for a long-weekend in Los Angeles"

Suite next step

After you have fares, measure stay occupancy at the destination with Airbnb Occupancy Scraper — listing calendars, occupancy %, and booking pace.

FAQ

Is there an official Google Flights API?
No public one. This Actor is a Google Flights API alternative that reads the same shopping and calendar results the website uses. Call it from Python, Node.js, cURL, or MCP.

Can I scrape Google Flights with Python or Node.js?
Yes. Use the Apify client examples above, or start a run from the Console and download the dataset.

Why residential proxy?
Google often serves empty itinerary lists to datacenter IPs. US residential is on by default.

Does round-trip return a combined outbound+return itinerary?
The first shopping page prices outbound options as round-trips (same as the website). Return-leg expansion per outbound is not a separate row type in this version.

City names or only IATA?
Use IATA / metro codes (JFK, LON, NYC). Comma-separate several airports.

How do I export CSV or Excel?
Every run writes a dataset. In Apify Console, open the dataset and export JSON, CSV, or Excel.