Skip to content

Google Flights Scraper

Try for free

Search public Google Flights for one-way and round-trip itineraries, with prices, airlines, stops, times, and aircraft.

✈️ Google Flights Scraper

Search the public Google Flights results page for one-way and round-trip itineraries. One run gives you prices, airlines, departure and arrival times, stops, layovers, aircraft and carbon estimates for a route and date, as structured JSON.

A search is a single $0.019 result, no matter how many itineraries it returns, and it finished in under 10 seconds in our tests.

✨ Why use Google Flights Scraper?

  • 🔓 No login, no paid flights API — it reads the public Google Flights page.
  • 🧾 Complete itinerary data — price, airline, flight numbers, times, stops, layovers, cabin, aircraft, legroom, amenities and carbon emissions.
  • 🔁 One-way and round trip — add returnDate and prices become the round-trip fare for each outbound flight.
  • 🎚️ Useful filters — maximum price, maximum stops, airline codes, cabin class and passenger counts.
  • 🌍 Point of sale control — set country, currency and language to see the fares a traveler there would see.
  • 💸 Flat price per search — one result event covers a whole results page.

🎯 Use cases

  • 🧮 Fare comparison — compare airlines and times on a route.
  • 📉 Price watching — schedule a daily run and track a route's fare.
  • 🧭 Travel apps — feed a travel search or newsletter with live itineraries.
  • 📊 Market research — compare fares by country or currency.
  • 🌿 Carbon reporting — pull emissions estimates per itinerary.

🚀 How to use

  1. Enter From and To as airport or metro codes (several can be separated by commas, for example CDG,ORY).
  2. Pick the Outbound date, and a Return date for a round trip.
  3. Set passengers, cabin and any filters, plus Maximum itineraries.
  4. Click Start.
  5. Open the Flights view for one row per itinerary, or export JSON, CSV or Excel.

📥 Input

FieldTypeDescription
originstring (required)Departure airport or metro code.
destinationstring (required)Arrival airport or metro code.
outboundDatestring (required)YYYY-MM-DD.
returnDatestringOptional; makes it a round trip.
maxResultsintegerItineraries to save. Default 20.
adults, children, infantsintegerPassengers (infants are lap infants). Party of at most 9.
travelClassstringCabin to search. Default economy.
maxStopsinteger0 keeps nonstop flights only.
maxPriceintegerDrop itineraries above this price.
airlinesstringComma-separated codes such as B6,DL.
currency, language, countrystringDefaults USD, en, us.
proxyConfigurationobjectDatacenter by default.
{
  "origin": "LAX",
  "destination": "JFK",
  "outboundDate": "2026-11-15",
  "maxResults": 10,
  "currency": "USD",
  "language": "en",
  "country": "us"
}

📤 Output

One dataset item is one search. It holds all_flights (every itinerary), best_flights, other_flights, price_insights and airports. The Flights view shows one row per itinerary.

FieldDescription
route, departure_airport, arrival_airportRoute codes.
airlines, flight_numbersCarrier and flight numbers.
price, currencyFare for the search.
departure_time, arrival_timeLocal times.
stops, stops_label, layover_airportsConnections.
duration, duration_minutesTotal travel time.
travel_class, overnight, often_delayedCabin and flags.
carbon_emissions_gCarbon estimate in grams.

Example (trimmed):

{
  "search_parameters": {
    "trip_type_description": "One way",
    "departure_id": "LAX",
    "arrival_id": "JFK",
    "outbound_date": "2026-11-15",
    "currency": "USD"
  },
  "search_metadata": {
    "total_flights_found": 30,
    "best_flights_count": 4,
    "other_flights_count": 26
  },
  "all_flights": [
    {
      "category": "best",
      "price": 269,
      "currency": "USD",
      "airlines": "JetBlue",
      "route": "LAX-JFK",
      "departure_time": "2026-11-15 23:59",
      "arrival_time": "2026-11-16 08:30",
      "stops": 0,
      "stops_label": "Nonstop",
      "duration": "5h 31m",
      "travel_class": "Economy",
      "flight_numbers": "B6 1224",
      "overnight": true,
      "carbon_emissions_g": 381000
    }
  ]
}

💰 Pricing

A search that returns itineraries costs one result event of $0.019. An unknown airport returns no rows and is not charged. Platform usage (compute at $0.30 per GB-hour and datacenter proxy at $1 per GB) is billed separately.

Worked example: a one-route search is a single result, so it costs $0.019 plus a small amount of compute. In our test a non-owner run totaled about $0.022.

❓ FAQ

Is it legal to scrape Google Flights? The actor reads the public results page only. You are responsible for using the data in line with applicable law and Google's terms.

Do I need a login or my own proxy? No. Proxies are included, and datacenter is enough for this page.

Why does a round trip show only outbound flights? Google's results page lists outbound choices first, with the round-trip price on each row. Choosing a return is a second page.

What if the airport code is wrong? The run finishes with no rows and no charge.

Can I schedule it or use the API? Yes. Schedule a daily run per route to build a price history.

⚠️ Limits

  • One route per run (several airports can be listed in the From and To fields).
  • Itineraries come from the first results page Google renders, so a search returns at most what that page lists.
  • Booking-option lookups for every fare brand and multi-city trips are not included.
  • Prices depend on the country, currency and date you choose and can change between runs.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.