Google Flights API

The Google Flights API searches a route for a date and returns each itinerary as a structured row: airline, departure and arrival times and airports, duration, number of stops, the price with a parsed numeric value and currency, and the CO2 estimate Google shows. You give it two IATA codes and a date; it gives you the results grid as data.

Pass a return_date and it prices round trips; omit it and you get one-way. Prices are what Google displays for the country and currency you request, at the moment of the fetch — a flight-price API is only ever a snapshot, and this one is honest about that rather than pretending to hold a live cache. Each run returns up to 30 itineraries over the request tier, no browser.

$0.003 per delivered itinerary, up to 30 itinerarys per run. Nothing delivered means nothing charged.

How the Google Flights API works

You send departure_id and arrival_id as IATA codes, an outbound_date, and optionally a return_date, currency, country/lang and max_results up to 30. The collector reads the Flights results for that route through an in-region exit and flattens each itinerary.

Before you wire it in:

Inputs

departure_id, arrival_id and outbound_date are required — two IATA codes and a YYYY-MM-DD date. return_date switches the search to round trip; omit for one-way. currency and country/lang set the pricing locale and the exit. max_results caps delivery at 30 itineraries.

What one itinerary looks like

Each itinerary is one flat row. airline, departure_time/arrival_time, departure_airport/arrival_airport, duration and stops describe the trip; price/price_value/currency carry the fare in both string and numeric form; emissions is the CO2 estimate as shown. outbound_date and return_date echo what the row was priced for (a null return means one-way).

What the Google Flights API costs

$0.003 per delivered itinerary ($3 per 1,000). Nothing delivered means nothing charged, and the $2 monthly free credit covers roughly 666 itinerarys here. Volume tiers take up to 30% off.

$0.003 per delivered itinerary, $3 per 1,000. A route search returns up to 30 rows, so one lookup is at most about nine cents. Watching a handful of routes several times a day for fare movement is a few dollars a month; you pay per itinerary returned, not per search attempted.

The $2 monthly allowance (no card) covers about 666 delivered itineraries, and volume tiers take up to 30% off. GET /v1/scraper/collectors returns your key's live price.

Google Flights API vs the official one

There is no current official Google Flights API. Google ran QPX Express, a paid flight-pricing API, and shut it down in 2018; since then Google has offered no public endpoint for Flights results. The official routes to fare data are airline and GDS APIs — heavyweight commercial integrations with contracts, certification and their own data models.

This collector reads the Flights results page Google already renders, so one call spans the carriers Google spans, priced in the locale you choose. It returns what the grid shows — itineraries, fares, stops, emissions — not fare rules, seat maps or booking capability, which are the things a real GDS integration exists to provide.

Versus scraping Flights yourself

Google Flights is one of the harder verticals to collect by hand:

To keep your own collector and just run it on reliable in-country exits, that network is our residential proxies.

What people build with it

Fare monitoring and alerts

Re-run a set of routes on a schedule and diff price_value to catch drops. Because each row is priced for a stated currency and date, the comparison is apples to apples.

Travel content and route pages

Populate 'flights from A to B' pages with live-ish itineraries — airline, duration, stops and price — refreshed as often as your budget allows.

Emissions and duration analysis

Use emissions, duration and stops across many routes to compare carriers or build a greener-option feature, without integrating an airline API per carrier.

Limits, freshness and the legal bit

One run returns up to 30 itineraries for one route and date set. Prices are a snapshot at fetch time in the requested currency — there is no live price stream, so freshness is a function of how often you re-run. Fields the grid omits return null rather than guessed, and there is no booking, seat-map or fare-rule data because the results page does not carry it. Runs parallelise up to your plan's rate limit — 60 a minute on pay-as-you-go, up to 1,200 on the top tier.

Legally: Flights results are public and reading public data is broadly lawful, but Google's terms restrict automated access and rules vary by country. Background, not legal advice.

FAQ

Is the Google Flights API free?

$2 of usage a month with no card, which at $0.003 per itinerary is about 666 delivered itineraries. Google's own QPX Express flight API was discontinued in 2018, so there is no current first-party API to offer a free tier.

Do I need a Google API key for flights?

No. Your QuantumProxies API key is the only credential — no Google Cloud project and no airline or GDS contract. You send two IATA codes and a date and get itineraries back.

How fresh are the prices?

They are a snapshot taken at the moment of the fetch, in the currency and country you requested. There is no live price feed behind the collector; you refresh by re-running the route, which is why fare-monitoring jobs poll on a schedule.

One-way or round trip?

Both. Include a return_date and the itinerary is priced as a round trip; leave it out and you get one-way results. Each row echoes outbound_date and return_date so a mixed table stays unambiguous.

Related scrapers