The demand desk

What does India actually fly?

India's aviation regulator counts every passenger on every city pair and publishes it. Nobody puts those numbers next to what the route costs in points. Here they are — ranked by the people who actually fly them, with our cheapest verified award price beside each, and an honest blank where we haven't priced it.

how this is built, and what it can't tell you fold that back up

Directorate General of Civil Aviation, Government of India · domestic 12 months to May 2026, international 4 quarters to 2025-Q4 · read 2026-08-29 · the release

out of India · inside India · what we haven't priced · the method

Of the passengers DGCA counts flying out of India, 81% are on a corridor this desk has priced with a verified award chart. Inside India, that falls to 42%.

893

city pairs, ranked by passengers

234M

passengers behind them

253

of those pairs carry a verified award price

640

do not — the queue below

  • These are city pairs, not airports. DGCA counts cities, so Delhi–Tokyo covers Haneda and Narita together and Delhi–Mumbai includes Navi Mumbai. We do not split a figure DGCA never split.
  • The two boards cover different periods and must not be compared. Domestic is 12 months to May 2026; international is 4 quarters to 2025-Q4. DGCA publishes them on different cadences and different lags.
  • A blank is a blank, not a zero. Where we have no verified price the cell says so. Where DGCA publishes no traffic for a pair, the pair is absent — it does not appear here as nobody flying it.

Out of India

The Gulf is not a rounding error on this list — it is the list. Dubai alone is one end of four of the ten busiest routes out of India, and the UAE of five. The long-haul corridors the points world writes about are the minority of what India actually flies.

4 quarters to 2025-Q4 · 370 city pairs · 77M passengers · 81% of them on a corridor we price with a verified chart

# City pair Passengers Cheapest verified award
1 Dubai – Mumbai all airports 2.39M 7,500 economy one-way
2 Delhi – Dubai all airports 2.17M 7,500 economy one-way
3 Delhi – London all airports 1.52M 20,000 economy one-way
4 Abu Dhabi – Mumbai all airports 1.24M 7,500 economy one-way
5 London – Mumbai all airports 1.22M 20,000 economy one-way
6 Bangkok – Delhi all airports 1.20M 17,500 economy one-way
7 Dubai – Hyderabad all airports 1.03M 15,000 economy one-way
8 Delhi – Singapore 1.02M 19,000 economy one-way
9 Chennai – Singapore 1.01M 19,000 economy one-way
10 Dubai – Kochi all airports 0.99M 19,000 economy one-way
the next 30 busiest pairs
11 Delhi – Kathmandu 0.97M 7,500 economy one-way
12 Chennai – Dubai all airports 0.94M 15,000 economy one-way
13 Abu Dhabi – Kochi 0.94M 19,000 economy one-way
14 Bengaluru – Dubai all airports 0.89M 15,000 economy one-way
15 Mumbai – Singapore all airports 0.86M 19,000 economy one-way
16 Jeddah – Mumbai all airports 0.81M 9,000 economy one-way
17 Chennai – Colombo 0.79M 6,500 economy one-way
18 Abu Dhabi – Delhi 0.78M 7,500 economy one-way
19 Doha – Mumbai all airports 0.76M 7,500 economy one-way
20 Delhi – Doha 0.69M 12,500 economy one-way
21 Delhi – Hong Kong 0.68M 13,000 economy one-way
22 Abu Dhabi – Bengaluru 0.67M 17,500 economy one-way
23 Bangkok – Mumbai all airports 0.63M 17,500 economy one-way
24 Abu Dhabi – Chennai 0.62M 17,500 economy one-way
25 Doha – Kochi 0.62M 12,500 economy one-way
26 Delhi – New York all airports 0.61M 32,500 economy one-way
27 Bengaluru – Singapore 0.59M 19,000 economy one-way
28 Singapore – Tiruchirappalli 0.58M not priced
29 Delhi – Kuala Lumpur 0.57M 21,000 economy one-way
30 Abu Dhabi – Kozhikode 0.56M 19,000 economy one-way
31 Mumbai – Muscat all airports 0.56M 7,500 economy one-way
32 Chennai – Kuala Lumpur 0.55M 12,500 economy one-way
33 Delhi – Jeddah 0.54M 9,000 economy one-way
34 Delhi – Istanbul all airports 0.54M 20,000 economy one-way
35 Abu Dhabi – Thiruvananthapuram 0.53M 17,500 economy one-way
36 Abu Dhabi – Hyderabad 0.52M 17,500 economy one-way
37 Ahmedabad – Dubai all airports 0.52M 19,000 economy one-way
38 Delhi – Paris all airports 0.51M 20,000 economy one-way
39 Istanbul – Mumbai all airports 0.51M 20,000 economy one-way
40 Dubai – Kozhikode all airports 0.51M 17,500 economy one-way

