World Bank Open Data
World Bank Open Data
Official World Bank Indicators API (V2, https://api.worldbank.org/v2): nearly 16,000 development and macro time-series indicators from over 45 databases, including World Development Indicators for 217 economies and more than 40 country groups. No API key; XML by default (JSON with format=json), plus CSV, XML or Excel ZIP downloads.
The World Bank Indicators API is the free, official programmatic route to the data behind data.worldbank.org and DataBank. The World Bank says it "provides access to nearly 16,000 time series indicators" from "over 45 databases", including World Development Indicators (WDI), International Debt Statistics and the Human Capital Index, and that "Many data series date back over 50 years." WDI alone has 1,400 indicators for 217 economies and more than 40 country groups; it is annual, covering 1960 to 2025.
Use version 2 (https://api.worldbank.org/v2/...). Version 1 was "discontinued entirely on June 19, 2020" and now returns an error. No key is needed: "API keys and other authentication methods are no longer necessary to access the API." Responses are XML unless you pass format=json (JSON-stat and JSONP also work), and pages hold 50 rows by default (set per_page). A JSON response is a two-item list: paging metadata, then the rows. Whole indicators can also be downloaded as CSV, XML or Excel ZIP files with downloadformat. No rate limit is published.
Most datasets are licensed CC BY 4.0, which allows commercial use with attribution; some carry other licenses, labeled on each dataset.
Required Attribution:
Most datasets are CC BY 4.0, used with attribution; some carry other licenses, check each dataset
Coverage
Nearly 16,000 time-series indicators from 45+ databases, including World Development Indicators (1,400 indicators for 217 economies and 40+ country groups); many series go back more than 50 years. Free, no key.
Good for
- Cross-country macro context for country, EM or FX models: GDP growth, inflation, debt, trade and population
- Slow-moving regime features (annual or monthly), lagged to publication dates in backtests
- Bulk-downloading one indicator for every country as a CSV ZIP (downloadformat=csv) for a research dataset
Verdict
Free, official and keyless, with most datasets under CC BY 4.0 (commercial use allowed with attribution). A good fit for cross-country macro context and slow-moving regime features such as GDP growth, inflation, debt and trade. Not a fit for intraday or event-timing signals: most series, including World Development Indicators, are annual (WDI covers 1960 to 2025) and arrive with a lag, though a few sources such as the Global Economic Monitor are monthly. In backtests, align each value to when it was published, not to its reference year. No rate limit is published. Pass format=json (the default is XML) and raise per_page (the default is 50 rows).
Endpoints
| Endpoint | Returns |
|---|---|
/v2/country/{codes}/indicator/{indicator}?format=json | Values for one indicator and one or more countries (separate codes with ;); date, per_page, mrv, source |
/v2/indicator?format=json | List all indicators (paged) |
/v2/sources?format=json | List the source databases (WDI is source 2) with last-updated dates |
/v2/country?format=json | Countries and aggregates with region and income group |
/v2/country/{code}/indicator/{indicator}?downloadformat=csv | Download as a CSV ZIP file (xml and excel also work) |
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load World Bank indicators into pandas and Parquet. Checked against the provider's documentation on Oct 29, 2026.
Access
- No account or API key.
Request
curl 'https://api.worldbank.org/v2/country/US;CN/indicator/NY.GDP.MKTP.KD.ZG?format=json&date=2022:2025&per_page=100'Format
JSON: a two-item list, paging metadata (page, pages, per_page, total, lastupdated) then the rows. Without format=json the API answers in XML.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""World Bank Indicators API (GDP growth, all countries) -> pandas -> Parquet. No key."""
import requests
import pandas as pd
URL = "https://api.worldbank.org/v2/country/all/indicator/NY.GDP.MKTP.KD.ZG"
params = {"format": "json", "date": "2000:2025", "per_page": 1000, "page": 1}
rows = []
while True:
r = requests.get(URL, params=params, timeout=60)
r.raise_for_status()
meta, data = r.json() # the JSON is a two-item list: paging metadata, then the rows
rows += data or []
if params["page"] >= meta["pages"]:
break
params["page"] += 1
df = pd.json_normalize(rows)[["countryiso3code", "country.value", "date", "value"]]
df.columns = ["iso3", "country", "year", "gdp_growth_pct"]
df["year"] = df["year"].astype(int)
df.to_parquet("world_bank_gdp_growth.parquet", index=False)
print(len(df), "rows; last updated", meta.get("lastupdated"), "; missing values", int(df["gdp_growth_pct"].isna().sum()))Run by us on 2026-10-29 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 6,916 rows for 266 countries and aggregates, 2000 to 2025; 314 empty values.
Limits
- Rate limit: Not stated.
- Pages default to 50 rows; set per_page and follow pages.
Quirks
- country/all also returns aggregates such as Euro area and income groups; income groups have an empty countryiso3code. Filter them out before country-level work.
- Missing years come back as value null.
- Values can be revised in later updates; keep the lastupdated date with your copy.
Terms and attribution
- Most datasets, including World Development Indicators, are CC BY 4.0: credit the World Bank and say if you changed the data. Some datasets carry other licenses, so check each one.
Sources
- https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-about-the-indicators-api-documentation: “API keys and other authentication methods are no longer necessary to access the API.”
- https://datahelpdesk.worldbank.org/knowledgebase/articles/898581-api-basic-call-structures: “The default setting is 50 results per page.”
- https://datacatalog.worldbank.org/public-licenses: “Users are only obligated to give appropriate credit (attribution) and indicate if they have made any changes”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer