ITA Matrix & The Truth About Finding Cheap Flights

ITA Matrix & The Truth About Finding Cheap Flights

Lots wonder how popular websites like SecretFlying, Fly4free, TheFlightDeal or even newsletters like ScottCheapFlight find their flight deals and what tools they use.

Wouldn’t it be cool to find cheap flights to your dream destination on your specific vacation dates?

Unfortunately, there is no special magic or algorithm in place that manages to automatically find these deals. In fact, there is a big misconception around fares pricing due to misinformation about how the industry and pricing works. However, it's not impossible to find great prices for your next travel.

Flight pricing


First, understand that the price you pay for a ticket is not a price tag on a seat.

Why is that? Because the prices of flight tickets are determined by a “fare” inside a published “tariff”. The “fare” is not a price tag with a 1:1 relationship with a seat. It is a price associated with a set of rules(or restrictions). The rules always include what route(s) on what airline(s) inside a booking classes (aka fare class or fare buckets), but there are a ton more. (layover limit by airports, number of days before departure, …)

Think of it that way, you want to fly YUL to SYD, there are a lot of possibilities depending on time, airline(s), airport(s), airport taxes, anticipated fuel surcharge(s), layover, layover time, alliance(s), the day of booking etc… Each possibility follows a set of rules and these rules fall under a “fare” price of a booking classes, giving us the “fare” price.

Here is an example of rules for a simple round-trip flight from YMQ (YUL or YMX) to YQB with Air Transat :

Rule for a flight from YMQ to YQB with Air Transat.

This might seem a bit complicated but let me tell you, it is a lot more complicated than that.

Dave Baggett, one of the co-founders of ITA Matrix, posted on Y-Combinator about the complexity of ticket pricing :

[…] the rules that govern the use of fares on a ticket are insanely complicated — literally beyond anything you could possibly imagine a priori.

Sounds nice hein! Fortunately, if you want to learn more, StackExchange user Calchas made a post summarizing the pricing structure of flight.

And let me tell you, airline pricing structure has been questioned for a long time.

By now you should understand a lot more about flight pricing than 10 minutes ago. The question still remains. Why not make an algorithm or script or whatever that find the best fare for my next dream destination? It is simple, you can’t.

Information access

As seen in my post about the airline industry, Airlines are not the one managing the data of “fares” (prices, rules, schedules, routes, …), they only confirm inventory through queries.

Let’s say you want to access the raw data to run your stuff and find a cheap fare. For APTCO you will be looking at $35 000 per month minimum, SITA about the same, OAG around $10 000 or more and IATA will be cheaper but like Ashley Raiteri tell us, we are looking at around $100 000 or more per months.

So yeah, before your friend magic cheap flight facebook page or website start running over a million revenue per year, it is not pumping the information directly from the source. In doubt, ask Everbread.

This leaves us with GDSs, Travel Agencies, and ITA Matrix. Travel Agencies are out of the question.

As for GDSs, if you, by chance, manage to obtain a subscription or access to their API (good luck) you are looking at a fee per query on crappy API with mostly no answer to your questions on their end. Like Dave Baggett wrote, you can only get a small amount of data one query at a time. Since airlines can update their fare on APTCO up to once per hour, there is no way someone can build a script or algorithm to query 24 times a day four GDSs on fares in published tariffs coupled with the willingness of the airline(s) to confirming the inventory. We would be looking at millions in cost per year.

It is also worth nothing to ask ourselves who own the GDS? The airlines. They won’t let anyone find mistakes or deals on their system.

Alright, so how did they find cheap flights then?

What they use is available online tools coupled with their proprietary manual workflow. Scott of even said it himself. He has more than 25 employees now to find deals for their daily newsletter.

Before going further, also understand that most places on the internet where they publish cheap flights are mainly copy/pasting from initial sources. These sources are often TheFlightDeal, ScottsCheapFlight, Fly4Free or SecretFlying. shutdown message

Most of the website/newsletter publishing good flight deal or price mistake use more developed tools like KVS Tools, ExpertFlyer (instruction) or ITA Matrix. The two former are paid tools but the last one is free and meets the needs of most flyers.

Deep knowledge of fare rules X these tools can get you some deal of fares.

UPDATE: if you need proof, ITA Matrix is shutting down QPX public API, this was The Flight Deal comment :

The Flight Deal on ITA Matrix shutting down QPX API

ITA Matrix

ITA Software

What is ITA Matrix? It is one of the oldest flight search engines. In the 1990s, two MIT computer scientists developed a tool (named QPX back then) to find the lowest fares across all airlines. They funded ITA Software Inc. in 1996. In 2006, their airfare search system was used by millions of people daily. How? Two reasons.

1. Caching and algorithms

Query to GDSs can get very expensive. As Edward Hasbrouck’s point out in one post, if you look through the patents of ITA Matrix, you will discover that they developed a novel CRS/GDS crawling system and a caching system. Instead of using a Heuristic approach like everyone else, Carl de Marcken wanted to find all valid solutions to a given airfare query. They were focused on improving flight search to find the best price for a fare. The caching system made it possible for them have the result of the query in a locally resident and already indexed database. The rest is history.

