Export structured flight data for your research.
Google Flights Scraper
Collect visible Google Flights itineraries and fares for a route and travel date.
$0.2 / 1,000 results
Illustrative output format
originorigin | destinationdestination | departureDatedepartureDate | priceprice | currencycurrency | totalDurationMinutestotalDurationMinutes | airlineairline | departAtdepartAt |
|---|---|---|---|---|---|---|---|
| JFK | LHR | 2026-11-20 | 422 | USD | 430 | Virgin Atlantic | 2026-11-20T08:00 |
About these output fields
| Field | Type | Description |
|---|---|---|
origin | string | Origin. Optional when absent at the source. |
destination | string | Destination. Optional when absent at the source. |
departureDate | string | Departure date. Optional when absent at the source. |
price | number | Price. Optional when absent at the source. |
currency | string | Currency. Optional when absent at the source. |
totalDurationMinutes | number | Total duration minutes. Optional when absent at the source. |
airline | string | Airline. Optional when absent at the source. |
departAt | string | Depart at. Optional when absent at the source. |
arriveAt | string | Arrive at. Optional when absent at the source. |
googleFlightsUrl | string | Google flights url. Optional when absent at the source. |
What you can do
Compare saved results in your own reports or applications.
Set your sources
Open the scraper and enter your own URLs, search terms and limits.
Review & run
Check the cost estimate and confirm the task. Follow its progress in your account.
Use your data
Explore saved results and export CSV, JSON or XLSX. Downloads of saved results are free.
Example input
This is the configured parser input. Replace the example sources with your own and review all limits before running.
{
"origin": "JFK",
"destination": "LHR",
"departureDate": "2026-11-20",
"adults": 1,
"cabinClass": "economy",
"currency": "USD",
"maxResults": 12
}Explore input fields
| Field | Type | Notes |
|---|---|---|
origin | string | Departure airport or city IATA code, for example JFK or NYC. |
destination | string | Arrival airport or city IATA code, for example LHR or LON. |
departureDate | string | Outbound flight date. Must be today or later. |
returnDate | string | Return flight date for a round trip. Leave empty for a one-way search. |
adults | integer | Number of adult passengers (age 12 and over). |
children | integer | Number of child passengers (age 2–11). |
infantsInSeat | integer | Infants under 2 with their own seat. |
infantsOnLap | integer | Infants under 2 travelling on an adult's lap. |
cabinClass | string | Travel class to search. |
maxStops | string | Only flights with at most this many stops. |
currency | string | Currency code for prices, for example USD, EUR or GBP. |
market | string | Two-letter country code of the Google Flights market, for example US. Prices and availability can differ by market. |
maxResults | integer | Maximum number of flight options to return. |
sortBy | string | Order of the returned flights. |
airlines | array | Only flights operated by these airlines, as two-letter codes, one per line, for example BA or DL. |
excludeAirlines | array | Skip flights operated by these airlines, as two-letter codes, one per line. |
maxPrice | integer | Only flights at or below this total price, in the selected currency. |
maxDurationMinutes | integer | Only flights with a total travel time up to this many minutes, including layovers. |
departureTimeFrom | string | Earliest departure time, 24-hour HH:MM, for example 06:00. |
departureTimeTo | string | Latest departure time, 24-hour HH:MM, for example 12:00. |
arrivalTimeFrom | string | Earliest arrival time, 24-hour HH:MM. |
arrivalTimeTo | string | Latest arrival time, 24-hour HH:MM. |
language | string | Language code for airline and airport names, for example en or de. |
Run through the API
Create an API key in your account, send the input to the queued endpoint and use the returned task ID to retrieve results. Sending a live request uses credits. Replace the example Idempotency-Key with a fresh unique key for each task; keep that key when retrying the same task.
curl --request POST 'https://extracto.cloud/api/v1/parsers/google-flights-scraper/queue' \
--header 'X-API-KEY: ext_your_api_key' \
--header 'Idempotency-Key: replace_with_a_new_unique_task_key' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-binary @- <<'JSON'
{
"input": {
"origin": "JFK",
"destination": "LHR",
"departureDate": "2026-11-20",
"adults": 1,
"cabinClass": "economy",
"currency": "USD",
"maxResults": 12
}
}
JSON- Best fit
- Starter
- rows / mo
- 245K
- Concurrency
- Up to 2
- $ / 1k rows
- $0.20
Use monthly volume to plan your credit budget. Estimates use the base rate; package credit price, options, task minimums and rounding may change usage. Purchased credits are paid once, with no automatic renewal. Execution capacity is shared. API submissions: up to 10/second.
Frequently asked questions
What counts as one result?
One flight. Searches one route per task. Fares are time-sensitive, may be missing, and are not booking offers. Calendar sweeps, return-flight resolution and booking-page crawling are excluded.
Can I use the API and No-Code form?
Yes. Submit a task in the web interface or through the Extracto API, then retrieve its saved results after completion.
Your next dataset starts here.
Choose your sources, review the price and run Google Flights Scraper.