Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in
All collectors

Google Flights API

Travel · v1.1.0 · google_flights

$0.003 / itinerary

$2.40 / 1K · pay per delivered itinerary

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

What it does

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.

Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

InputTypeRequiredWhat it does
departure_idstringyesDeparture airport/city IATA code, e.g. JFK.
arrival_idstringyesArrival airport/city IATA code, e.g. LAX.
outbound_datestringyesDeparture date YYYY-MM-DD.
return_datestringnoReturn date YYYY-MM-DD — omit for one-way.
currencystringno3-letter price currency (USD, EUR…). Default USD.
countrystringnoISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool.
langstringnoInterface language (hl), e.g. en, it, de.
max_resultsintegernoHow many itineraries to deliver at most (1–30). You pay only for delivered itineraries.

Outputs — 20 fields, one row per itinerary

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.

FieldTypeWhat it holds
rankinteger1-based position.
airlinestring · nullableOperating airline(s).
departure_timestring · nullableDeparture time as shown.
arrival_timestring · nullableArrival time as shown.
durationstring · nullableTotal duration ("5 hr 53 min").
stopsstring · nullable"Nonstop", "1 stop"…
pricestring · nullablePrice as shown.
price_valuenumber · nullableParsed numeric price.
currencystring · nullableISO currency code of the price.
departure_airportstring · nullableDeparture airport code.
arrival_airportstring · nullableArrival airport code.
emissionsstring · nullableCO2 estimate as shown.
outbound_datestringRequested outbound date.
return_datestring · nullableRequested return date (null = one-way).
departure_idstringDeparture IATA code as requested.
arrival_idstringArrival IATA code as requested.
duration_minutesinteger · nullableTotal duration in minutes.
stops_countinteger · nullableNumber of stops (0 = nonstop).
emissions_kgnumber · nullableCO2 estimate in kg.
trip_typestringone_way or round_trip.

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/scraper/collectors/google_flights/run.

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-11-03","return_date":"2026-11-10","currency":"USD","max_results":15}'

Example response

POST /v1/scraper/collectors/google_flights/run
$ curl $QD/google_flights/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"departure_id": "JFK", "arrival_id": "LAX", "outbound_date": "2026-11-03", "return_date": "2026-11-10", "currency": "USD", "max_results": 15}'
{ "status": "done", "count": 15,
  "results": [
    {
      "airline": "…",
      "departure_time": "…",
      "arrival_time": "…",
      "duration": "…" } ],
  "cost": 0.045 }
# 15 itineraries × $0.003 · nothing delivered, nothing charged

Try it

Google Flights, running now

Change the input and run it against the live collector — nothing to install, no sign-up.

Run it from your own code, on your own inputs

Same collector, same rows — $2 of free API credit every month, no card.

Get my free API key
Google Flights API: from departure_id, arrival_id and outbound_date, QuanticData reads the flight results and returns one row per itinerary with airline, departure_time and arrival_time, at $0.003 per delivered itinerary.
You send departure_id and arrival_id; the run goes out through a residential exit and comes back as itineraries with rank, airline and departure_time — 20 fields on every row — and you are billed $0.003 for each itinerary actually delivered, nothing for a run that delivers none.
$0.003 / itinerary666 itineraries on the free $2 every month
Semantic inputdeparture_id, arrival_id, outbound_date — no URL lists
Up to 30itineraries per run, pagination handled for you

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 itineraries before you spend anything.

$0.003per delivered itinerary$2.4 per 1,000 delivered itineraries
666 itinerarieson the free allowance$2 every month, no card
Zero rowszero chargeblocks, captchas and retries are on us
−30%on volume tiersthe catalog returns your key's price

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.

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 scraperThis collector
CoverageOne airline feed, or a GDS contractWhatever Google aggregates for the route
PriceA string to cleanThe string plus a parsed value and currency
ScopeLive aircraft trackingBookable itineraries and prices for a date

What people search for

Live autocomplete demand around Google Flights, pulled with our own Keyword ideas collector.

Google Flights API: the POST to the google_flights collector, 15 itineraries delivered and the bill, 15 × $0.003 = $0.045 in usage.cost_usd; zero itineraries would cost $0.
The same call you would paste into a terminal: a Bearer key, departure_id, arrival_id and outbound_date in the body, and back the envelope every QuanticData endpoint returns — type, message, payload — where count is how many itineraries arrived and usage.cost_usd is $0.045, which is 15 × $0.003. A run that delivers nothing costs nothing. The key is good for 60 req/min on the free tier.

Sources and standards

The platform documentation and standards this collector is built against — check any claim on this page against the primary source:

FAQ

Questions we get about the Google Flights API.

Something else? Ask us

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 itineraries 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 itineraries — 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.

Run in dashboard
Illustration: three coloured zones of the page that is read (Flight results) turn into clean JSON with the fields airline, departure_time and arrival_time; 20 fields on every row.