The most competitive Indian air routes in our route data are Mumbai to Kochi and Mumbai to Chennai, each listing seven airline codes. Competitive here means one thing and one thing only, which is how many airline codes are listed on the pair. Eighteen more pairs list six codes. Below that the tail falls away quickly, and of the 196 Indian domestic airport pairs in the file, 67 carry a single code. Two conditions matter more than the ranking itself. A code on a pair is a listing rather than proof that the airline flies the sector, and the file behind these numbers is old enough to offer you Jet Airways and to know nothing about Vistara. Both get a section below.
The most competitive Indian air routes in our route data
Our route pages are built from an open dataset of airline route listings, published by OpenFlights, joined to airport records from OurAirports. Restricted to pairs where both airports sit in India, it holds 1,053 rows across 196 distinct airport pairs, drawn from the 128 Indian airports that carry a three-letter IATA code in our airport data. A pair here is unordered, so Mumbai to Kochi and Kochi to Mumbai are one line, and the carrier list is the union of both directions.
We took our copy of the route file on 2026-07-06, and it carries the Open Database Licence 1.0, which asks anyone publishing figures out of it to name where they came from. Both projects are named here and again at the end for that reason. The download date says when we fetched the file, not how old the listings inside it are, and the airline list settles that question further down.
Ranked by the number of airline codes listed on the pair, then by airport code where the count ties:
| Pair | Cities | Codes listed | Great-circle km |
|---|---|---|---|
| BOM-COK | Mumbai to Kochi | 7 | 1,064 |
| BOM-MAA | Mumbai to Chennai | 7 | 1,033 |
| AMD-BOM | Ahmedabad to Mumbai | 6 | 444 |
| AMD-DEL | Ahmedabad to New Delhi | 6 | 755 |
| BLR-BOM | Bengaluru to Mumbai | 6 | 834 |
| BLR-DEL | Bengaluru to New Delhi | 6 | 1,709 |
| BLR-MAA | Bengaluru to Chennai | 6 | 268 |
| BOM-DEL | Mumbai to New Delhi | 6 | 1,137 |
| BOM-TRV | Mumbai to Thiruvananthapuram | 6 | 1,258 |
| CCU-DEL | Kolkata to New Delhi | 6 | 1,313 |
Eighteen pairs list six codes in all, so a ten-row table leaves most of them out. Two of the missing ones would have made the cut and are out for a different reason. Bengaluru to Goa and Mumbai to Goa both list six, and our airport record gives GOI the city name Vasco da Gama, which is accurate and no use at all to a reader looking for Goa. That is the smallest example of the thing this post is about.
Across all 196 pairs the spread looks like this:
| Codes listed | Pairs |
|---|---|
| 7 | 2 |
| 6 | 18 |
| 5 | 23 |
| 4 | 19 |
| 3 | 26 |
| 2 | 41 |
| 1 | 67 |
A third of the pairs carry exactly one carrier code. Delhi to Mumbai, the pair most people would name first, lists six and is 1,137 km apart. Mumbai to Chennai is one of the two at the top.
What a carrier count on a route actually counts
A codeshare is an arrangement where one airline sells seats on a flight that another airline operates. Your ticket carries the code of the airline that sold it, and the aircraft, crew and flight number belong to the other one. In a route table both codes sit on the same sector, so the pair reads as two carriers when there is one aircraft.
The route file our pages use keeps six fields per row, and the codeshare flag is not one of them. The upstream file it is built from does carry that flag, so we measured it there instead. On Indian domestic rows, 27.5% are flagged as codeshare, which is 290 rows of 1,053. Across the whole upstream file it is 21.6%, or 14,597 rows of 67,663.
The flag is concentrated rather than spread evenly. Air Sahara's code is flagged on 177 of its 178 Indian domestic rows. Jet Airways is flagged on 113 of 178. Air India, IndiGo, SpiceJet, Go Air and Air India Express carry the flag on none of theirs.
So seven codes on Mumbai to Kochi is six unflagged listings plus one that the upstream file marks as a codeshare. The same correction runs down the table: Mumbai to Hyderabad lists five codes, four of them unflagged. Anyone working from the file we ship cannot make that separation at all, because the flag was dropped when the file was built. That is worth saying out loud, since it is our build step that drops it.
One oddity survives the correction. Air Mauritius appears on exactly one Indian domestic pair, Bengaluru to Chennai, on a single row, and that row is not flagged as a codeshare. Open route data lists segments rather than the journey a passenger buys, so a foreign carrier code can turn up on a domestic sector. Nothing in the data says why, so we are not going to invent a reason.
Why Jet Airways is on this list and Vistara is not
Eight airline codes account for every Indian domestic row in the file.
| Code | Name as our data spells it | Indian pairs it appears on |
|---|---|---|
| AI | Air India Limited | 116 |
| 6E | IndiGo Airlines | 105 |
| S2 | Air Sahara | 90 |
| 9W | Jet Airways | 90 |
| SG | Spicejet | 87 |
| G8 | Go Air | 41 |
| IX | Air India Express | 10 |
| MK | Air Mauritius | 1 |
Read that against the tails you actually see at an Indian airport now. Jet Airways sits on 90 pairs. Air Sahara sits on 90. Go Air sits on 41. Vistara, Akasa Air and AirAsia India do not appear on a single Indian domestic row in the file.
That absence is the vintage argument, and it needs no date bolted onto it. A route table that ranks Air Sahara level with Jet Airways, and has never heard of Vistara, is describing an older Indian network than the one you will fly this week. The IndiGo page and the Jet Airways page are generated from the same rows by the same code, which is why one of them reads as current and the other reads as an archive.
How far apart these airports are, and what we do not print
Distance is the one number on these pages that is a straight measurement. It is the great circle between the two stored airport coordinates, and we checked it rather than trusting it: recomputing it from latitude and longitude across all 1,053 Indian domestic rows differed from the stored value by at most 0.50 km. Delhi to Mumbai is 1,137 km. Mumbai to Hyderabad is 623 km.
A great circle is the shortest line between two points on a globe, which is not the track an aircraft flies on the day. It is also not a duration, and we do not convert it into one.
Four things this data cannot tell you
| What is missing | Why there is no number here |
|---|---|
| How often the route is flown | The frequency field reads 7 on every one of the 67,279 rows in the file we ship. It is a placeholder, not a schedule |
| Seats, passengers, market share | No file we bundle carries any of them, so there is no honest number to give |
| On-time performance | No arrivals or punctuality data is bundled with these files, so nothing in this post is a measured on-time figure |
| Fares | We hold no fare data anywhere, and the number of codes on a pair says nothing about what a seat costs |
The last row is the one to hold on to, because the word competitive invites a price reading and this ranking will not support one. It counts listings on a pair, and that is all it counts.
If the underlying inventory is more use to you than the ranking, every Indian airport in our data has its own page, all 128 of them.
Where this sits in what we are building
TrackMyWings™ is in development. A private beta shipped on 2026-08-24, Android only, on the Play internal testing track, and public launch has no fixed date. Wiring these directory pages to live sources is planned work rather than shipped work, and the open snapshot described above is what they serve until that lands.
Frequently asked questions
Which Indian route has the most airlines listed in your data?
Two pairs tie at seven codes, Mumbai to Kochi and Mumbai to Chennai. Both counts include one listing that the upstream file flags as a codeshare, so six carriers is the honest read of each.
Does a codeshare count as a separate airline?
Not for any purpose a traveller cares about. One aircraft operates the sector and the other carrier sells seats on it under its own code. It counts as a separate airline only in the sense that it appears as a separate row in a route table, which is the confusion this whole ranking runs on.
Why does your route data list airlines I have not flown in years?
Because it is an open snapshot rather than a live feed. The dataset was published once and reflects the network at the time it was compiled, and our pages have not yet been wired to a live source.
How many airports in India are in your data?
128 Indian airports carry a three-letter IATA code in our airport data. That filter keeps large and medium airports, so smaller airstrips without an IATA code are not in the count.
Sources
- OpenFlights route and airline data, licensed ODbL 1.0 with attribution and share-alike. Project home https://github.com/jpatokal/openflights, snapshot acquired 2026-07-06.
- OurAirports airport data, public domain. Project home https://davidmegginson.github.io/ourairports-data, snapshot acquired 2026-07-06.
- All counts in this post were computed on 2026-09-10 from the bundled
data/routes.json,data/airports.jsonanddata/airlines.jsonfiles and the upstreamroutes.datsnapshot, using the fieldsdep,arr,airlineIata,distance,iataandcountry.
Get TrackMyWings Early Access
Real-time flight tracking, gate change alerts, and family sharing: launching soon.