Google Flights Scraper - Fares, Price Calendar & Insights avatar

Google Flights Scraper - Fares, Price Calendar & Insights

Pricing

from $0.08 / 1,000 flight rows

Go to Apify Store
Google Flights Scraper - Fares, Price Calendar & Insights

Google Flights Scraper - Fares, Price Calendar & Insights

Scrape Google Flights fares for any route and date: price, airlines, flight numbers, stops, layovers, times, aircraft, CO2, price level and history, price calendar, return flights, booking links. From $0.08/1K rows.

Pricing

from $0.08 / 1,000 flight rows

Rating

0.0

(0)

Developer

Quelli di Carne Genuina

Quelli di Carne Genuina

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Get flight prices from Google Flights for any route and date: fare, airlines, flight numbers, stops, layovers, departure and arrival times, duration, aircraft, legroom, CO2 emissions, Google's price level (low / typical / high) with ~60-day price history, a price calendar (cheapest fare per day), return flights for round trips and a booking link for every itinerary. One-way and round trip, economy to first, batch routes in one run. No Google account, no browser, no cookies.

Independent tool, not affiliated with Google LLC. It reads the public fares shown on google.com/travel/flights.

What you get

One row per itinerary (real result, shortened):

{
"type": "flight",
"origin": "MXP",
"destination": "JFK",
"departureDate": "2026-12-10",
"returnDate": "2026-12-17",
"tripType": "round_trip",
"rank": 1,
"isBest": true,
"price": 709,
"currency": "EUR",
"airlines": ["Vueling", "LEVEL"],
"flightNumbers": ["VY 6045", "LL 2627"],
"departureTime": "2026-12-10T15:10",
"arrivalTime": "2026-12-10T22:00",
"durationMinutes": 770,
"stops": 1,
"layovers": [{ "airport": "BCN", "city": "Barcelona", "durationMinutes": 120, "changeOfAirport": false }],
"priceInsights": { "lowestPrice": 709, "typicalPriceLow": 510, "typicalPriceHigh": 960, "priceLevel": "typical" },
"returnFlights": [{ "flightNumbers": ["LL 2628", "VY 6046"], "departureTime": "2026-12-17T23:45", "totalPrice": 709, "bookingUrl": "https://www.google.com/travel/flights/booking?tfs=…" }]
}

Try it in 1 click: the prefilled example runs in seconds. Press Start with the prefilled input (London Heathrow → New York JFK, 30 days from today): in our test today it finished in 4 seconds at 512 MB with 21 itineraries, a cost of about $0.003 on the Apify Free plan.

Price: from $0.16 per 1,000 rows on the Apify Free plan down to $0.08 on Gold and above. Price insights, return flights and booking links included, no start fee.

Why this Google Flights scraper

  • 20% cheaper on every Apify plan than the most used Google Flights actor at today's prices ($0.16 vs $0.20 per 1,000 rows on Free, $0.08 vs $0.10 on Gold and above). That actor has announced a price of $0.70–$1.00 per 1,000 rows from 27 October 2026.
  • Works on the cheap Apify datacenter proxy: no residential proxy needed, which keeps runs fast and cheap.
  • Built for reliability: every page is retried on a fresh IP, one failing route never fails the run (it becomes a free type: "error" row), and a RUN_SUMMARY record tells you what happened on each route.
  • Drop-in compatible: origin, destination, departureDate, returnDate, adults, children, infantsInSeat, infantsOnLap, cabinClass, maxStops, currency, market, language, maxResults, sortBy, routes, airlines, excludeAirlines, maxPrice, time windows, calendarDays, calendarOnly, includePriceInsights, resolveReturnFlights work with the same names as in the popular Google Flights actor.
  • Ready for monitoring: relative dates ("30 days") so scheduled runs always look the same distance ahead.

Who uses it

  • Travel agencies, OTAs and travel startups: live fares for any route, cabin and passenger mix.
  • Fare-alert and deal sites: price calendar plus Google's own low / typical / high verdict and price history.
  • Corporate travel and finance teams: benchmark booked fares against the market.
  • Researchers and AI agents: "What does a nonstop London–New York flight cost in December?" answered with fresh data, CO2 included.

Input

