Google Flights Scraper & API: Prices, One-Way & Round-Trip avatar

Google Flights Scraper & API: Prices, One-Way & Round-Trip

Pricing

from $0.65 / 1,000 flight offers

Go to Apify Store
Google Flights Scraper & API: Prices, One-Way & Round-Trip

Google Flights Scraper & API: Prices, One-Way & Round-Trip

Flight offers from Google Flights for your trips: one-way or round trip, dates, passengers, cabin, stops and airlines. Each offer with its price and currency, airlines, flight numbers, stops, layovers, times, durations, aircraft and CO2. Several trips per run.

Pricing

from $0.65 / 1,000 flight offers

Rating

0.0

(0)

Developer

Quarra Labs

Quarra Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Google Flights Price Scraper: One-Way & Round-Trip Fares

Flight offers from Google Flights for the trips you give: one way or round trip, your dates, passengers, cabin, stops and airlines. Each offer comes with its price and currency, airlines, flight numbers, stops and layovers, departure and arrival times, durations, aircraft, legroom and CO2 estimate. Several trips in one run. No account, no API key. Export as JSON, CSV or Excel, or read it through the Apify API.

$0.90 per 1,000 flights ($0.65 on Gold plans and above), plus a start fee of $0.002 per run. Offers without a price, trips with no flight and trips that fail are not charged.

Quick start

  1. Add trips in Trips, one per line: LAX-JFK, LAX-JFK 2026-12-10 or LAX-JFK 2026-12-10 2026-12-17.
  2. Pick the Departure date (and a Return date for round trips) for lines without their own dates.
  3. Click Start and read the flights in the run's Output tab.

Run it every day on the same routes (Apify schedules) to follow how fares move. Like any Apify Actor, it can also be run through the Apify API and connected to webhooks, Make, Zapier, n8n or Apify's MCP server for AI agents.

What it is used for

  • Fare tracking: the price of each flight on a route, day after day, before your dates.
  • Route research: which airlines fly a route, nonstop or not, at what times, on which aircraft.
  • Travel tools and agents: real fares for a trip, ready to compare, in one API call.

What you get

Price for all passengers and its currency, as Google Flights shows ityes
One way, or round trip (outbound flights with the round-trip price, then return options)yes
Airlines, flight numbers, operating airlineyes
Departure and arrival airports and local times, total durationyes
Stops: airport, city, layover time, overnight, change of airportyes
Each flight: aircraft, legroom, duration, overnight, CO2yes
CO2 of the itinerary against the typical CO2 for the routeyes
Whether Google Flights lists it among its "best" flightsyes
Whether prices for the trip are low, typical or high right nowyes
Separate tickets (self-transfer)yes

Inputs

  • Trips: airport codes (IATA), then optional dates. LAX-JFK uses the dates set below; LAX-JFK 2026-12-10 is a one-way trip on that day; LAX-JFK 2026-12-10 2026-12-17 (or … 2026-12-10 to 2026-12-17) is a round trip. Relative dates work too, with their unit (LAX-JFK 30 days 37 days). Dates are written YYYY-MM-DD: a date like 12/20 or 10/12/2026 is refused rather than guessed (month or day first? which year?), and so is a number without a unit. City codes work too (NYC-LON, PAR-ROM): all the airports of the city. Up to 2,000 trips per run; a trip given twice is read once.
  • Departure date and Return date (round trip): for trips without their own dates. Absolute (2026-12-10) or relative (30 days). Google Flights shows flights up to 329 days ahead (about 11 months).
  • Return flights for the cheapest outbound flights (round trips): Google Flights lists the outbound flights first, each with its round-trip price. The return options of the cheapest outbound flights are listed too, each with the round-trip total (1 by default, up to 10; 0 = outbound flights only).
  • Adults and Children (2 to 11): 9 passengers at most. Prices are the total for all passengers. Infants (under 2) are not supported (see Limits).
  • Cabin: economy, premium economy, business or first.
  • Stops: any, nonstop only, 1 stop or fewer, 2 stops or fewer.
  • Only these airlines / Not these airlines: 2-letter airline codes (AA, DL, B6) or an alliance (STAR_ALLIANCE, SKYTEAM, ONEWORLD).
  • Currency: 3-letter code (USD, EUR, GBP…).
  • Max results: the exact number of charged flights the run delivers.

Example, through the API:

{
"trips": ["LAX-JFK 2026-12-10 2026-12-17", "SFO-ORD 2026-12-12"],
"adults": 2,
"cabinClass": "economy",
"maxStops": "nonstop",
"currency": "USD",
"returnFlightsFor": 2,
"maxItems": 200
}

