World Bank Indicators
GDP, inflation, trade, and 1,400+ development indicators
What it does
Pull World Bank development indicators — GDP, inflation, unemployment, trade, population, and 1,400 more — for any country and year as clean JSON. The authoritative macroeconomic data source, no API key required.
Built in
- ✓ 1,400+ development indicators by country and year
- ✓ GDP, inflation, unemployment, trade, population
- ✓ Authoritative World Bank source data
- ✓ Time-series ready for analysis and charts
- ✓ Zero charge on empty queries
Guides & tutorials
World Bank API in Python 2025: GDP, Inflation, and 1,400 Indicators Without the SOAP Hell
The World Bank has a REST API but it returns XML by default, uses quirky pagination, and has undocumented quirks. Here is how to actually use it in Python.
The Economic Data Stack: GDP, Trade Flows, and Open Government Data as Clean JSON
Build a macroeconomic intelligence pipeline from authoritative open data. World Bank indicators, bilateral trade flows
Common questions
How many indicators does the World Bank API cover? +
Over 1,400 development indicators across 200+ countries and territories, including GDP, inflation, unemployment, trade, health, education, and environment metrics going back up to 60 years.
What is the correct URL format for the World Bank API? +
The base URL is https://api.worldbank.org/v2/country/{country_code}/indicator/{indicator_code}?format=json. The format=json parameter is required — the API returns XML by default.
What are the most useful indicator codes? +
NY.GDP.MKTP.CD (GDP current USD), FP.CPI.TOTL.ZG (inflation rate), SL.UEM.TOTL.ZS (unemployment rate), NE.TRD.GNFS.ZS (trade as % of GDP), SP.POP.TOTL (total population), and SE.ADT.LITR.ZS (adult literacy rate).
Why does the World Bank data seem out of date? +
Most World Bank indicators lag 1-2 years behind the current year because countries report national statistics after their fiscal year closes. The mrv parameter (most recent value) fetches the latest available data point, whatever year that is.
Can I pull data for multiple countries at once? +
Yes. Use a semicolon-separated list of country codes in the URL (e.g. /country/IN;CN;US/) or use ALL to get every country. Combine with per_page=500 and paginate with page= for bulk pulls.
Try it on Apify.
Free tier on Apify with 100 results included. No credit card required.