You probably understand by now why ITA Matrix doesn’t have a system for booking, only for searching flight.

2. A new layer between GDSs, OTA and Travel Agency

Optimizing flight search is not enough to stay afloat in the industry. ITA Matrix still had to pay per-query-fees for the data. In fact, ITA Software Inc. was most likely able to “stay on” with the cost of the queries due to the sales volume of their first customers and KAYAK. Ahhh being a first mover.

Google acquired them in 2011 for the tiny amount of $700 million, mainly to power their search engine Google Flight but also to appoint Wertheimer as Google’s vice president of travel.

Does it mean you will most likely find the same flights and fares as Google Flight, Orbitz, Kayak and other? Yes.

Does it mean you will most likely find the same flights and fares as Google Flight, Orbitz, Kayak and other? Yes.

Is it why you find the same price and flight on almost every flight search website? Yep.

So What

Remember how ticket pricing works with rules? Well, ITA Matrix is only a more powerful tool giving you the ability to find more precise flights with advanced routing code and parameters..

And that is how you find hidden flights from other search engines.

Alright, so where to find and learn about these advanced routing codes? ThePointGuy made a great article in 2016 and still accurate to this day. You will have to learn a bit but that is the price to pay to find cheaper or more convenient flights.

If you are a travel junkie that likes to dig big on fares tools, there are some scripts around to increase the functionalities of ITA Matrix.

ITA Matrix search example


Other than playing with fare rules, ITA Matrix is super handy when searching for flights.

You make a rule if you don’t want to go to a certain country, due to visa or other reasons.

You can search by fare classes (bucket) to find flights on classes that give you the most points.

You can access flight by individual flight price or time bar.

Cost-per-miles feature.

You can use / minconnect advance feature to build a stopover or specify a minimum hour layover.

You can have a full month matrix instead of just the 5×5 Google Flights give you.

You can change the currency and sales city. Sometimes some airlines have rules depending on sale city affecting the fare of the flight, you can score lower price playing with it. As for currency, if a currency is a falling at a specific time and you are quicker than the APTCO and GDSs/OTA, you can score a discount.

You can book open-jaw flights or search by alliances and so on. You can look out for numerous guide on the internet, the options are almost limitless with fare rules.  Seriously… a representative at ITA Matrix was on the popular travel forum FlyerTalk to offer support for the tool and a programmer is even still active on the forum to gather information on bugs and solve them.

A Concrete Example

This might seems like a lot of work for little reward. Well yes and no. For example, there are no direct flights from North America to Africa (ok just one from New York to Johannesburg). If you want to pay a reasonable price, you have to except a 30+ hours travel per trip.

On my last trip to Cape Town, I noticed that Qatar was flying from MTL to CPT through their Doha hub for a good price. Since I couldn’t find a flight with a long enough layover in Doha to take advantage of their 1-night offer to visit Doha. I went to ITA matrix, searched for flights, and used the / minconnect to find a return flight with a 12+ hour layover in Doha! As I expected, I couldn’t find this specific flight on any OTA as the flight did not respect all the Qatar Airways rules (for Qatar Airways, it was, in fact, two flights for return). I decided to give a call directly to a small but known OTA in Canada and booked over the phone with the agent. I only had to give him the specific flight codes I saw on ITA Matrix.

That’s it, I received my tickets by email a couple minutes later. That’s one way to use ITA Matrix.

DOHA layover with / mincconect

Mistake airfare

What about price mistake?

Price mistakes are often just fuel dumping, luck or extensive searches. If you want to learn more about fuel dumping, you can start by learning the basics, learning a bit more, learn step by step how to find them, and maybe become a pro helping others.

AIR Canada email to travel agents about Frequent Ticketing Errors


Alright, you found a flight that does not appear on other OTA and you want to book it. You can use a website like or you can just call any travel agencies/OTA, give the Fare Construction and book through them directly.

Fare Construction example

Go Deeper

Ok, if you really, really want to go deeper and really understand fare, rules, and stuff. There is the Rules Coding Resource and Branded Fare of the APTCO, and Air Canada Branded Fare. There is probably more of these documents available online, just have to look out for them.

Myth Debunked

IP, Incognito mode, proxy, and VPN

One of the things we hear the most is that you can change your IP address or use a VPN or incognito mode to have a better price. By now you should be able to understand that it just doesn’t work like that.

Most of the time there is an explanation, like the price was made in cache by the OTA, the fare had a very specific ‘sales city’ rule and you pinpointed it randomly.

As for blog post like this one. They get debunked pretty quickly.

Remember that carriers are by law required to act as “common carriers”. This means they have to display/give the same price to everyone that search for the same rules of the fare. There is no such thing as dynamics (here price different for customer A and customer B) pricing in the airline industry. (yet)

Price Can Fall Just Before the Departure

No, just no. Yield management of airlines does not work like that, sorry.

Hope you have a better understanding of the whole pricing structure of your next flight!

Show Comments