Output

One record per flight offer in the dataset. A shortened record:

{
"type": "flight",
"status": "ok",
"offerId": "3f1c0b7e9a2d4c58e611",
"input": "LAX-JFK 2026-12-10",
"tripType": "oneWay",
"leg": "oneWay",
"from": "LAX",
"to": "JFK",
"departureDate": "2026-12-10",
"price": 205,
"currency": "USD",
"priceCovers": "oneWay",
"passengers": {"adults": 1, "children": 0, "infantsInSeat": 0, "infantsOnLap": 0},
"cabinClass": "economy",
"isBest": true,
"priceLevel": "typical",
"airlines": ["JetBlue"],
"flightNumbers": ["B6 2824"],
"stops": 0,
"totalDurationMinutes": 323,
"departureTime": "2026-12-10T08:00",
"arrivalTime": "2026-12-10T16:23",
"layovers": [],
"emissionsGrams": 436000,
"typicalEmissionsGrams": 333000,
"emissionsVsTypicalPercent": 31,
"segments": [
{"airline": "JetBlue", "flightNumber": "B6 2824", "from": "LAX", "to": "JFK", "departure": "2026-12-10T08:00",
"arrival": "2026-12-10T16:23", "durationMinutes": 323, "aircraft": "Airbus A320", "legroom": "33 inches"}
],
"googleFlightsUrl": "https://www.google.com/travel/flights?tfs=…",
"scrapedAt": "2026-10-21T07:00:00Z"
}

Fields that need a word of explanation:

  • status: ok (delivered, charged), noPrice (free: Google Flights lists the flight without a price). Free noFlights records say that a trip has no flight with your filters; free error records say why a trip could not be read (retryable says if a later run may work).
  • price: the total for all passengers. For round trips, priceCovers is roundTrip: the price is the round-trip total, on outbound records (the cheapest round trip with that outbound flight) as on return records (that outbound flight with that return).
  • leg: oneWay, outbound, or return. A return record names its outbound flight in outboundFlight.
  • currency: read from Google Flights for each price, never assumed. When Google Flights does not offer the currency you asked for, the prices come in the one it used and the run's notes say so.
  • selfTransfer: true when the price is for separate tickets, bought one by one. On a return record, that outbound and that return are separate tickets (Google Flights says "Separate tickets"). On an outbound record, the cheapest round trip with that outbound flight is made of separate tickets.
  • googleFlightsUrl: the same search on Google Flights, to open in a browser.
  • Times are local to each airport.

The run summary (counts per trip, why the run stopped, errors) is the OUTPUT record of the run's key-value store.

Pricing

Pay per event:

EventPrice
Flight offer with its price$0.90 per 1,000 ($0.80 Bronze, $0.75 Silver, $0.65 Gold and above)
Run start$0.002 per GB of memory (1 GB minimum; $0.002 at the default 256 MB)

Higher Apify plans pay less per result. Never charged: offers without a price, trips with no flight, error records. Set Maximum cost per run in the run options and the run stops before going over it.

Limits

  • Fares are those Google Flights shows in the United States, in English (the currency is yours to pick).
  • One-way and round trips; multi-city trips are not supported.
  • Searches with infants (under 2) are not supported: Google Flights does not give the complete list of flights with infants here, and a partial list would mislead. A run that asks for infants stops before any search.
  • Google Flights shows the flights of its first results page for a search (often 30 or more); it does not list every fare of every booking site.
  • Return options are read for the cheapest outbound flights you choose (up to 10 per trip).
  • Fares move from one minute to the next: two runs a few minutes apart can differ.
  • Connection settings are not used: every run reads Google Flights through the standard connection, and the run's notes say so.

FAQ

Do I need a Google account? No.

Is the price per person? No: it is the total for all the passengers you set, as Google Flights shows it.

Why is the start fee per GB of memory? That is how Apify counts a run start. The Actor runs at 256 MB, so you pay one start: $0.002.

Can I try it on the free Apify plan? Yes: the free plan's monthly credit covers thousands of flights.

What if the run is restarted by the platform (migration or reboot)? It resumes where it was: flights already in the dataset are not delivered or charged again.

Is it legal? It collects fares that Google Flights shows to any visitor. Check the rules that apply to your use of the data.

Does the Actor send anything to Quarra? Only when a run fails or runs out of time: the Actor, its build, the error type, the line of our code where it happened, and the memory and time the run was given, so we can fix it fast. Never your input, your results, your account or the run ID.