Inside India

This is where the desk is thinnest, and the number says so: 81% of India's international passengers fly a corridor we have priced with a verified chart, and only 42% of its domestic ones do. India flies a far wider domestic board than this desk prices.

12 months to May 2026 · 523 city pairs · 157M passengers · 42% of them on a corridor we price with a verified chart

# City pair Passengers Cheapest verified award
1 Delhi – Mumbai all airports 6.74M 7,500 economy one-way
2 Bengaluru – Delhi 4.88M 15,000 economy one-way
3 Bengaluru – Mumbai all airports 4.11M 7,500 economy one-way
4 Delhi – Hyderabad 3.10M 7,500 economy one-way
5 Delhi – Kolkata 2.87M 7,500 economy one-way
6 Delhi – Pune 2.86M 7,500 economy one-way
7 Goa – Mumbai all airports 2.45M 7,500 economy one-way
8 Ahmedabad – Delhi 2.37M 7,500 economy one-way
9 Delhi – Goa all airports 2.30M 7,500 economy one-way
10 Kolkata – Mumbai all airports 2.28M 15,000 economy one-way
the next 30 busiest pairs
11 Bengaluru – Hyderabad 2.25M estimates only
12 Chennai – Delhi 2.22M 15,000 economy one-way
13 Chennai – Mumbai all airports 2.21M 7,500 economy one-way
14 Hyderabad – Mumbai all airports 2.21M 7,500 economy one-way
15 Bengaluru – Kolkata 2.17M estimates only
16 Ahmedabad – Mumbai all airports 2.02M 7,500 economy one-way
17 Delhi – Srinagar 1.80M 7,500 economy one-way
18 Bengaluru – Pune 1.79M not priced
19 Delhi – Guwahati 1.57M 7,500 economy one-way
20 Bengaluru – Goa all airports 1.54M estimates only
21 Bengaluru – Chennai 1.51M estimates only
22 Delhi – Patna 1.51M 7,500 economy one-way
23 Chennai – Hyderabad 1.46M estimates only
24 Bengaluru – Kochi 1.38M estimates only
25 Delhi – Lucknow 1.35M 7,500 economy one-way
26 Goa – Hyderabad all airports 1.32M not priced
27 Kochi – Mumbai all airports 1.29M 7,500 economy one-way
28 Bagdogra – Delhi 1.21M estimates only
29 Bhubaneswar – Delhi 1.20M 7,500 economy one-way
30 Jaipur – Mumbai all airports 1.19M 7,500 economy one-way
31 Ahmedabad – Bengaluru 1.18M 7,500 economy one-way
32 Delhi – Indore 1.13M 7,500 economy one-way
33 Chennai – Kolkata 1.13M estimates only
34 Amritsar – Delhi 1.07M 7,500 economy one-way
35 Hyderabad – Kolkata 1.02M estimates only
36 Guwahati – Kolkata 1.01M not priced
37 Hyderabad – Visakhapatnam 1.01M not priced
38 Delhi – Varanasi 0.98M 7,500 economy one-way
39 Delhi – Kochi 0.95M 15,000 economy one-way
40 Lucknow – Mumbai all airports 0.95M 7,500 economy one-way

What we haven't priced

