Google Flights Scraper & API: Prices, One-Way & Round-Trip
Pricing
from $0.65 / 1,000 flight offers
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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
- Add trips in Trips, one per line:
LAX-JFK,LAX-JFK 2026-12-10orLAX-JFK 2026-12-10 2026-12-17. - Pick the Departure date (and a Return date for round trips) for lines without their own dates.
- 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 it | yes |
| One way, or round trip (outbound flights with the round-trip price, then return options) | yes |
| Airlines, flight numbers, operating airline | yes |
| Departure and arrival airports and local times, total duration | yes |
| Stops: airport, city, layover time, overnight, change of airport | yes |
| Each flight: aircraft, legroom, duration, overnight, CO2 | yes |
| CO2 of the itinerary against the typical CO2 for the route | yes |
| Whether Google Flights lists it among its "best" flights | yes |
| Whether prices for the trip are low, typical or high right now | yes |
| Separate tickets (self-transfer) | yes |
Inputs
- Trips: airport codes (IATA), then optional dates.
LAX-JFKuses the dates set below;LAX-JFK 2026-12-10is 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 writtenYYYY-MM-DD: a date like12/20or10/12/2026is 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). FreenoFlightsrecords say that a trip has no flight with your filters; freeerrorrecords say why a trip could not be read (retryablesays if a later run may work).price: the total for all passengers. For round trips,priceCoversisroundTrip: 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, orreturn. A return record names its outbound flight inoutboundFlight.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:truewhen 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:
| Event | Price |
|---|---|
| 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.