Google Flights Scraper & Price Tracker - $2/1K Searches avatar

Google Flights Scraper & Price Tracker - $2/1K Searches

Pricing

from $2.00 / 1,000 flight searches

Go to Apify Store
Google Flights Scraper & Price Tracker - $2/1K Searches

Google Flights Scraper & Price Tracker - $2/1K Searches

$2 per 1,000 searches, all fares included. Track Google Flights prices: monitor mode returns only fares that are new or changed since the last run, with the previous price. Many routes x dates per run, Google's low/typical/high price level, airlines, flight numbers, stops, layovers, CO2.

Pricing

from $2.00 / 1,000 flight searches

Rating

0.0

(0)

Developer

zhyou

zhyou

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Google Flights Scraper & Price Tracker

Get Google Flights fares for many routes and dates in one run, and track price changes on a schedule. $2 per 1,000 searches, with every fare of a search included. Built for fare monitoring, travel deal sites, price research and AI agents.

  • Every itinerary Google shows, including the "Best" flights: price, airlines, flight numbers, departure and arrival times, duration, stops, layovers, aircraft, legroom and CO2.
  • Google's price insights on every row: whether today's price is low, typical or high, and the typical price range for the route.
  • Monitor mode (price tracker): schedule the Actor and get only fares that are new or whose price changed since the last run, with the previous price. No diffing on your side.
  • Round trips with return flights: optionally get the return options for the first N outbound flights, priced as Google prices the whole round trip.
  • Bulk: many routes × many dates (plus "also search the next N days") in one run.
  • Pay per search, not per row: $0.002 per search (one route on one date), however many itineraries it returns. On a busy route (30-40 itineraries) that is about $0.05-0.07 per 1,000 itineraries.

What you get

One row per itinerary:

{
"origin": "JFK",
"destination": "LAX",
"departureDate": "2026-12-10",
"returnDate": null,
"dateSpec": "2026-12-10",
"tripType": "one-way",
"direction": "outbound",
"outboundFlightNumbers": null,
"outboundDeparture": null,
"cabinClass": "economy",
"currency": "USD",
"price": 205,
"priceLevel": "typical",
"lowestPrice": 205,
"typicalPriceLow": 75,
"typicalPriceHigh": 320,
"rank": 1,
"isBest": true,
"airlines": ["American"],
"airlineCodes": ["AA"],
"flightNumbers": ["AA 1"],
"departure": "2026-12-10T09:00",
"arrival": "2026-12-10T12:19",
"durationMinutes": 379,
"stops": 0,
"layovers": [],
"legs": [
{
"from": "JFK", "to": "LAX",
"departure": "2026-12-10T09:00", "arrival": "2026-12-10T12:19",
"durationMinutes": 379, "airline": "American", "flightNumber": "AA 1",
"aircraft": "Boeing 777", "legroom": "31 in", "co2Grams": 287199
}
],
"co2Grams": 287000,
"typicalCo2Grams": 344000,
"co2DiffPercent": -17,
"googleFlightsUrl": "https://www.google.com/travel/flights/search?tfs=...",
"scrapedAt": "2026-10-18T07:02:11+00:00"
}

In monitor mode each row also has monitorStatus (new or changed) and previousPrice.

dateSpec is the departure date as you entered it (2026-12-10, or +30 for a relative date). For round trips with return flights, return rows have direction: "return", the chosen outbound flight in outboundFlightNumbers and outboundDeparture, and the return flight's details in the usual fields. price on a return row is the total round-trip price for that outbound + return pair.

Times are local airport times. A connecting itinerary lists each flight in legs and each stop in layovers (with layover minutes and whether you change airports).

