Passenger Airlines · World Bank / ICAO

World Bank Air Transport Passengers Carried (ICAO-sourced, 1970-2023)

Datadory delivers world bank air transport passengers carried icao sourced 1970 2023 data as a clean economy-year panel: annual passengers carried by registered airlines across roughly 265 economies, 1970 through 2023, with thirteen documented fields per row and verified World rows running 4.46 billion passengers in 2019 to the 2020 trough and back toward it.

API, files, or your warehouse. Daily, weekly, or hourly.

Where it covers
All World Bank member economies plus aggregates - World, European Union, income and regional groups - roughly 265 geographic entities; each economy counts passengers on its own registered carriers
How far back
Annual observations from 1970 through 2023, fifty-four observation years per economy where reported, with current values running through 2023
How fine
One observation per economy per year, national total on a registered-carrier basis; no airport, route or carrier-level resolution exists here by design

What is the World Bank air transport passengers carried series?

One indicator, the whole map of commercial aviation demand. IS.AIR.PSGR sits in the World Development Indicators' infrastructure topic and reports passengers carried by airlines registered in each reporting economy, regardless of where those passengers began or ended their journey. The underlying compilation is the Civil Aviation Statistics of the World assembled by the International Civil Aviation Organization, supplemented by ICAO staff estimates where carriers do not report.

Breadth is the selling point. Roughly 265 member economies appear alongside aggregates - World, the European Union, income and regional groups - observed annually from 1970 through 2023, about 14,000 economy-year observations that fit in a few hundred kilobytes. The registered-carrier basis matters as much as the breadth: a country earns credit for the traffic its own airlines fly anywhere on earth, which makes the series a map of flag-carrier reach rather than of runway activity. That is the opposite cut from airport-throughput counts, and analysts who conflate the two produce quietly wrong comparisons. The wider shelf sits on our passenger airlines data hub.

Get a sample of this dataset - take the World recovery rows plus a few economies you actually sell into, and judge the fit before committing.

What do sample rows look like?

Rows arrive flat: one economy-year observation carrying the codes, the year and the count. Straight from the record - the five verified World aggregate rows:

# Verified World aggregate rows - indicator IS.AIR.PSGR
countryiso3code  country  date  value_passengers_carried
WLD              World    2023  4268984474.03796
WLD              World    2022  3230288279.667
WLD              World    2021  2279974770.123
WLD              World    2020  1771894087.0245
WLD              World    2019  4455690101.02828

Five lines, one industry's wildest decade. 4.46 billion passengers in 2019 becomes 1.77 billion in 2020 - roughly sixty percent of global demand erased in a single row-to-row step. The rebuild runs 2.28 billion in 2021, 3.23 billion in 2022 and 4.27 billion in 2023, which is about ninety-six percent of the old peak: recovered, but visibly not round. Because every row in the series carries these same four analytic columns, stacking fifty-four years across hundreds of economies builds the full panel without re-keying anything.

What fields does the dataset include?

Thirteen documented fields carry the entire base schema, and they split into three jobs. country.id, country.value and countryiso3code do the identification - which economy, under which code, in which ISO spelling - with the ISO3 field doubling as the join key to almost any other country-level table. date, value and unit do the measuring: the reference year, the passenger count itself, and a unit field deliberately empty because the count is passengers. The rest is bookkeeping and attribution - the fixed indicator id and label, the observation-status flag that marks estimated or absent values, the display-decimal hint, and the definition and organization strings that carry the ICAO compilation credit inside every row.

Every definition in the table below was verified against delivered rows rather than inferred from documentation, so it describes what arrives instead of what a brochure promises. Refresh bookkeeping and derived columns such as growth rates and share-of-world fold under additional fields on request, documented against delivered extracts, so the base schema stays honest about what ships first.

What does coverage look like across geography, time and granularity?

Geography - every World Bank member economy, roughly 265 of them, plus the aggregates: World, European Union, income groups and regional groups. Each economy's figure counts passengers on its own registered carriers, so the aggregate rows are sums over registries, not over territories.

Temporal - annual observations from 1970 through 2023. Fifty-four observation years per economy where reporting holds, which reaches back further than any other historical series in the passenger-airlines slice: BTS T-100 traffic begins in 1990 and US on-time records in October 1987.

Granularity - one row per economy per year, national total. No airport, route, carrier or month-level resolution exists here by design - pair it with a flight-level or airport-level feed when the question needs that cut.

