LOGIN

How to Use ITA Matrix: The Most Powerful Airfare Search Tool

There are many ways to search for flights: airline websites, online travel agencies (OTAs), search aggregators like Kayak, and even visiting a human travel agent. However, many of these tools are trying to sell you something — a ticket for your next business trip or vacation — and may not always provide the most useful information.

It’s not that these companies are out to get you. There’s just an important difference between buying a ticket and searching for a ticket. ITA Matrix, a search tool purchased by Google several years ago, is designed exclusively for searching. You can’t buy a ticket from them, although many websites do use the same technology to operate their own booking tools. Google bought the company in part to develop Google Flights, another great tool.

In the first installment of this three-part review, I’ll show you why ITA Matrix is so important and how to perform basic search queries. In the second installment, I’ll cover some of the unique advanced routing language that ITA Matrix uses to make searching for airfare more powerful than anywhere else. Finally, the third installment will discuss how to use ITA to perform a few tricks like hidden city ticketing as well as other tips for saving money on airfare.

Why Use ITA Matrix?

ITA Matrix – often called “ITA” for short — is useful because it provides incredible control over the parameters of your search. You can look for specific flight numbers, limit connections, and compare multiple airlines at once (or exclude them). These are things you can do on other sites, but ITA does them better and does them all.

Finally, ITA provides more detailed information on fares than you’ll get from your average website. Did you know that the number of seats available on a flight and the price you pay are actually two separate things? Even the price is broken down into multiple components. You can dive deep into these details — or ignore them — using ITA Matrix.

How to Filter Search Results

Advanced routing language is key to making the most of ITA Matrix. However, it is a very complex topic, which is why we devote a separate post to explaining it. I’ll use a few examples in this introduction to get you started.

First, it helps to be familiar with airline and airport codes. Every airline is represented by a two-character IATA code. For example, United Airlines is “UA” and American Airlines is “AA.” These aren’t always abbreviations; JetBlue Airways is “B6.” Similarly, every airport has a three-letter IATA code. San Francisco is “SFO” and Dallas-Fort Worth is “DFW.” Sometimes several airports in a metropolitan area can be referenced at once using a city code, like “NYC.” If you’re ever unsure what the correct code is, a quick Google search can usually reveal the answer.

Second, remember that all advanced routing language is optional. In its absence ITA will just search all possible options. When you do use advanced routing language you add restrictions.

To search for a specific airline, enter that airline’s code.

Example 1: AA (one flight marketed by AA)

To search for one or more flights on a specific airline, enter that airline’s code multiple times for each flight, or use the plus symbol to specify no exact number.

Example 2: AA AA AA (three flights marketed by AA)
Example 3: AA+ (one or more flights marketed by AA)

To search for a specific connecting airport, enter that airport’s code. You can use this with or without an airline code.

Example 4: AA DFW AA (two flights marketed by AA, with a connection in DFW)
Example 5: DFW (a connection in DFW at some point in the journey)

If interested in more than one airline or airport, you can list multiple options separated by a comma.

Example 6: AA,AS (one flight operated by AA or AS)
Example 7: DFW,ORD (a connection in either DFW or ORD)

Step-by-Step Example of Using ITA Matrix

Define the Query

You’ll always want to enter your origin and destination airports. In addition, add some advanced routing language if you think it will be useful. Either click on the link to add the advanced routing language underneath the airport or add it after in the same line separated with two colons. (Don’t worry if ITA Matrix fills in the full name of an airport after you enter the three-letter code.)

In the example below, I’m searching for a round-trip flight from Chicago-O’Hare to Maui. Both formats for entering advanced routing language are shown, indicating a connection in Seattle or Portland on the outbound and a connection in San Francisco or Los Angeles on the return. No airline is specified.

After that you can choose your dates, number of passengers, and preferred cabin. If you’re flexible, you can tell ITA Matrix to search on the exact date or up to +/- 3 days. In this example I’ll choose +/- 1 day so that travel is still on the weekends.

Most of these other settings don’t need to be changed. It’s unusual to find discounted fares for children or seniors, and advanced routing language is a more convenient way to limit the number of stops than using the drop-down menu.

Do make sure that the box is checked to only search flights and prices with available seats (ITA Matrix is capable of searching for hypothetical fares even if the flight is sold out). You can also change the currency or sales city if you’re purchasing an international ticket. Sometimes a ticket will have a different price when purchased in other countries.

Viewing and Selecting Results

The search results are displayed in three formats: Complete Itinerary, Individual Flights, and Time Bars. The first two are probably formats with which you are familiar. They require you to sort through lists of fares and find the times and dates that work for you.

Time Bars is a less common format but could be more helpful. It represents each airline as a different color and uses a visual representation to show the time, duration, and connections for each itinerary. You sort the list by arrival or departure time, limit connections, and even hover over each bar to learn more about that flight.

Select each leg of the journey one at a time. The prices listed are always the lowest possible price including that option, which means other selections made later might raise the price — but at least one option will still be available at the price you saw previously. Orange text indicates the cheapest option on the page.

If you wish, you can work backwards by selecting the return journey from the top of the page to view those results first.

One of the best options here seems to be a Saturday morning itinerary with flights on Alaska Airlines and Hawaiian Airlines. It’s not the cheapest option, but it is just $111 more, has a short connection, and doesn’t require taking time off work on Friday. After selecting this option I get a list of return flights.


On the first page I was promised a fare of $1,113 — and there are several return options that are still available at that price. Others may be more expensive. The bets option is probably to return on Friday. It’s not only cheaper but also means that I’ll be able to return home that weekend. Many of the more expensive flights are Sunday night redeyes. I’ll select the first option from the list, which minimizes the connection time in San Francisco.

Reading the Itinerary

After selecting the flights there will be a summary of the itinerary. This includes detailed information on the airline, flight numbers, aircraft type, and the booking class.

Below the itinerary is a blue box with a breakdown of the fare, including the base fare and any associated taxes and fees. This can be helpful to estimate the fees for the same itinerary when booked as an award ticket, or to calculate the number of frequent flyer miles you’ll earn on the base fare. There are also some tricks, like fuel dumping, that rely on this information.

Notice that this itinerary is actually a mix of four different fares. You can still buy them together on a single ticket. Sometimes mixing fares is cheaper, and sometimes one fare that covers the entire journey is cheaper. It’s difficult to predict.

The bigger issue is that there are three airlines in this itinerary, and airline websites like to promote their own fares. Travel agents (online and in person) sometimes do a better job helping you book tickets that have flights operated by several different carriers.

Use Flexible Dates for Lower Fares

It’s possible that I could book a lower fare if I removed some of the advanced routing language. Forcing my connections in certain cities eliminated some options. Another good way to find cheap fares is to be very flexible with dates. How flexible? You can tell ITA Matrix to search an entire month at once. Just choose the earliest possible departure and how long you want to be away. Enter a range of dates if you’re not sure. For a week-long trip you might search 5-6 nights. For a weekend you might search 2-3 nights.

I’ll try a new search, this time being more flexible with my itinerary and dates.


Search results for flexible dates begin with a calendar view. The cheapest fares are in orange. Hover over the departure date to see how prices change with the length of stay. After making a choice, you’ll see more detailed information about each flight as in the first example.

ITA Matrix can’t book tickets, but it is very good at finding the best options. Just know that you should be able to book the same itinerary for the same price on another website. You can try to reconstruct the results by going to the airline’s website directly, use an online travel agency, or by taking a screenshot to share with a human travel agent. Hipmunk is a particularly helpful online travel agency since it can understand some (not all) of ITA’s advanced routing language, enabling you to enter exact flight numbers if other options aren’t working.