Google Flights Scraper – All Flights, Prices & Price Insights avatar

Google Flights Scraper – All Flights, Prices & Price Insights

Pricing

from $0.10 / 1,000 flights

Go to Apify Store
Google Flights Scraper – All Flights, Prices & Price Insights

Google Flights Scraper – All Flights, Prices & Price Insights

Scrape all Google Flights results for any route and date: prices, airlines, flight numbers, times, stops, layovers, bags, emissions and booking links, plus price insights (low/typical/high, 60-day price history). Round trips, date ranges, filters. No proxy needed.

Pricing

from $0.10 / 1,000 flights

Rating

0.0

(0)

Developer

Brian Gastaldelli

Brian Gastaldelli

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Google Flights Scraper — all flights, prices, bags and price insights

Type routes and dates and get every flight Google Flights shows, not only the first page: price, airlines, flight numbers, departure and arrival times, duration, stops and layovers, aircraft, legroom, operating carrier, codeshares, included carry-on and checked bags, CO₂ emissions and a booking link. Each search also returns Google's price insights: lowest price, whether prices are low, typical or high, the typical price range, the best time to book and 60 days of price history. Round trips, date ranges, business class, families, airline and stop filters, any currency and language.

Why this Actor

  • All the flights. Google Flights lists 50-300 flights for a busy route and day; you get all of them (the same number Google shows after View more flights), with top flights marked.
  • Checked against Google. In our tests 43 flights out of 43 had the same times, airlines, stops, emissions and price as the Google Flights page, including business round trips in EUR and a family with a child.
  • Price insights for every search: price level, typical range and price history, the data behind Google's "Prices are currently low" box. Ideal for fare alerts.
  • Scheduled runs never break. Dates can be a number of days from today (30 = in 30 days), and a date range keeps the same length of stay for every day.
  • Round trips done right. Google shows round trips as outbound flights with the round-trip total. Ask for the return options of the first N outbound flights and get them with their total price and a booking link.
  • Fast and cheap. 40 searches worldwide with 5,428 flights in 56 seconds. No proxy needed.
  • Pay only for results. Invalid routes, past dates and searches without flights come back with a clear status and are not charged. Flights that Google lists without a price are included for free.

Use cases

  • Fare tracking and price alerts: run every day and compare with priceLevel, typicalPriceRange and priceHistory.
  • Cheapest day to fly: search every day of a range and sort by lowestPrice.
  • Travel sites, newsletters and deal pages: fill your pages with real schedules, prices and booking links.
  • Airline and airport analysis: who flies a route, how often, with which aircraft, codeshares and emissions.
  • Corporate travel and budgeting: typical fares for the routes your team flies.
  • AI agents and LLM pipelines: give your assistant live flight data in clean JSON.

Input

FieldDescription
RoutesOne per line: JFK-LAX, NYC-LON (all airports of a city), JFK,EWR-MIA (several airports).
Departure dateYYYY-MM-DD or a number of days from today (30).
Last departure dateOptional: one search per day up to this date (max 91 days).
Return dateOptional: round trips. With a date range the length of stay stays the same.
Adults, childrenPrices are the total for all passengers.
Cabin class, stops, airlinesEconomy, premium economy, business, first; nonstop, 1 or 2 stops; IATA codes (DL, BA) or STAR_ALLIANCE, SKYTEAM, ONEWORLD.
Max flights per searchDefault 100; 0 = all. Saved in Google's order (top flights first).
Return flights for the first N outbound flightsRound trips only: the return options of the first N outbound flights, with the round-trip total.
Currency, language, countryUSD, EUR, GBP, INR…; Google language (en, de, it…) and country.
Google Flights linksSearch links copied from google.com/travel/flights, with all your filters.

Example input:

{
"routes": ["NYC-LON", "SFO-SEA"],
"departureDate": "30",
"departureDateTo": "36",
"returnDate": "37",
"adults": 2,
"maxStops": "1",
"currency": "USD",
"maxFlightsPerSearch": 50,
"returnFlightsForTop": 2
}

Output

One search row per search, followed by its flight rows. Real output (NYC-LON, one-way, price history cut):

