Google Flights Scraper: Fares, Times, Stops & Airlines
Pricing
from $0.50 / 1,000 flights
Google Flights Scraper: Fares, Times, Stops & Airlines
Flight prices from Google Flights for any route and dates: fare, airlines, flight numbers, times, duration, stops, layovers, aircraft, emissions and Google's price level. One-way or round trip. Fast, pay per flight.
Pricing
from $0.50 / 1,000 flights
Rating
0.0
(0)
Developer
DTK Foundry
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Google Flights Prices: Fares, Times, Stops and Airlines
Flight prices from Google Flights for any route and dates, one-way or round trip: fare, airlines, flight numbers, departure and arrival times, duration, stops and layovers, aircraft, legroom, codeshares, CO2 emissions, and Google's own verdict on whether prices are low, typical or high. One clean record per flight.
- Reliable. Tested on 200 varied searches (50 routes, one-way and round trip, 1-4 adults, all four cabins, stop filters, 6 currencies, up to 6 months out): all 200 answered on the first try, every departure date and stop limit as requested. 189 returned priced flights; the other 11 asked for premium or first class on routes that do not sell it.
- Your search, set exactly: dates, number of adults, cabin class, maximum stops and currency go to Google as a real search, not guessed from text.
- Every leg, not just the headline. Flight numbers, aircraft and legroom for each leg, layover airports and times, and the codeshare flight numbers the same seat is sold under.
- Fast. Median 2.5 seconds per search, about 70 flights per search.
- Pay per priced flight. Flights without a price, and searches that fail or find nothing, are never charged.
Input
| Field | Type | Default | Description |
|---|---|---|---|
routes | array | [] | One per line, airport or city codes: JFK-LIS, NYC-LON. Add a date for that route only (JFK-LIS 2026-12-10), or two for a round trip (LAX-NRT 2026-11-20 2026-11-30). Empty = a free format example. |
departureDate | date | today + 14 days | YYYY-MM-DD, for routes without their own date. |
returnDate | date | none | Set it for round trips. Empty = one-way. |
adults | integer | 1 | 1-9. |
cabinClass | string | economy | economy, premium-economy, business, first. |
maxStops | string | any | any, nonstop, 1 (1 stop or fewer), 2 (2 stops or fewer). |
sortBy | string | best | best = Google's order, top flights first. price = cheapest first. |
currency | string | USD | Any 3-letter code Google Flights supports. |
maxFlightsPerSearch | integer | 50 | 1-300. |
includeFlightsWithoutPrice | boolean | false | Google lists some flights with no price for your dates. Left out by default; turn on to get them too, free. |
{"routes": ["JFK-LIS", "LAX-NRT 2026-11-20 2026-11-30"],"departureDate": "2026-12-10","adults": 1,"cabinClass": "economy","maxStops": "any","sortBy": "price","currency": "USD","maxFlightsPerSearch": 50}
Output (one record per flight)
{"status": "ok","route": "JFK-LIS","rank": 3,"tripType": "one-way","price": 432,"currency": "USD","airlines": ["Aer Lingus"],"airlineCode": "EI","departureAirport": "JFK","arrivalAirport": "LIS","departureTime": "2026-12-10T17:00","arrivalTime": "2026-12-11T10:10","durationMinutes": 730,"stops": 1,"layovers": [{"airport": "DUB", "airportName": "Dublin Airport", "city": "Dublin", "durationMinutes": 160}],"legs": [{"flightNumber": "EI 104", "airline": "Aer Lingus", "departureAirport": "JFK", "arrivalAirport": "DUB","departureTime": "2026-12-10T17:00", "arrivalTime": "2026-12-11T04:30", "durationMinutes": 390,"aircraft": "Airbus A330", "legroom": "31 in", "alsoSoldAs": []},{"flightNumber": "EI 482", "airline": "Aer Lingus", "departureAirport": "DUB", "arrivalAirport": "LIS","departureTime": "2026-12-11T07:10", "arrivalTime": "2026-12-11T10:10", "durationMinutes": 180,"aircraft": "Airbus A320neo", "legroom": "29 in", "alsoSoldAs": []}],"emissionsKg": 460,"typicalEmissionsKg": 479,"emissionsDiffPercent": -4,"isTopFlight": false,"priceLevel": "typical","typicalPriceLow": 325,"typicalPriceHigh": 910,"searchDepartureDate": "2026-12-10","searchReturnDate": null,"adults": 1,"cabinClass": "economy","maxStops": "any","googleFlightsUrl": "https://www.google.com/travel/flights/search?tfs=..."}
priceis the total for all adults, including required taxes and fees, as Google shows it. For a round trip it is the round-trip total; the record describes the outbound flights (Google shows return options only after an outbound flight is picked).- Times are local to each airport, as on the ticket.
priceLevelis Google's own "Prices are currently low / typical / high" for the route, andtypicalPriceLow/typicalPriceHighits usual price range. Google does not show the verdict on every search (city codes, some cabins), and the field is then empty.isTopFlightmarks Google's "Top flights" (its pick of price and convenience).- A search with no flights gives one record with
status: "no-results"(also for an unknown airport code); a search that could not be completed givesstatus: "failed"and anerror. Neither is charged.
Pricing
Pay per event, no subscription.
| Event | Price | When it is charged |
|---|---|---|
| Flight | $0.0005 | Once per flight with a price delivered. 50 flights for one route = $0.025. |
Set a maximum charge in the run options and the actor stops before it would go over. Apify's standard run-start event adds $0.00005 per run.
Limits, stated plainly
- The flights Google lists on its results page for your search: often 20-100, up to about 300 on busy
routes. With
sortBy: priceyou get the cheapest of those. - Prices are what Google Flights shows for your search from airline and agency sites. They change often and can differ from a booking site's final checkout price.
- Adults only for now. Google fills in fares with children through a step this actor does not take, so searches with children are not offered rather than returned half empty.
- No booking links: Google's booking options need a second step per flight.
- Public data only: no login, no personal data.
Privacy
Only your search (route, dates, travellers, cabin) is sent to Google. Results are stored only in your run's dataset. The actor runs with limited permissions and reads nothing else in your account.