Using ITA Matrix--The Most Sophisticated Airfare Search Tool

From Travel Strategies
Jump to: navigation, search

  Other Advanced Strategies for Finding Cheaper FaresPay Less Money by Booking an Extra Flight You Don’t Need (AKA 'Hidden City Ticketing')


ITA operates one of the major backends that powers many airfare booking sites. Several years ago, they introduced a website called “ITA Matrix”, that provides an unusually high level of control over your airfare searches. In 2011, ITA was bought by Google. Since then, Google has gone on to introduce its own excellent airfare search tool called “Google Flights”. But they also continue to operate ITA Matrix. And it is a good thing that they do.

You can’t use ITA Matrix to book tickets. However, it is still the most powerful consumer-facing tool for conducting airfare searches.

For most searches, we vastly prefer using Google Flights (along with other websites like Momondo). It is lightning fast, well-designed, and continuously improving. It does a great job of letting us explore our options with different dates and airports. However, there are times when it’s helpful to take advantage of the added power that is available through ITA Matrix.

The basics

Before we dive into different strategies for leveraging the unique capabilities of ITA Matrix, it is helpful to point out a few general features.

  • The main feature that distinguishes ITA Matrix from other flight searching tools are “Advanced Codes”.  To use these, you’ll need to press on the “Advanced controls” link in the flight information area. That will open additional boxes where you can enter the codes. There are a wide variety of codes that you can use, and we will discuss many of them below.
  • ITAMatrixRoutingBox.png
  • If you only care about specific airlines, you can get quicker results by narrowing down the airlines as part of the initial search. While you can always filter the results list by airline after the search completes, it is more efficient to tell ITA Matrix not to bother searching for airlines you don't care about in the first place.
  • To search for flights on only a single airline, enter the two-letter code for the airline into the routing code box. If you want to look for multiple airlines, separate them by commas and don’t add any extra spaces. For example, “AA,AS” will find flights on American Airlines or Alaska Airlines.  If want only the fights that are operated directly by the airline, you can add “O:” to the front of the airline code(s). For example “O:AA” will eliminate flights that are marketed, but not operated, by American Airlines.

    If you want to exclude one or more airlines, add a tilde “~” before the airline code. For example, if you don’t want to fly on Spirit, whose two-letter airline code is NK, add “~NK”.

  • If you are searching for availability for a specific fare or the cheapest time to travel, you’re likely to want to use the calendar view. Just enter a starting date and ITA Matrix will search every day for a month. For example, here is a view of when you can book Alaska Airlines’ cheapest economy fares to the New York City area in December.
  • ITAMatrixCalendarDec.png
  • If you are looking to choose the best flight option, you will often want to use the time bar view.  Once you get the flight results, click on “Time bars” in the upper right corner to switch to a visual view of the available flights.
  • ITAMatrixBars.png
  • When you are using a more complex itinerary, the “Extra Stops” option is a convenient way to control the length of your trip. This is a setting which may be unique to ITA Matrix.  Rather than forcing you to specify the exact number of stops, you can choose how many “extra stops” you are willing to make. If the most direct flight is a nonstop, allowing one extra stop will find flights with either zero or a single stop. If the most direct flight normally requires at least one stop, this same setting will find routes with either one or two stops.  

Forcing a connection in a specific city

Sometimes you want to force a connection through a specific city. You may simply want to control which city, of several possibilities, you wind up connecting in, perhaps to avoid potential bad weather or visit a favorite airport restaurant.

Or you may want to force a longer stop, to meet a friend or have a quick trip to a city that you want to visit. In this case, making a long connection MAY be considerably cheaper than booking separate flights to the desired city and then on to your main destination.

To force a connection to a city, enter “abc+ x+”, where abc is the airport code you want to connect through.  For example, “SFO+ x+” will limit the flights to those that connect in San Francisco. If you omit the “+ x+”, and only include the airport code, you’ll exclude any flights that have an additional connection in another city, either before, or after, your desired city.

If you want to make sure to have enough time for a visit, you need to enter “minconnect h:mm” in the extension code box, where hh:mm is the minimum number of hours and minutes you want to stay in the connecting city.

Finding hidden city fares

ITA Matrix is one of the best tools to uncover good “hidden city” ticketing opportunities. With a “hidden city” ticket, you book a flight to your destination that continues onwards to another city, instead of just booking a ticket directly to your destination. Because of the way that airlines try to maximize their revenues, you can pay a lower overall fare by adding an extra flight that you have no plans to take. Pay Less Money by Booking an Extra Flight You Don’t Need (AKA 'Hidden City Ticketing')

