Dev.to WebDev 🛠 Dev 👁 0 📖 4 min read

Google Flights API: There Isn't an Official One (2026)

A Google Flights API is what people type when they want Google’s fares in JSON. There is no official public one. Google shut QPX Express on 10 April 2018. What ranks for that query now is extraction. This post covers wh

A Google Flights API is what people type when they want Google’s fares in JSON. There is no official public one. Google shut QPX Express on 10 April 2018. What ranks for that query now is extraction.

This post covers what happened to the official API, what the tools ranking for that query actually do, and what a real flight search API contract looks like. No invented Google-style fares.

Key Takeaways

  • TechCrunch, 1 November 2017: QPX Express ends 10 April 2018. Google cited low partner interest.
  • Wrappers that “are” a Google Flights API in 2026 read a UI. They are not a feed you own.
  • Search is comparison. It is not a ticket.

Did Google ever ship a Google Flights API?

Yes. Then it killed the public one.

On 1 November 2017, TechCrunch reported Google would shut QPX Express on 10 April 2018. The API was the public airfare feed that followed Google’s ITA Software acquisition. A spokesperson said they would no longer support it given low interest among travel partners, and would focus on other enterprise solutions.

The same article: until shutdown, existing users paid $0.02 per query after 50 free daily queries (down from $0.035). New users were not taken on. QPX Enterprise, a separate paid product, was confirmed to continue.

The Verge quoted the developer FAQ: if you were actively using QPX Express, find an alternate solution before 11 April 2018.

The 2026 SERP for google flights api is a graveyard with new paint. Tutorials still show developers.google.com/qpx-express. That path is the shutdown notice, not a getting-started guide. Ranking a scrape as if it replaced QPX is how a legal and ops problem becomes your on-call.

In short: there has been no official public Google Flights API since 10 April 2018. Products sold under that name extract data from Google Flights.

What are you actually buying in that SERP?

Three different products answer the query "Google Flights API":

  • Official feed (dead): QPX Express. Public. Gone 10 April 2018.
  • Enterprise ITA / QPX: paid, account-managed. Not a self-serve Google Flights key.
  • UI extract: SERP-style or browser automation against Google Flights. Not your API.

Only the first was a public Google Flights API, and it is gone.

A flight search API is origin, destination, dates in, comparable fares out. Fare search, order creation and Google Flights extraction are three different jobs. Extraction is the third one. Do not wire it into checkout and call it Google.

Partner-gated search that is still a real API looks like Skyscanner Live Prices (create-and-poll after Partnerships) or Kiwi’s Tequila search, which is their stack, not Google’s.

Disclosure: I work on Ktemia, which is none of those three. It searches and compares fares from airlines and booking sites through its own API. It doesn't scrape Google Flights and doesn't resell QPX.

Why a scrape is not a search contract

You do not send origin, destination, and departureDate to a stable, documented host. You send a browser or a SERP parser at a page Google can change on a Tuesday.

When the layout moves, your types break. When the ToS is enforced, your key dies. When the results are personalised, two servers disagree. That is not “the Google Flights API.” That is someone else’s UI with extra steps.

Teams search google flights api because they trust the brand on the consumer site. The consumer site is not an SLA for your app. QPX Express was the closest thing to that SLA in public. It has been off for eight years.

If you want to see what a real, dated response looks like, there's one in this flight search API write-up.

What a flight search contract looks like

A documented search API with a key you own. The filters you would read off a Google Flights page - nonstop only, these airlines, this cabin - are fields in the request, not a scrape of the results:

curl https://api.ktemia.com/flights/search \
  -H "X-API-Key: $KTEMIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "origin": "SFO",
    "destination": "NRT",
    "departureDate": "2027-04-08",
    "cabin": "premiumEconomy",
    "maxStops": 0,
    "airlines": ["NH", "JL", "UA"]
  }'

The response is a searchToken. GET /flights/results reads the itineraries, and GET /flights/details returns each seller’s booking URL. Every field and allowed value is on search flights. If origin, destination, or departureDate is missing, the API answers 400 MISSING_FIELD instead of guessing a city because the user said “weekend in Europe.”

The free tier is 100 requests a month, not unlimited Google. Whatever you use, keep the API key on your server, never in frontend JavaScript.

A search is a comparison, not a reservation: a successful search is still not a ticket, and the traveller books on the seller's site.

If you were planning on Amadeus self-service instead, that door closed on 17 July 2026; here's a comparison of Amadeus API vs Skyscanner API for what's still open. If you need a GDS that actually books, that's a different product: see GDS vs booking engine vs a search API.

Stop searching for a key Google retired

A Google Flights API, in the public sense, ended in 2018. The name stuck. The feed did not. Do not build on a scrape and call it official.

For the alternatives that do publish a key, see which travel APIs you can actually get access to. And if you want the numbers behind why one source is never enough, this flight price comparison data covers 18,299 fare observations.

What are you using for flight data today? I'm curious what's working for people after QPX and Amadeus self-service.

Originally published on the Ktemia blog. Ktemia is a travel search API for flights, hotels, and car rentals. The Free plan includes 100 requests a month.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.