How is the data delivered?

API, files, or your warehouse. Daily, weekly, or hourly.

You pick the channel and the cadence; typing, cleaning and schema stability are our problem. Rows ship with all thirteen base fields populated and the observation-status flags preserved, so estimated values announce themselves instead of masquerading as measured ones. Bulk pulls land as files, continuous consumption runs through the API, and warehouse-native loads write straight into your own storage. A sample goes out first, cut to the economies, aggregates and year range you actually need - get a sample of this dataset and test the schema you will ship against.

Who uses this data, and for what?

  • Cross-border market sizing - one definition across roughly 265 economies ranks national air-travel markets without reconciling national vocabularies, the comparison no single-country source supports.
  • Pandemic-recovery tracking - the 2019-2023 rows quantify a fall to forty percent of peak and a climb back to ninety-six, in units nobody argues with.
  • Long-run demand modelling - fifty-four annual observations per economy feed econometric and ML demand models that need pre-1987 history no operational archive provides.
  • Flag-of-registry capacity studies - counts follow carrier registration, so alliance and fleet strategy surfaces in national series rather than hiding in airport totals.
  • Forecast benchmarking - twenty-year traffic assumptions from airline and manufacturer planning decks get tested against one consistent baseline.

Which personas get the most value?

Market researchers and consultants (relevance 3 of 3) treat it as the canonical cross-country sizing benchmark; see market researchers use cases. Developers and data-product builders (3 of 3) embed one stable, fully documented series behind dashboards instead of maintaining dozens of country integrations; see developers builders use cases. Data scientists and ML engineers (2 of 3) ingest a ready-made economy-year panel spanning 1970 onward; see data scientists use cases. Competitive intelligence teams (1 of 3) read expanding national markets as context for carrier moves; see competitive intel product teams use cases. Journalists and academics cite it because ICAO attribution survives peer review and print style guides alike.

How does it compare to alternatives in its slice?

Against BTS TranStats T-100: the American archive digs far deeper per route - census-level monthly traffic for certificated US carriers from 1990 - but stops at US registrants and the modern era. This series goes shallower per row and wider per map: annual, global, back to 1970. Against the Airline Passenger Satisfaction survey (129,880 static responses): that set explains why individuals rate flights; this one measures how many people flew at all - we break the pairing down in vs Airline Passenger Satisfaction. OpenFlights supplies the network snapshot that turns these national totals into reachable maps. And the companion air freight series spans the identical 1970-2023 window on the same economy-year grain, so a passengers-plus-cargo panel is one extra request - see World Bank Air Transport Freight Million Ton-km Data.

What should I know before requesting a sample?

Four conventions worth knowing upfront. First, this measures registries, not runways - a hub country is credited only for its own carriers, so airport-throughput questions need an airport-based feed rather than this one. Second, aggregates ride beside countries: World, EU and income-group rows use the identical schema, so filter by membership before computing any total. Third, reporting is uneven - some economies return nulls in recent years, so check completeness for your exact window before fitting trends. Fourth, values currently run through 2023, and whether newer vintages exist beyond what this catalog captured is an open question we resolve with your sample rather than guess at. For positioning against the rest of the slice, the best passenger-airlines datasets ranking puts this series second overall on comparability grounds.

Field dictionary

Every field below is documented against real records. The full dictionary ships with the sample.

Field dictionary - World Bank air transport passengers carried, one row per economy-year
fieldtypedefinitionexample
indicator.idstringIndicator code, fixed for this series.IS.AIR.PSGR
indicator.valuestringHuman-readable indicator label.Air transport, passengers carried
country.idstringEconomy or aggregate code assigned by the publisher.WLD
country.valuestringEconomy or aggregate name.World
countryiso3codestringISO 3166-1 alpha-3 code of the reporting economy.USA
datedateReference year of the observation.2023
valuenumberPassengers carried by airlines registered in the economy during the year, counted regardless of where those passengers boarded or landed; null when not reported.4268984474.03796
unitstringUnit of measure, held as an empty string here because the count is passengers themselves.
obs_statusstringObservation-status flag, present when a value is missing or estimated.
decimalintegerRecommended number of decimal places for display.
sourceNotetextDefinition text stating that figures cover passengers carried by airlines registered in the economy regardless of origin or destination.
sourceOrganizationtextAttribution for the underlying compilation.Civil Aviation Statistics of the World, ICAO
lastupdateddateDate the indicator database was last refreshed - delivery bookkeeping rather than traffic content.2026-07-13

