Planning a trip? Searching for flights is naturally the first step. The goal of this article is to explain how to efficiently search for and buy cheap domestic flights within the U.S. and Canada. For long-haul intercontinental tickets, such as flights back to your home country or to Europe, the search process is quite different, so the methods below may not get you the best fare.
Contents [Hide]
What Is ITA Matrix?
ITA Matrix (usually just called ITA) is my favorite flight search engine, and it has been acquired by Google. Its strengths are a clean interface, no ads, very clear results, and advanced search features that many other flight search engines do not offer. These features can greatly improve your flight-searching efficiency. Below, I’ll walk through how to use ITA step by step to find the flights you want. Here is the link to ITA Matrix:
ITA gets its data from major GDS systems (Global Distribution System). In North America, prices are generally the same as what you would find directly with the airlines or with online travel agencies (Priceline, Expedia, etc.).
ITA: Basic Search Features
Open https://matrix.itasoftware.com/, and you’ll see a clean interface with no ads. At first glance, it does not look all that different from other flight search sites. Let’s start with a round-trip example from Los Angeles to Chicago. One-way and Multi-city searches are very similar. First, enter your origin and destination:
See the Nearby option next to the airport name? Click Nearby and it will include nearby airports in the search as well.
Alternatively, you can directly enter multiple airport codes separated by commas in the Departing From and Destination fields, such as “LAX, LGB, BUR.” The date and time options below are also very straightforward. For round trips, you can separately choose your preferred departure and arrival time windows for each direction. I find this feature extremely useful. On some other search engines it is hard to find (such as Kayak), and some do not offer it at all. Here, since I want to search for a weekend trip, I choose to leave Friday evening and return Sunday evening.
At the bottom, there are several options for cabin, number of passengers, and limits on the number of stops. Extra stops means the maximum number of additional stops you are willing to accept beyond the minimum possible for that route. For example, if a route requires at least one stop, then selecting Up to 1 extra stop will show all itineraries with one or two stops. Since I care more about saving money, I choose No limit and then click the Search button.
Once it finishes loading, the results appear:
This is the result view I see. If your display looks different, that is because you can choose the result display format above the results page: Time bar is my favorite view because it clearly shows all the key information for dozens of possible flights at once. You can easily see where the layover is, how long it is, and the departure and arrival times.
On the results page, you can also keep filtering or re-sorting by various criteria by clicking buttons like Price, Airlines, and so on. Click the outbound flight you want, and ITA will continue by searching return flight options. After that, it will show the full itinerary and fare breakdown. I’ll explain later how to actually purchase the ticket.
Is that it? Feels a little too simple? Think ITA is nothing special? Not so fast—next comes the advanced functionality.
ITA: Advanced Search Features
If the search methods above already meet your needs, you can skip this section.
ITA’s most powerful feature is the ability to set Advanced Routing Codes. There is a button labeled Advanced routing codes right below the origin and destination input boxes. Click it and you can enter routing codes. If you use routing codes well, you can easily perform some very complex searches. Here I’ll only introduce the more common use cases. First, here are the syntax definitions—don’t worry, I’ll give examples below:
| Format | Definition |
|---|---|
| C:AA | AA nonstop flights (including codeshares) |
| C:AA+ | AA nonstop or connecting flights (including codeshares) |
| AA,UA,DL | AA, UA, or DL nonstop flights (default is C:) |
| O:AA | AA-operated nonstop flights (excluding codeshares) |
| O:AA,UA,DL | AA, UA, or DL-operated nonstop flights (excluding codeshares) |
| N | Any nonstop flight (with no technical stop) |
| N:AA | AA nonstop flights (with no technical stop) |
| X | Any one connecting point |
| X:NYC | Connect in NYC |
| DFW,STL | Connect in DFW or STL |
| F | Any one flight |
| F:AA151 | Flight AA151 |
| ? | Zero or one flight |
| + | One or more flights |
| * | Zero or any number of flights |
| ~ | Not (used before a condition to exclude all results that meet that condition) |
Set a Layover Airport or Specific Flight
Being able to specify a layover airport or an intermediate flight is especially useful in situations where people need to meet up somewhere and then fly together to the final destination. For example, suppose two groups are departing from different airports but heading to the same destination (such as San Juan, Puerto Rico), and they want to be on the same final long-haul segment together (for example, AA1254 from MIA-SJU). In that case, you can enter “X* F: AA1254” as the Advanced routing code, which means connect from any flight onto AA1254. Here is one search result:
Kudos: every result has AA1254 as the final segment. Mission accomplished.
If you want to choose DFW, STL, or LAX as the connecting airport, you can enter the Advanced routing code: “DFW, STL, LAX”. If you do not want to connect through a certain airport, just add a tilde “~” before the airport code.
Other Special Codes
Some codes can be used to exclude certain types of flights. For example, “-overnight” excludes all itineraries with an overnight airport layover, “-change” excludes itineraries that require changing airports, and “-redeye” excludes redeye flights.
Why Bother With All This?
Using Advanced routing codes lets you exclude all the flights you cannot accept and gives you a cleaner list of all your real options, instead of forcing you to manually filter through the results yourself. On top of that, ITA automatically saves your search history. If you want to repeat a search, you can simply click one of your previous searches at the top of the search page. Very convenient.
Don’t Forget Southwest
Southwest results do not appear on the major flight search engines, so you have to search directly on their website.
I Found the Flight I Want—Now What?
Buy the ticket, of course. In most cases, booking right away is the best move, unless your departure is still quite far away (more than 2 months). It is relatively rare for airlines to suddenly release a huge discount on the exact ticket you want. These days, even if airlines are not selling enough seats, they also rarely slash prices to rock-bottom levels just a few days before departure.
ITA Matrix is only an airfare search engine; it does not sell tickets directly and does not provide booking links. That’s when Hipmunk, Google Flights, or the relevant airline’s official website come in handy. What’s that? Too much hassle? We’ve got a solution.
ITA One-Click Booking Userscript
First, you’ll need to install a browser extension (just a browser add-on, safe and easy to remove without leaving anything behind): Firefox users should install Greasemonkey, and Chrome users should install Tampermonkey. After that, click here, and your browser will prompt you to confirm installation. Just approve it.
Setup is done! Now go back to ITA and refresh the page from earlier:
Pay attention to the series of buttons on the right. In general, “Open with United” works best, whether or not there is a UA-operated segment in the itinerary. If your flights include Delta, you can also click “Open with Delta.” These buttons are especially useful for mixed-carrier itineraries, because airline websites usually have a hard time showing flights that include competitors’ segments, which makes it difficult to buy the correctly priced ticket. The screenshot below shows a random four-airline mashup itinerary I pulled using “Open with United” (mainly just to show how aggressively yellow the UA display is).
If you’ve tried all of the methods above and still can’t find the ticket you found in ITA, you can call one of the operating airlines in the itinerary or a travel agency to book by phone. There may be a phone ticketing fee, which varies by airline, so you can choose the cheapest option. If the price still doesn’t match what was shown earlier, the fare may have a fare restriction, such as being ticketable only in a certain country. That’s relatively rare, so we’ll skip the details here.
Ticket Buying Tips
Hold Price
Before actually paying for a ticket, you should use the free hold price option offered by some airlines to lock in the fare instead of paying immediately. That way, if the fare drops before you complete the purchase, you can simply buy the new cheaper ticket instead. Among the major airlines, AA lets you hold a fare for free for 24 hours. UA does not officially offer a free hold, but there is a trick to get one. DL does not offer a hold option. However, both UA and DL allow a full free refund within 24 hours after purchase (per 14 CFR 259.5 (b) (4)). Of course, once you put a fare on hold, don’t forget to actually buy the ticket before the deadline.
Hotel+Air Bundle
Because airline websites and major third-party booking platforms (OTAs) all use GDS data, prices are theoretically the same. However, some larger agencies, such as Expedia, can get creative with bundles. Sometimes a hotel+air package can even be cheaper than booking air alone. With Expedia bundle&save, you can choose a hotel stay of just one night, even at a hostel. I previously saw exactly this with an SFO-FRA booking. If you have the time, it’s worth trying. In addition, when booking airfare alone, third-party sites usually offer little to no cashback, or only a tiny fixed amount, while bundles often come with much better cashback, so that’s another factor worth considering.
Paying with Airline Gift Cards
You may already have accumulated quite a few airline gift cards, whether from credit card reimbursement benefits or compensation for flight delays. You can use ITA Matrix to find the ticket, then use options like book with united/delta to jump to the airline’s website where you want to use the gift card and complete the purchase there. (If you search directly on the airline’s site, it may not be able to find these kinds of mixed-airline itineraries.) And if you bought those airline gift cards at a discount, that’s another easy way to save a bit more money.