David Spinks / Flickr

The ITA Matrix Commands You Probably Don’t Know

Because this is a good of example of not using Kayak for all your flight search needs.

Kayak is not a terrible option all things considered but for real control over all the flight-searching processes possible, there’s nothing better than ITA Matrix. Now, I’m pretty good at putting together an open-jaw flight or using it to quote me a cheaper currency but user SeattleFred at FlyerTalk has got me beat hands down. Guys, this is a list that will shame most travel hackers.

It has everything from specifying airlines (or alliances) to setting both a minimum and a maximum connection time before even most people hit the search button, eliminating the need to filter through results. Most frequent flyers will find it particularly useful to filter out things like small planes, exclude codeshares or to even add a long layover. More occasional flyers can use it to eliminate red-flights and any flights that require an overnight stop.

In fact, it’s so detailed that even a ITA Matrix rep chimed in and added a couple of tricks to the full repertoire.

Please note: Putting together this reference sheet couldn’t be possible without all the help of the great FlyerTalk users out there! I’ve elaborated a bit and color-coded things to make it easier to understand. For a more comprehensive list, please check the original thread.

Jump to a specific section:

A brief note on formatting

There are a couple of things to keep in mind for the code to work. Airport and airline codes must be an IATA code for the syystem to recognize it; keep these reference links handy in an open tab if you’re not sure.

The format generally is the airport IATA code with a ::/ appended to signify a filter. Most codes start with a dash (-) with the exception of a few commands. In order for the command to work, it must be put in both the “to” and “from” field.

Here’s a quick example of the format most commands use and how they look typed into Google ITA Matrix.

format XXX ::/ command XX
legend airport-code ::/ command specifier
Both fields need the code.
  • Save

Both fields need the code.

If you’re using the website, don’t be surprised to see the code automatically expand like this:

Don't freak out!
  • Save

Don’t freak out!

No more red-eye flights and propeller planes, please

Finally, a way to filter those crazy search results before you even get to the results page. There is a chart of commands below that can be used to exclude certain criteria including red-eye flights, helicopters and even codeshares. More than one exclusion can be added by adding a comma and a space. (Note: This doesn’t work in the reverse, so you can’t choose to search for first-class flights only. That’s a problem I wish I had.)

CommandWhat it excludes
-nofirstclassExclude flights that do not have a first-class cabin. (Basically, all flights for the city pair must have a first-class cabin).
-codeshareNo codeshares.
-overnightNo overnight stops.
-changeNo airport changes.
-redeyeNo red-eye flights.
-propNo propeller planes.
-trainNo trains.
-surfaceNo surface transportation.
-helicopterNo helicopter.
format XXX ::/ exclusion
legend airport-code ::/ exclusion

example BOS ::/ -overnight, -change, -redeye, -prop

The example says to consider Boston flights and to exclude overnight stops, red-eye flights or any connections. Yass.

Got a minimum and maximum connection time in mind?

There’s a way to do this too in case you want to grab a few extra hours finding BBQ in Dallas on the way over to New York. This can be specified with the minconnect and maxconnect code.

format XXX ::/ t 00
legend airport-code ::/ minconnect min

example LAX ::/ minconnect 60, maxconnect 120

The example says to make sure the connection is between 60 to 120 minutes. 

Make sure you don’t miss a connection

By definition, most airlines can’t sell a layover than that’s shorter than the minimum connecting time (MCT). Philippine Airlines has a good definition of what this is: “The minimum Connecting time is the amount of transfer time, agreed in advance between airlines and airport authorities, that is considered sufficient for a passenger to make a connection between an arriving flight and a departing flight.” Basically, the airlines basically have to make sure passengers aren’t SOLTK.

In case, you’re feeling worried and want to add a couple of extra minutes to MCT—cause, really, no one knows this stuff off the top of their head—there’s an easy way to do this through the padconnect command.

format XXX ::/ padconnect 00
legend airport-code ::/ padconnect min

example BOS ::/ padconnect 20

The example says that 20 minutes is added to pad the minimum connecting time.

Loyal to an airline or an alliance?

Limiting everything to a specific airline.
  • Save

Limiting everything to a specific airline.

Finally, the one thing I’ve been looking for. Sometimes it pays to go with the cheapest bidder but every flight is an opportunity to score some miles with whatever frequent flyer programTK and is also another opportunity to gain statusTK.

Most frequent flyer programs don’t require passengers to fly on a specific airline to gain miles, just that it’s in the same alliance as the frequent flyer program. To specify one just use the alliance command. Acceptable criteria include star-alliance, oneworld and skyteam.

format XXX ::/ alliance XX
legend airport-code ::/ alliance specific-alliance

example LAX ::/ alliance star-alliance

The example says to consider Los Angeles flights on Star Alliance flights only.

To look for a specific airline (or airlines) just use the airlines XX code.

format XXX ::/ airlines XX
legend airport-code ::/ airlines airline-code

example BOS ::/ airlines AA DL

The example says to consider Boston flights on American Airlines and Delta Airlines only.

Or exclude the bad airlines…

Like Spirit. The formatting is very similar to to format above, except a - is appended to the front of the airlines command.

format XXX ::/ -airlines XX
legend airport-code ::/ -airlines airline-code

example BOS ::/ -airlines AA DL

The example says to exclude Boston flights on American Airlines and Delta Airlines.

The cheatsheet in one easy place

Basically, a quick summary below.

CommandWhat it does
minconnectSets minimum connecting time in minutes.
maxconnectSets maximum connecting time in minutes.
padconnectSets extra minutes on top of the minimum connecting time.
allianceSets alliance. Acceptable terms are star-alliance, oneworld and skyteam.
airlinesSpecifies airlines to search for.
-airlinesExcludes airlines in search.

Putting a bunch of things together

It’s not hard to but a punch of things. Just make sure to string and separate them with commas.

BOS :: UA UA / f bc=l|bc=y, -redeye, -prop


The ITA Matrix Commands You Probably Don’t Know via @maphappy
  • Save


Did you like this article? 1 Save this article    Print Friendly, PDF & Email   
Copy link