Google Flights Scraper & API - Flight Prices & Cheap Flights avatar

Google Flights Scraper & API - Flight Prices & Cheap Flights

Pricing

from $0.85 / 1,000 flights

Go to Apify Store
Google Flights Scraper & API - Flight Prices & Cheap Flights

Google Flights Scraper & API - Flight Prices & Cheap Flights

[Limited Launch Offer $1/1K] Scrape Google Flights for many routes and dates: flight prices, airlines, flight numbers, stops, layovers, aircraft, CO2, round trips and a calendar of the cheapest flights per day. Airfare data, fast, no browser.

Pricing

from $0.85 / 1,000 flights

Rating

0.0

(0)

Developer

Scrape With Me

Scrape With Me

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Google Flights Scraper - Prices, Round Trips, Cheapest Dates

Scrape Google Flights for many routes and dates in one run: price, airlines and flight numbers, stops and layovers, departure/arrival times, duration, aircraft, legroom, CO2 emissions - for one-way or round-trip searches - plus a cheapest-dates calendar (the lowest price for every day in a range). No browser, no API key.

Why this one

  • Fast. It talks to Google Flights' own data endpoints: ~100 flights in about a second; a 2-month price calendar in under a second.
  • Many routes x many dates in one run - ideal for fare monitoring and travel research.
  • Airport or city codes. NYC-LON searches the configured New York and London airports at once; JFK,EWR-LHR mixes airports. Invalid routes are skipped with a warning while valid routes continue.
  • Round trips done right. Each row is a full itinerary (outbound + return) with the round-trip total.
  • Rich filters: cabin, stops, airlines, sort order, currency, language.

Input examples

Flights for two dates:

{ "routes": ["JFK-LHR"], "departureDates": ["2026-11-20", "2026-11-27"], "maxFlightsPerSearch": 20 }

Round trips, prices in BRL:

{ "routes": ["GRU-LIS"], "departureDates": ["2026-11-20"], "tripType": "round-trip", "returnAfterDays": 7, "currency": "BRL" }

Cheapest-price calendar, business class, nonstop, selected airlines:

{ "routes": ["JFK-LHR"], "mode": "cheapest-dates", "dateFrom": "2026-11-01", "dateTo": "2026-12-31", "cabin": "business", "maxStops": "nonstop", "airlines": ["BA", "AA", "VS"], "currency": "EUR" }

Output examples

The existing routes array accepts single airports, supported metro codes, or comma-separated codes on either side:

{ "routes": ["NYC-LON", "JFK,EWR-LHR,LGW", "JFK-ZZZ"], "maxFlightsPerSearch": 10 }

This runs the first two routes and reports the invalid third route in warnings and the OUTPUT.skippedRoutes summary. If no valid routes remain, input validation fails. A successful search that returns no flights is an empty result. Comma lists are airport alternatives in one search, including round trips and the cheapest-dates calendar; duplicates within each endpoint are removed. Output route, origin and destination retain the normalized input codes, while flight legs identify the actual airports.

Supported metro codes: NYC, LON, PAR, TYO, CHI, WAS, MIL, ROM, MOW, SAO, RIO, BUH, STO, OSA, SEL, BJS, BUE, YTO, YMQ, JKT. These use a fixed airport mapping rather than live city lookup; use explicit airport lists for other cities or to choose a different set. An unknown or empty code in a comma list invalidates that route.

A one-way flight (shortened):

{
"type": "flight",
"route": "JFK-LHR",
"departureDate": "2026-11-20",
"position": 1,
"price": 325,
"currency": "USD",
"airlines": ["American Airlines"],
"stops": 0,
"durationMinutes": 420,
"departure": "2026-11-20T10:10:00",
"arrival": "2026-11-20T22:10:00",
"legs": [{ "airlineCode": "AA", "flightNumber": "142", "from": "JFK", "to": "LHR", "aircraft": "Boeing 777", "legroom": "31 in" }],
"layovers": [],
"co2EmissionsG": 512000
}

A round-trip row has price (round-trip total), returnDate, and outbound / return objects with the same flight fields. A calendar row has departureDate, returnDate (round trips) and price.

Run it on a schedule and connect it to your tools

Schedule: in Apify Console open Schedules → Create, pick this actor and your input, and set it to run every Monday at 07:00 (your time zone) for a fresh dataset on a fixed day. Each run returns the full, current result set as a new dataset.

Integrations (Actor → Integrations tab, no code):

  • Google Sheets — append every run's rows to a sheet.
  • Make, Zapier, n8n — start the actor from a scenario/zap/workflow and use the rows in the next steps.
  • Webhook — get a POST to your endpoint when a run succeeds, then download the dataset.
  • Slack / email — notify your team when a scheduled run finishes.

AI agents (MCP) — Claude, ChatGPT, Cursor, VS Code or any MCP client can run it as a tool: add the Apify MCP server https://mcp.apify.com?actors=kalilfagundes.w/google-flights-scraper (sign in with your Apify account) and ask for the data in plain language. The agent fills the input from the input schema and reads the dataset back.

API — call it from your code (pip install apify-client / npm i apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kalilfagundes.w/google-flights-scraper").call(run_input={
"routes": [
"GRU-LIS",
"JFK-LAX"
],
"departureDates": [
"2026-11-20",
"2026-12-04"
],
"tripType": "round-trip",
"returnAfterDays": 7,
"currency": "BRL",
"maxFlightsPerSearch": 5,
"maxItems": 40
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('kalilfagundes.w/google-flights-scraper').call({
"routes": [
"GRU-LIS",
"JFK-LAX"
],
"departureDates": [
"2026-11-20",
"2026-12-04"
],
"tripType": "round-trip",
"returnAfterDays": 7,
"currency": "BRL",
"maxFlightsPerSearch": 5,
"maxItems": 40
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Pricing

Pay per event, platform usage included: flight per flight or itinerary row, date-price per calendar row (see the Pricing tab).

Limitations

  • Prices are Google Flights' displayed prices for the passengers, cabin and currency chosen; they change constantly.
  • Round trips pair the top outbound options (roundTripOutboundOptions) with their return flights; each option is one more request.
  • Google Flights shows about 11 months ahead.

Feedback

If this actor saves you time, a quick rating on its Store page helps other people find it. Something not working? Open an issue in the Issues tab and it gets fixed fast.