{
"origin": "MXP",
"destination": "JFK",
"departureDate": "2026-12-10",
"returnDate": "2026-12-17",
"adults": 2,
"cabinClass": "economy",
"maxStops": "1",
"currency": "EUR",
"market": "IT",
"sortBy": "price",
"calendarDays": 30,
"resolveReturnFlights": true
}
FieldWhat it does
origin / destination3-letter IATA airport code (JFK, LHR, MXP).
departureDate / returnDateYYYY-MM-DD or days from today ("30 days"). No returnDate = one way.
routesBatch: list of {origin, destination, departureDate, returnDate}.
adults, children, infantsInSeat, infantsOnLapUp to 9 passengers; prices are the total for all of them.
cabinClasseconomy, premium_economy, business, first.
maxStopsany, 0 (nonstop), 1, 2.
currency, market, languageAny ISO currency, point-of-sale country and language.
sortBy, maxResultsbest (Google's order), price, duration, departure; rows per search.
airlines, excludeAirlinesIATA airline codes, e.g. BA, AA.
maxPrice, maxDurationMinutes, maxLayoverMinutes, departureTimeFrom/To, arrivalTimeFrom/ToFilters; filtered itineraries are not charged.
includePriceInsightsPrice level, typical range and price history on every row (default on).
calendarDays, calendarOnlyCheapest fare for each of the next N departure days (same trip length for round trips).
resolveReturnFlights, maxReturnResolutions, maxReturnOptionsRound trips: return flights for the top outbound itineraries, with total price and booking link.

Output

Flight rows (type: "flight") carry, besides the fields above: airlineCode, departureAirport, arrivalAirport, legs (each flight with airline, flight number, airports and names, times, duration, aircraft, legroom, overnight, codeshares, CO2), co2EmissionsKg, typicalCo2EmissionsKg, co2DifferencePct, emissionsTag (lower / typical / higher), selfTransfer, codeshareAirlines, priceInsights.priceHistory ([{date, price}]), bookingUrl (one-way) and googleFlightsUrl.

Price calendar rows (type: "calendarDay"):

{ "type": "calendarDay", "origin": "MXP", "destination": "JFK", "departureDate": "2026-12-10", "returnDate": "2026-12-17", "currency": "EUR", "lowestPrice": 709, "cheapestAirlines": ["Vueling", "LEVEL"], "cheapestStops": 1, "cheapestDurationMinutes": 770, "itinerariesFound": 9 }

Times are local to each airport (YYYY-MM-DDTHH:mm). Round-trip price is the total for both directions. The dataset has two views, Flights and Price calendar.

Pricing

Pay per row: one itinerary or one calendar day. Price insights, return flights and booking links are included.

Apify planPer 1,000 rows until Oct 26, 2026Per 1,000 rows from Oct 27, 2026
Free$0.16$0.80
Bronze$0.128$0.72
Silver$0.104$0.64
Gold, Platinum, Diamond$0.08$0.56

From October 27, 2026 prices stay 20% below the leading Google Flights scraper's announced new price list.

No start fee, no search fee, no proxy fee. Error rows and filtered itineraries are free. Set a maximum charge per run to cap spending: the scraper stops cleanly when it is reached.

Migrating from lergassy/google-flights-scraper

The input field names are the same, so an existing input usually works after changing the actor ID to lagenuina_agency/google-flights-scraper.

lergassy inputThis actorNotes
origin, destination, departureDate, returnDatesameRelative dates like "30 days" also work.
adults, children, infantsInSeat, infantsOnLap, cabinClass, maxStopssame
currency, market, language, maxResults, sortBysame
routes, airlines, excludeAirlines, maxPrice, maxDurationMinutes, maxLayoverMinutes, time windowssame
calendarDays, calendarOnly, includePriceInsightssameCalendar = one search per day.
resolveReturnFlights, maxReturnResolutions, maxReturnOptionssame
multiCityLegs, exploreAnywhere, resolveBookingOptions, fillMissingPricesFromKayak, dataSourcenot supportedSee limits below.

Output: core fields have the same meaning (price, currency, airlines, flightNumbers, departureTime, arrivalTime, durationMinutes, stops, layovers, legs, CO2, priceInsights, bookingUrl). Compare one row of each actor before switching a production pipeline: some field names may differ.

Price per 1,000 rows (public Apify Store prices, checked on 17 October 2026; both actors price by Apify plan):

Apify planlergassy todaylergassy from 27 Oct 2026This actor
Free$0.20$1.00$0.16
Bronze$0.16$0.90$0.128
Silver$0.13$0.80$0.104
Gold and above$0.10$0.70$0.08

Completeness: lergassy reads Google's results API through residential proxies and can return 100–150 itineraries per search; this actor reads the results page (see limits). Run the same input on both and compare.

Limits / not supported

  • Itineraries per search: what Google's results page shows, typically 8–60 (top flights plus "other flights"), not the full "View more flights" list.
  • No multi-city trips, no "Explore anywhere" destinations, no per-seller booking options (Expedia, Kiwi…) and no Kayak fallback.
  • Round-trip rows are outbound itineraries with the round-trip total; turn on resolveReturnFlights for the matching returns and their booking links.
  • The price calendar runs one search per day (5 in parallel): 60 days = 60 rows.
  • Fares are the ones Google shows for the chosen market and currency; when Google shows no price for an itinerary, price is null.
  • maxPrice, duration and time-window filters are applied after reading the page; stops, airlines and max layover are sent to Google.

Use it from AI agents (MCP)

Any MCP client (Claude, ChatGPT, Cursor, custom agents) can call this scraper through the Apify MCP server:

{
"mcpServers": {
"apify": { "url": "https://mcp.apify.com/?actors=lagenuina_agency/google-flights-scraper" }
}
}

Ask things like "Cheapest nonstop flight Milan to New York in the second week of December, in euros" or "Which day next month is cheapest to fly London to Dubai?": inputs map directly to route, dates, passengers, cabin and filters, and results come back as clean JSON.

Integrations and API

Call it from your code with the official Apify clients:

# pip install apify-client
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lagenuina_agency/google-flights-scraper").call(run_input={"origin": "LHR", "destination": "JFK", "departureDate": "30 days", "currency": "USD"})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["price"], item["airlines"], item["departureTime"])
// npm i apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('lagenuina_agency/google-flights-scraper').call({ origin: 'LHR', destination: 'JFK', departureDate: '30 days', currency: 'USD' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

No-code: use the Apify app in n8n, Make or Zapier (action "Run Actor", pick lagenuina_agency/google-flights-scraper), or the langchain-apify / CrewAI ApifyActorsTool integrations for AI agents. Results can also go to Google Sheets, Slack, webhooks or S3 via Apify integrations.

Ready-to-run examples (Python, JavaScript, n8n workflow): github.com/assa83/google-flights-api.

More tools from Quelli di Carne Genuina

Ad intelligence

Competitor & SEO research

Travel prices

  • Google Hotels Scraper: hotel prices for the same trip, with every booking site's rate (Booking.com, Expedia, official site).

Retail prices

Content & social data

FAQ

Is there a Google Flights API? Google shut down its public flight API (QPX Express) in 2018. This actor gives you Google Flights fares as JSON through the Apify API, from Python, JavaScript, n8n, Make, Zapier or MCP.

How do I get the cheapest flight for a route and date? Set origin, destination, departureDate and sortBy: "price". The first row is the cheapest itinerary Google shows.

How do I find the cheapest day to fly? Set calendarDays (e.g. 30) and calendarOnly: true: you get one row per departure day with its lowest fare.

Are Google Flights prices for all passengers? Yes, price is the total for all passengers, and for round trips the total for both directions.

Does it show if prices are low or high right now? Yes, priceInsights.priceLevel is Google's low / typical / high verdict, with the typical price range and recent price history.

Can I track flight prices over time? Schedule the actor with relative dates ("60 days") and compare price or priceInsights.lowestPrice between runs.

Which currencies and countries are supported? Any currency Google Flights supports (USD, EUR, GBP, INR, JPY…) and any point-of-sale country via market.

Do I need proxies or a Google account? No account. The default Apify Proxy (datacenter) works; failed pages are retried automatically on a new IP.

Something broke? Open an issue on the Issues tab: we answer within 24 hours.