{
"type": "search",
"route": "NYC-LON",
"origin": "NYC",
"destination": "LON",
"departureDate": "2026-11-13",
"returnDate": null,
"tripType": "one-way",
"adults": 1,
"children": 0,
"cabinClass": "economy",
"leg": "outbound",
"currency": "USD",
"flightsFound": 300,
"lowestPrice": 270,
"priceLevel": "typical",
"typicalPriceRange": { "low": 165, "high": 270 },
"bestTimeToBook": null,
"priceHistory": [{ "date": "2026-07-30", "price": 197 }, { "date": "2026-07-31", "price": 197 }],
"googleFlightsUrl": "https://www.google.com/travel/flights/search?tfs=GhoSCjIwMjYtMTEtMTNqBRIDTllDcgUSA0xPTkIBAUgBmAEC&hl=en&gl=us&curr=USD",
"scrapedAt": "2026-09-29T04:49:04.823Z"
}
{
"type": "flight",
"route": "NYC-LON",
"departureDate": "2026-11-13",
"tripType": "one-way",
"leg": "outbound",
"rank": 4,
"isTopFlight": false,
"price": 270,
"airlines": ["American", "British Airways"],
"airlineCode": null,
"codeshareAirlines": [],
"carryOnBags": 1,
"checkedBags": null,
"flightNumbers": ["AA 4347", "BA 98"],
"departureAirport": "LGA",
"arrivalAirport": "LHR",
"departureTime": "2026-11-13T08:20",
"arrivalTime": "2026-11-14T10:30",
"durationMinutes": 1270,
"stops": 1,
"layovers": [
{ "airport": "YYZ", "airportName": "Toronto Pearson International Airport", "city": "Toronto", "durationMinutes": 741, "changeOfAirport": false }
],
"segments": [
{
"flightNumber": "AA 4347",
"airline": "American",
"airlineCode": "AA",
"operatedBy": "Republic Airways as American Eagle",
"codeshares": [],
"aircraft": "Embraer 170",
"departureAirport": "LGA",
"departureAirportName": "LaGuardia Airport",
"arrivalAirport": "YYZ",
"arrivalAirportName": "Toronto Pearson International Airport",
"departureTime": "2026-11-13T08:20",
"arrivalTime": "2026-11-13T10:04",
"durationMinutes": 104,
"legroom": "30 inches",
"emissionsKg": 114
},
{
"flightNumber": "BA 98",
"airline": "British Airways",
"airlineCode": "BA",
"operatedBy": null,
"codeshares": [],
"aircraft": "Airbus A350",
"departureAirport": "YYZ",
"departureAirportName": "Toronto Pearson International Airport",
"arrivalAirport": "LHR",
"arrivalAirportName": "Heathrow Airport",
"departureTime": "2026-11-13T22:25",
"arrivalTime": "2026-11-14T10:30",
"durationMinutes": 425,
"legroom": "31 inches",
"emissionsKg": 320
}
],
"emissions": { "kg": 433, "typicalKg": 431, "differencePercent": 0 },
"currency": "USD",
"priceIsRoundTripTotal": false,
"googleFlightsUrl": "https://www.google.com/travel/flights/booking?tfs=GlwSCjIwMjYtMTEtMTMiIAoDTEdBEgoyMDI2LTExLTEzGgNZWVoqAkFBMgQ0MzQ3Ih4KA1lZWhIKMjAyNi0xMS0xMxoDTEhSKgJCQTICOThqBRIDTllDcgUSA0xPTkIBAUgBmAEC&hl=en&gl=us&curr=USD",
"scrapedAt": "2026-09-29T04:49:04.825Z"
}
  • Times are local times of each airport (arrivalTime can be earlier than departureTime when you fly west across the date line).
  • googleFlightsUrl of a one-way flight opens its booking page on Google Flights (airline and travel-agency prices); for a round trip it opens the return flights for that outbound flight.
  • With Return flights for the first N outbound flights, each outbound flight adds a search row with leg: "return" and outboundFlightNumbers, followed by its return flight rows (price = round-trip total, link = booking page).

Rows with type: "status" explain what went wrong, and are not charged:

StatusMeaning
no_flightsGoogle Flights has no flights for this search (check codes, dates, stops and airlines)
invalid_searchGoogle refused the search (date out of range or unknown code)
invalid_route, invalid_url, invalid_inputThe route, the link or the dates in the input are not valid
too_many_searchesRoutes × days above the limit of one run (split it)
unsupportedMulti-city links and searches with infants are not supported yet
errorGoogle did not answer after every retry (rare); try again later

Honest limits

  • Prices are Google's prices at the moment of the run, for all passengers together; round-trip prices are the round-trip total. Prices converted from another currency can differ by 1 unit from the page because of the exchange rate.
  • About 1 flight in 6 has no price (price: null): Google itself shows Price unavailable for them (often small or local airlines). They are included free of charge.
  • Bags are the bags included in the fare for all passengers, as Google shows them; Google knows them mostly for flights sold in the US, elsewhere they are often null. emissions are for all passengers too.
  • Multi-city trips and infants are not supported yet.
  • bestTimeToBook and priceHistory come from Google's price insights and are missing for some routes.

Pricing

Pay per event: $3 per 1,000 searches (search, one per results page: each route and day, and each list of return flights) and $0.10 per 1,000 flights (flight). A search with 100 flights costs $0.013; the first 10 flights of a route cost $0.004. Status rows and flights without a price are free.

Tips

  • For daily fare tracking, use a number of days as the date (30) and schedule the Actor: the dates move with the calendar.
  • To find the cheapest day, set Last departure date and set Max flights per search to 10: the search row already has lowestPrice and priceLevel.
  • City codes (NYC, LON, PAR, TYO) search all the airports of the city, as on Google.

Other Actors by the same author