How to use

  1. Add routes as IATA codes, one per line: JFK-LAX, LHR-NYC, SFO-NRT. City codes such as NYC, LON and TYO cover all their airports.
  2. Add one or more departure dates: YYYY-MM-DD, or +N for N days from the day of the run (e.g. +30). To find the cheapest day, set Also search the following days, e.g. 14 to search two weeks.
  3. Optional: trip type, return after N days, return flights for the first N outbound options, cabin, passengers, stops, airlines or alliances (AA, STAR_ALLIANCE), currency, language, point-of-sale country.
  4. Run, then download the dataset as JSON, CSV, Excel or via the API.

Return flights

A round-trip search lists outbound flights, each with the cheapest round-trip total. To see the return options, set Return flights for the first N outbound options (0-10). For each of the first N outbound itineraries (in Google's order) the Actor opens Google's return list for that outbound flight and adds one row per return itinerary, with the round-trip total as price. Each lookup is one more search. It is ignored for one-way trips.

Track fares over time

Turn on Monitor mode, pick a Monitor key (e.g. nyc-la-december) and schedule the Actor daily. The first run returns everything; later runs return only itineraries that are new or changed price.

  • Fixed dates (2026-12-10) track one trip: the same flights on the same day, run after run.
  • Relative dates (+30) track the price N days ahead, compared day to day: today's run looks at flights 30 days from today and compares each flight (same flight numbers and departure time) with the previous run's flights 30 days ahead of that run, even though the calendar date is different. A "changed" row means the fare for "this flight, 30 days out" moved. With Also search the following days, +30 and 2 extra days are tracked as +30, +31 and +32.

Return flights are tracked separately for each chosen outbound flight. Use a different key for each independent watch list, and don't run two runs with the same key at the same time (the later one would overwrite the other's baseline). Connect the dataset to email, Slack, Make, n8n or Zapier to get alerts.

Input example

{
"routes": ["JFK-LAX", "SFO-NRT"],
"departureDates": ["2026-12-10"],
"additionalDays": 6,
"tripType": "round-trip",
"returnAfterDays": 7,
"returnFlightsFor": 2,
"cabinClass": "economy",
"adults": 1,
"maxStops": "1",
"currency": "USD",
"monitorMode": true,
"monitorKey": "winter-trips"
}

That is 2 routes × 7 dates = 14 searches, plus 2 return-flight lookups for each = 42 searches at most.

Code examples: runnable Python and Node.js scripts for this Actor (scheduled runs, CSV export, cost caps) are in github.com/zhyouhh/apify-travel-and-app-data-examples.

Pricing

$0.002 per completed search (one route on one date) = $2 per 1,000 searches, however many itineraries it returns, plus $0.00005 per run start. Each return-flight lookup counts as one search. Proxy and compute are included. A search or lookup that fails after retries is not charged.

Example: watching 10 routes × 14 dates once a day is 140 searches a day, about $8.40 a month. Set a maximum cost per run in the run options and the Actor stops when it is reached (return-flight lookups stop too).

Good to know

  • Round trips: by default you get the outbound list, each priced as the cheapest round trip with that outbound flight. Return flights are only fetched for the first N outbound options you ask for, not for every combination.
  • Missing prices: some carriers (often low-cost ones) show no fare on Google Flights. Those itineraries are kept with price: null.
  • Price insights (priceLevel, typical range, priceHistory) are only present when Google shows them for the search.
  • Fares are what Google shows at scrape time for the chosen currency and point of sale; booking sites may differ.
  • Proxy: US datacenter proxies work well and are the default. Switch to residential only if you see many failed searches.

FAQ

Is there an official Google Flights API? No public one. This Actor reads the same results page you see in the browser.

How many itineraries per search? Everything Google's results page lists: usually 10-40 (33 for New York-Los Angeles). Google's full list behind "View more flights" can be longer (80+ on busy domestic routes); those extra itineraries are not included. In our New York-Los Angeles check all 48 extras had stops, took longer and none was cheaper than the cheapest fare returned here.

Can I use it from an AI agent? Yes. Call it through the Apify API or Apify MCP server with routes and dates; output is flat, predictable JSON.

This Actor is not affiliated with or endorsed by Google.