Skip to main content
The largest dataset in the API: 258 indicators across 268 countries, drawn from central banks, national statistical offices and international compilers. Indicator IDs are stable across countries. cpi_inflation_yoy means the same thing in Turkey as in Japan, which is what makes a cross-country query a single request rather than a mapping exercise.

Families

A country panel

One call returns the current reading of every indicator held for a country. This is the request behind a dashboard, and it replaces the per-metric fan-out that most people reach for first.
One panel call is dramatically faster than one call per indicator, and it is what the endpoint is built for. From a browser it also avoids a CORS preflight per metric.

One series, with history

One indicator, every country

Drop the country filter to get a cross-section: the same indicator for every country that publishes it.

Things that will bite

Units differ by country for the same indicator. Payrolls arrive in thousands from one office and persons from another. Read unit on every row and never pool across units. See Units and periods. Not every country has every indicator. Ask rather than probe: /countries/{iso}/available-indicators is authoritative, and an empty response is an answer, not a failure. Some collections have ceased. collectionStatus: "ceased" means the publisher retired the series permanently. It will not resume, and carrying its last value forward as current is the quiet way to get a wrong answer for years. Annual fallbacks are marked. A country whose only coverage is fallbackOnly has no live national source. The row is real World Bank data and the wrong thing to score.

Trust metadata

The flags that decide whether a row belongs in a model.

Data availability

How deep coverage actually goes, per tier.