What teams do with it

  • Cross-border market sizing One definition applied to roughly 265 economies lets consultants rank and compare national air-travel markets without reconciling a single national statistical vocabulary.
  • Pandemic-recovery tracking The 2019-2023 window quantifies the collapse to forty percent of peak and the climb back to ninety-six percent - the cleanest macro recovery curve in the slice.
  • Long-run demand modelling Fifty-four annual observations per economy give econometric and ML demand models a history no operational US archive matches, starting seventeen years before the first BTS on-time record.
  • Flag-of-registry capacity studies Because counts follow the carrier's registration, alliance and fleet strategy shows up in national series - a view airport-throughput tables cannot produce.
  • Forecast benchmarking Traffic assumptions in airline or manufacturer planning decks get tested against one consistent national baseline instead of hand-stitched country sources.

Questions buyers ask

What does one row of world bank air transport passengers carried icao sourced 1970 2023 data contain?

One economy-year observation: the economy code and name, the ISO3 code, the reference year, the indicator id and label, and the passenger count for airlines registered in that economy. Thirteen documented fields per row, null where an economy does not report.

What story do the World aggregate rows tell?

Verified rows trace 4,455,690,101 passengers in 2019 collapsing to 1,771,894,087 in 2020 - roughly sixty percent of demand gone in a year - then 2,279,974,770 in 2021, 3,230,288,280 in 2022 and 4,268,984,474 in 2023, still about four percent short of the pre-pandemic peak.

How far back does the series reach?

Annual observations run from 1970 through 2023 - fifty-four observation years per economy where reported. That start predates the BTS T-100 traffic archive (1990) and the US on-time record (October 1987) by decades, making it the longest memory in the six-dataset passenger-airlines slice.

Does this measure airport traffic?

No. Figures count passengers carried by airlines registered in each economy regardless of origin or destination, so a hub country is credited for its own carriers rather than for everyone transiting its airports. Airport-throughput counts answer a different question and mix the two at your peril.

Why do World and regional aggregate rows sit next to countries?

Aggregates such as World, the European Union and the income and regional groups reuse the identical thirteen-column schema, with the group name in the economy field. Filter by membership before ranking or summing, or a continent gets counted twice.

Are missing values common?

Reporting is uneven. Some economies return nulls in recent years and coverage shifts over time, so panel completeness varies across the roughly 265 economies. Treat gaps as reporting artifacts rather than evidence of zero demand, and check completeness for your exact year window before fitting anything.

How well documented are the fields?

All thirteen base-field definitions are verified against delivered rows rather than inferred from headers. Field documentation is verified for 1,495 of the 1,744 datasets in the catalog (85.7%), and this record scores 9 out of 10 on the catalog rubric against a 7.81 average.

Can a sample be cut to particular economies and years?

Yes. Name the economies, aggregates and year range you care about and the sample arrives shaped to that scope, with the full field dictionary attached and any requested derived columns - growth rates, shares, completeness flags - populated alongside the base rows.

Notes on this record

  • Registered carriers, not runways A country's number counts its own airlines wherever they fly. Hub traffic from foreign carriers never lands in the hub country's row - pair with an airport-throughput feed if runway counts are the actual question.
  • The pandemic lives in these rows 4.46 billion passengers in 2019 became 1.77 billion in 2020, a fall of roughly sixty percent in one line of one column. Few macro series show a shock that size in comparable units.
  • Aggregates wear the same schema World, EU and income-group rows reuse the identical thirteen columns as France or Japan, so filter by membership before any ranking or the whole planet enters the league table.
  • Scored above the catalog mean Datadory rates this record 9/10 against a catalog average of 7.81 across 1,744 datasets; only 145 records reach ten, and every field definition here was verified against delivered rows.
  • The freight twin The companion air freight series spans the same 1970-2023 window on the same economy-year grain, so a passengers-plus-cargo aviation panel is one more sample request away.
  • Longest memory in its slice A 1970 start puts this series seventeen years ahead of the oldest US operational archive in the passenger-airlines slice - the default choice whenever pre-1990 history matters.

See the rows before you pay anything.

Name this dataset and we send real records from it — scoped to the fields you asked for.

See pricing