The advantage of ITA Matrix is that you can easily set up a single search for flights to many different destinations and then limit those flights to those that stop at your desired city. Simply enter the destination list into the destination box, and add “abc+ x+”, where abc is the 3-digit code for your desired airport, into the routing codes box.


To make this easier, Dan’s Deals has published sets of destination codes that you can copy and paste into ITA Matrix. For example, you can add easily add a list of every airport code in the United States to the destination box.

Placing an upper limit on the length of a trip

As you search for flights to a distant destination, many of the cheapest options involve unacceptably long itineraries. You can restrict the results to more reasonable options, by adding a maximum itinerary length to the search. Add “maxdur hh:mm” to the extension code box. For example, to restrict end-to-end travel times to under 8.5 hours, add “maxdur 8:30”

Checking price and availability for specific fare classes

Sometimes you want to check for pricing on a specific fare class, rather than the cheapest flight available in your desired aircraft cabin. For example, Alaska Airlines allows first class upgrades (using miles) for flights that are booked in certain “upgradable” fare classes, but not for flights booked at their cheapest rates. Most other airfare search tools will only show the lowest available fare, regardless of whether it is in your desired fare class or not.

With ITA Matrix, you can add the fare classes to the routing codes using “F bc=X”, where X is the fare class you want to search for. It you want to search for multiple Fare classes, you can separate them with the “pipe” character, which is the straight up-and-down line “|” on your keyboard. For example, “F bc=X|bc=Y|bc=Z”

For example, here are the lowest upgradable fares for Alaska Airlines, from Seattle to Maui in October (searching for fare class Y, S, B, M, or H) next to the lowest available fares for those dates. You can easily see how much extra you’ll pay for the upgradable seats.

ITAMatrixCalendarOct.png ITAMatrixCalendarOct2.png

Note that whenever you are looking at fare listings in ITA Matrix, they show the corresponding fare class whenever you hover over the flight.


Checking “local prices” for fares

Sometimes airfares are priced cheaper for residents of different countries. See Other Advanced Strategies for Finding Cheaper Fares for more details. ITA Matrix is one of the easiest ways to check for fare differences from different purchasing locations. By default, it shows the fares as if you were buying them in the departure city. You can control this with the “Sales City” box at the bottom of the ITA Matrix search form.

For example, here is the calendar of fares between Bogota and Cali, Columbia, if you were purchasing “from” Bogota.


And here are the same fares when you are buying from Seattle:


Sure enough, here are the listings for the US version of Expedia:


And here are the same flights on LATAM own Columbian-facing site.  132,610 Columbian pesos equaled $45.87.


Viewing base fares and fuel surcharges

When you choose a flight, ITA Matrix shows you a complete breakdown of the charges for the fare. You can see which portion is the “base fare” and which portion is the fuel surcharge. Since many award tickets, and some companion passes, require you to pay any fuel surcharges, this view can help you better evaluate your alternative booking options. For truly advanced and dedicated travelers, who are willing to hunt around for a “fuel dump”, this can also help determine whether that effort is likely to be worthwhile.


Other routing codes

Operating carrier

When you restrict you search to a specific airline, the listings will include both the airline’s own flights and their “codeshare” flights. If you need to limit your flights to only those that are operated by a specific airline, add “O:” before the airport code. For example, “O:AA+,UA+”. Another option is to enter “~codeshares” into the extension code box.


You can tweak the connecting flight options by adding a character to the end of the three-letter airport or city code. Using XXX? will limit your connection to XXX but will also include nonstop flights. XXX+ will include both flights that connect directly in XXX and flights that stop somewhere else.  XXX, YYY will limit the flights to ones that connect in both XXX and YYY.  XXX,YYY will include flights that connect in either XXX or YYY; you need to make sure not to add extra spaces. The letter "X" by itself represents any city.

Specific flights

Adding “F? xx:### F?”code, where xx### is the flight code, to the routing code box will search only for itineraries that include that specific flight.  If you omit the F? before and after the flight code, you’d exclude the possibility of an additional flight before and/or after your desired flight.


If you want to search for only those flights on a specific alliance add “alliance oneworld”, “alliance skyteam”, or “alliance star-alliance”.

Connection Time

You can control connection time with the “minconnect hh:mm”, “maxconnect hh:mm”, and “padconnect hh:mm”. Pad connect adds the number of minutes specified to the airline recommended minimum to determine the minimum acceptable connection.

Flight Attributes

You can weed out potentially problematic flights using the filters at the top of the search list. But you can also get rid of them ahead of time, by adding the right codes. “-overnights, -redeyes, -props”, will get rid of overnight, redeye, and propeller planes.

Send comments or suggestions to or leave a comment below.

blog comments powered by Disqus