The other direction of the same join, and the reason it is on a public page rather than in a desk note: these are the city pairs India flies in volume that carry no verified award price here. Busiest first. This is the order the next pricing wave works in.

Out of India

the 12 busiest pairs we can't price yet
Singapore – Tiruchirappalli 0.58M · #28
Sharjah – Thiruvananthapuram 0.45M · #47
Delhi – Riyadh 0.41M · #52
Mumbai – Riyadh 0.38M · #56
Kuala Lumpur – Tiruchirappalli 0.37M · #60
Kochi – Sharjah 0.33M · #69 · estimates only
Delhi – Sharjah 0.33M · #71
Dammam – Mumbai 0.32M · #74
Mumbai – Sharjah 0.30M · #79
Delhi – Dhaka 0.28M · #85
Dubai – Mangaluru 0.28M · #86
Kozhikode – Sharjah 0.24M · #93

Inside India

the 12 busiest pairs we can't price yet
Bengaluru – Hyderabad 2.25M · #11 · estimates only
Bengaluru – Kolkata 2.17M · #15 · estimates only
Bengaluru – Pune 1.79M · #18
Bengaluru – Goa 1.54M · #20 · estimates only
Bengaluru – Chennai 1.51M · #21 · estimates only
Chennai – Hyderabad 1.46M · #23 · estimates only
Bengaluru – Kochi 1.38M · #24 · estimates only
Goa – Hyderabad 1.32M · #26
Bagdogra – Delhi 1.21M · #28 · estimates only
Chennai – Kolkata 1.13M · #33 · estimates only
Hyderabad – Kolkata 1.02M · #35 · estimates only
Guwahati – Kolkata 1.01M · #36

Where these numbers come from

The source, and why we can cite it

The source of record is the Directorate General of Civil Aviation, Government of India, which publishes monthly domestic and quarterly international city-pair traffic as spreadsheets in an open bucket. The bucket refuses to list its contents, so filenames cannot be guessed — they are discovered from a maintained mirror, which also republishes the workbooks as parsed CSVs. We read the mirror and cite DGCA, and the reason that is honest rather than convenient is that the two were checked against each other: DGCA's own city-pair table for 2025-Q4 matched the mirror on 408 of 408 city pairs, with an identical passenger total of 2,08,30,121. That check is a command, not a claim, and it re-runs on every refresh.

DGCA's own table for 2025-Q4 · the mirror (ODbL 1.0, commit 306ff90852e0) · 525 primary files discovered

What a passenger count here means

Every figure is total passengers both ways across the whole window — DGCA's own to-and-from columns, summed over each month or quarter in it. It counts people, not flights and not seats. The windows lag: DGCA publishes domestic months in arrears and international a quarter behind, so nothing here is "today".

The join, and the trap inside it

DGCA names cities; this desk keys corridors on airport codes. Those are not the same thing, and the gap is not cosmetic. DGCA restyled its domestic city names in January 2026 — the row called MUMBAI stops, and one called MUMBAI (MUMBAI) starts. A rolling twelve-month window straddles that date, so adding up the raw names splits the busiest route in the country in two and reports Delhi–Mumbai at about 60% of its real size — in the right units, with nothing visibly wrong. So we map every published spelling, including DGCA's own misspellings, onto a metro, and aggregate there. Goa has appeared under five names; Bangkok and Don Mueang are reported separately, as are New York and Newark.

The consequence is stated on every row that has it: a figure covers all the airports we model for both cities. We map a city only to airports this desk already carries — we do not invent a code for an airport we have never plotted — so DGCA cities we cannot bind are dropped and counted rather than guessed at. That is 7% of domestic passengers and 1% of international ones, almost all of them small airfields with no award chart to price. The full list, with its passenger counts, is carried in the desk's own data file alongside every mapping above.

Licence and attribution

Contains data from the Directorate General of Civil Aviation (DGCA), Government of India, parsed by github.com/Vonter/india-aviation-traffic and made available under the Open Database License (ODbL) 1.0.

The data is DGCA's and the parse is the mirror's; this desk publishes the join and adds nothing to the numbers themselves. DGCA marks recent releases provisional.