Google Flights Cheapest Dates Scraper avatar

Google Flights Cheapest Dates Scraper

Pricing

from $0.20 / 1,000 results

Go to Apify Store
Google Flights Cheapest Dates Scraper

Google Flights Cheapest Dates Scraper

Find Google Flights’ cheapest date-range option for airport routes with price, airline, stops, duration, and itinerary legs. Batch routes and choose a future search window.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

Compare Google Flights’ cheapest starting option for each route and date range, with price, airline, stops, duration, and itinerary legs. Dates default to a future search window.

What data can you extract?

FieldTypeDescription
priceIntegerQuoted price in the currency shown by the source.
currencyStringThree-letter currency code for the quoted amount.
total_duration_minutesIntegerTotal Duration Minutes value associated with this google flights cheapest dates record.
stopsIntegerStops value associated with this google flights cheapest dates record.
airline_nameStringAirline Name value associated with this google flights cheapest dates record.
departure_dateStringDeparture Date value associated with this google flights cheapest dates record.
return_dateStringReturn Date value associated with this google flights cheapest dates record.
legsArray<Object>Legs value associated with this google flights cheapest dates record.
input_routeObjectOrigin and destination airport codes supplied for this route lookup.
scraped_atStringUTC date and time when this record was collected.

Use cases

  • Travel planners can compare lowest starting fares across airport pairs.
  • Fare analysts can watch route prices before choosing departure windows.
  • Travel agencies can collect first-look itinerary options for client routes.

How to use

  1. Add origin and destination airport codes to each entry in routes.
  2. Set start and end dates or use the relative date defaults.
  3. Choose passenger and cabin settings, then export the itinerary rows.
{
"routes": [
{
"origin": "JFK",
"destination": "LAX"
}
],
"adults": 1,
"cabin_class": "economy",
"maxResults": 10
}

Input

FieldTypeRequiredDescription
routesArray<object>YesOrigin and destination airport codes to compare for the same date range.
routes[].originstringYes per entryOrigin airport code for the route or destination search.
routes[].destinationstringYes per entryKAYAK destination code for the vacation-package search.
routes[].adultsintegerNoNumber of adult travelers included in the search.
routes[].childrenintegerNoNumber of children traveling on the cruise search.
routes[].infants_in_seatintegerNoNumber of infants in seat (0-9, default: 0)
routes[].infants_on_lapintegerNoNumber of infants on lap (0-9, default: 0)
routes[].cabin_classstringNoCabin class: economy, premium_economy, business, or first (default: economy) Accepted values: economy, premium_economy, business, first.
routes[].exclude_basicbooleanNoExclude basic economy fares when searching in economy class (default: false)
routes[].max_stopsstringNoMaximum stops: any, nonstop, one_or_fewer, or two_or_fewer (default: any) Accepted values: any, nonstop, one_or_fewer, two_or_fewer.
routes[].hlstringNoLanguage code (e.g., en, de, en-US)
routes[].glstringNoCountry/region code (e.g., us, de, gb)
routes[].currencystringNoCurrency code for prices (e.g., USD, EUR, GBP)
routes[].outbound_timesstringNoOutbound time window as comma-separated hours, e.g. "6,18" for departures between 06:00 and 18:00. Two further values narrow the arrival window.
routes[].bagsintegerNoCarry-on bag count. Only 0 is currently supported. Accepted values: 0. Allowed values: 0.
routes[].api_versionintegerNoValue accepted by the Google Flights Cheapest Dates Scraper search. Accepted values: 2. Allowed values: 2.
routes[].from_datestringNoStart of date range in Y-m-d format When omitted, the start date is set to 30 days from today.
routes[].to_datestringNoEnd of date range in Y-m-d format When omitted, the end date is set to seven days after the start date.
routes[].trip_durationintegerNoDuration of trip in days (1-30, default: 7)
destinationstringNoKAYAK destination code for the vacation-package search.
adultsintegerNoNumber of adult travelers included in the search.
childrenintegerNoNumber of children traveling on the cruise search.
infants_in_seatintegerNoNumber of infants in seat (0-9, default: 0)
infants_on_lapintegerNoNumber of infants on lap (0-9, default: 0)
cabin_classstringNoCabin class: economy, premium_economy, business, or first (default: economy) Accepted values: economy, premium_economy, business, first.
exclude_basicbooleanNoExclude basic economy fares when searching in economy class (default: false)
max_stopsstringNoMaximum stops: any, nonstop, one_or_fewer, or two_or_fewer (default: any) Accepted values: any, nonstop, one_or_fewer, two_or_fewer.
hlstringNoLanguage code (e.g., en, de, en-US)
glstringNoCountry/region code (e.g., us, de, gb)
currencystringNoCurrency code for prices (e.g., USD, EUR, GBP)
outbound_timesstringNoOutbound time window as comma-separated hours, e.g. "6,18" for departures between 06:00 and 18:00. Two further values narrow the arrival window.
bagsintegerNoCarry-on bag count. Only 0 is currently supported. Accepted values: 0. Allowed values: 0.
api_versionintegerNoValue accepted by the Google Flights Cheapest Dates Scraper search. Accepted values: 2. Allowed values: 2.
from_datestringNoStart of date range in Y-m-d format When omitted, the start date is set to 30 days from today.
to_datestringNoEnd of date range in Y-m-d format When omitted, the end date is set to seven days after the start date.
trip_durationintegerNoDuration of trip in days (1-30, default: 7)
maxResultsintegerNoMaximum dataset items to save across this entire run.

Output example

{
"price": 245,
"currency": "USD",
"total_duration_minutes": 356,
"stops": 0,
"airline_name": "JetBlue",
"departure_date": "2026-10-31",
"return_date": "2026-11-07",
"legs": [
{
"departure_airport": "JFK",
"arrival_airport": "LAX",
"departure_time": "2026-10-31T08:15:00-04:00",
"arrival_time": "2026-10-31T11:11:00-07:00",
"airline_name": "JetBlue",
"flight_number": "B6123"
}
],
"input_route": {
"origin": "JFK",
"destination": "LAX"
},
"scraped_at": "2026-10-01T12:00:00Z"
}

Pricing

$0.30 per 1,000 results. Apify saves one dataset item per result and applies the Actor’s per-result price to saved items.

Set maxResults to cap the number of dataset items saved in one run.

FAQ

Rules depend on the source, location, data type, and intended use. Check applicable laws and source terms, and make sure your workflow follows privacy and data protection requirements.

What limits apply?

Submit up to 100 batch entries per run. Use maxResults to cap saved items. Results also depend on source availability and your Scrappa API plan.

Can I start runs through the Apify API?

Yes. Send a POST request to https://api.apify.com/v2/acts/thescrappa~google-flights-date-range-scraper/runs with your Actor input, or use an Apify client library. Read the output from the run dataset.

Can I connect the results to other tools?

Yes. Apify integrations and APIs can pass dataset results to Make, Zapier, n8n, Google Sheets, and other data workflows.

What happens when one input fails?

The Actor logs a short source error and continues with the remaining entries. Transient rate limits and gateway errors are retried; if every entry fails, the run reports an error.

Does the Actor return every date in the selected range?

This version returns the cheapest starting option for the start date. Request the next departure date separately to continue a date-range search.