Google Flights API
A Google Flights API that returns itineraries for a route as rows. Give it two IATA codes and a date — a return date for round trips, none for one-way — and each option comes back with airline, times, stops, duration, the price with a parsed value and currency, and the CO2 estimate Google shows. Billed per itinerary delivered.
$0.003 per delivered itinerary · $2 free every month · Failed runs never billed
$ curl $QD/google_flights/run \
-H "Authorization: Bearer $QD_API_KEY" \
-d '{"departure_id": "JFK", "arrival_id": "LAX", "outbound_date": "2026-09-23", "return_date": "2026-09-30", "currency": "USD", "max_results": 15}'
{ "status": "done", "count": 15,
"results": [
{
"airline": "…",
"departure_time": "…",
"arrival_time": "…",
"duration": "…" } ],
"cost": 0.045 }
# 15 itinerarys × $0.003 · nothing delivered, nothing charged
What a Google Flights API does
Google Flights aggregates fares and schedules that no single airline feed carries, then ranks them; this collector reads that ranked view for the exact route and date you ask for. Each row is one option, with the price already parsed into a number and a currency next to the string Google displayed, so you can sort and compare without cleaning text.
Two cautions. It is a rendered surface, so doing it yourself means driving a browser through Google's defences — the collector runs that ladder service-side. And this is flight search, not flight tracking: it returns bookable itineraries and prices for a future date, not the live position or status of an aircraft in the air. You must send valid IATA codes and a YYYY-MM-DD date, and the price reflects the country and currency you request at fetch time.
What one itinerary looks like
Every delivered itinerary carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.
| Field | Type | What it holds |
|---|---|---|
rank | integer | 1-based position. |
airline | string · nullable | Operating airline(s). |
departure_time | string · nullable | Departure time as shown. |
arrival_time | string · nullable | Arrival time as shown. |
duration | string · nullable | Total duration ("5 hr 53 min"). |
stops | string · nullable | "Nonstop", "1 stop"… |
price | string · nullable | Price as shown. |
price_value | number · nullable | Parsed numeric price. |
currency | string · nullable | Price currency. |
departure_airport | string · nullable | Departure airport code. |
arrival_airport | string · nullable | Arrival airport code. |
emissions | string · nullable | CO2 estimate as shown. |
outbound_date | string | Requested outbound date. |
return_date | string · nullable | Requested return date (null = one-way). |
Inputs
The whole request. Anything you leave out falls back to the default shown in the catalog.
| Input | Type | Required | What it does |
|---|---|---|---|
departure_id | string | yes | Departure airport/city IATA code, e.g. JFK. |
arrival_id | string | yes | Arrival airport/city IATA code, e.g. LAX. |
outbound_date | string | yes | Departure date YYYY-MM-DD. |
return_date | string | no | Return date YYYY-MM-DD — omit for one-way. |
currency | string | no | 3-letter price currency (USD, EUR…). |
country | string | no | ISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool. |
lang | string | no | Interface language (hl), e.g. en, it, de. |
max_results | integer | no | How many itineraries to deliver at most (1–30). You pay only for delivered itineraries. |
Pricing
Google Flights API pricing
$0.003 per delivered itinerary. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 666 itinerarys before you spend anything.
Pay as you go
- $2 free credit / month
- 60 requests / min
- List unit prices
Starter
- $15 free credit / month
- 300 requests / min
- 10% off unit prices
Growth
- $50 free credit / month
- 600 requests / min
- 20% off unit prices
Scale
- $250 free credit / month
- 1,200 requests / min
- 30% off unit prices
Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.
Integration
One POST, typed rows
Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/.
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/google_flights/run \
-H "Authorization: Bearer $QD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"departure_id":"JFK","arrival_id":"LAX","outbound_date":"2026-09-23","return_date":"2026-09-30","currency":"USD","max_results":15}'
What people build with the Google Flights API
Three shapes of work this endpoint was designed around.
Fare monitoring
Re-run a route and date on a schedule and store the parsed price value to chart how a fare moves before departure.
Travel meta-search
Show a ranked option list on your own page without integrating a GDS or a dozen airline APIs.
Route and emissions research
Collect stops, duration and the CO2 estimate across routes to compare options on more than price.
Google Flights API versus rolling your own
The differences that actually cost time when you build this in-house.
| DIY scraper | This collector | |
|---|---|---|
| Coverage | One airline feed, or a GDS contract | Whatever Google aggregates for the route |
| Price | A string to clean | The string plus a parsed value and currency |
| Scope | Live aircraft tracking | Bookable itineraries and prices for a date |
Is there an official Google Flights API?
No public one for fare search — Google offers that access only to partners. This collector reads the Google Flights vertical directly and returns the itineraries as rows, so you query a route and date without a partner contract or a key of your own.
What do I have to send?
A departure and an arrival airport as three-letter IATA codes and an outbound date in YYYY-MM-DD. Add a return date for a round trip, or leave it off for one-way; currency and country control how the price is shown.
Is this live flight tracking?
No. It returns search itineraries and prices for a future date — airline, times, stops, fare — not the real-time position or status of a flight already in the air. Those are separate products.
Are the prices exact?
They are what Google shows for the requested country and currency at fetch time, returned both as the displayed string and a parsed value. Fares move, so a price is a snapshot of that query, not a quote you can hold.
Is there a free Google Flights API?
Every account gets $2 of credit every month with no card, which is about 666 delivered itinerarys on this endpoint at $0.003 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.
How much does one run cost?
Multiply the rows you actually receive by $0.003. A run capped at 30 itinerarys — the maximum for this collector — costs $0.09 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.
Run the Google Flights API now
$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.