World Bank API
$0.0002 / datapoint
$0.20 / 1K · pay per delivered datapoint
A World Bank API call takes one indicator code and a set of countries and returns a clean panel: one row per country-year with the numeric value, the ISO3 code and the indicator's label. NY.GDP.MKTP.CD makes it a GDP API, SP.POP.TOTL a population series, FP.CPI.TOTL.ZG an inflation feed — the Bank's roughly 16,000 indicator codes all answer in the same shape, keyless.
$0.0002 per delivered datapoint · $2 free every month · Failed runs never billed
What it does
What a World Bank API does
The World Bank indicators API is open and official, but it answers in paged JSON with a metadata envelope in front of the data. Here the panel arrives already long-format — country, year, value — which is the layout a pivot, a regression or a database table accepts without reshaping, joined on country_code plus year.
Years the Bank holds no figure for are skipped by default, so the series you store is dense rather than padded with nulls; set include_empty when the gaps need to stay visible. Up to 30 countries ride in one call, ISO2 or ISO3, and aggregate codes like WLD pass through the same way — a country data API that also covers the world total.
Inputs
The whole request. Anything you leave out falls back to the default shown in the catalog.
| Input | Type | Required | What it does |
|---|---|---|---|
indicator | string | yes | World Bank indicator code. |
countries | array | yes | ISO2/ISO3 country codes. |
year_from | integer | no | First year (default: all). |
year_to | integer | no | Last year (default: latest). |
include_empty | boolean | no | Keep rows whose value is null. |
max_results | integer | no | How many datapoints to deliver at most (1–200). You pay only for delivered datapoints. |
Outputs — 10 fields, one row per datapoint
What one datapoint looks like
Every delivered datapoint carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.
| Field | Type | What it holds |
|---|---|---|
rank | integer | 1-based position. |
country | string · nullable | Country name. |
country_code | string · nullable | ISO3 code. |
year | string · nullable | Year. |
value | number · nullable | Indicator value. |
indicator | string | Indicator code. |
indicator_name | string · nullable | Indicator label. |
country_iso2 | string · nullable | ISO 3166-1 alpha-2 country code. |
unit | string · nullable | Unit, when the Bank states one. |
obs_status | string · nullable | Observation status flag, when present. |
Integration
One POST, typed rows
Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/.
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/world_bank/run \
-H "Authorization: Bearer $QD_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Example response
$ curl $QD/world_bank/run \
-H "Authorization: Bearer $QD_API_KEY" \
-d '{}'
{ "status": "done", "count": 10,
"results": [
{
"country": "…",
"country_code": "…",
"year": "…",
"value": … } ],
"cost": 0.002 }
# 10 datapoints × $0.0002 · nothing delivered, nothing charged
Try it
World Bank indicators, running now
Change the input and run it against the live collector — nothing to install, no sign-up.
Run it from your own code, on your own inputs
Same collector, same rows — $2 of free API credit every month, no card.
Pricing
World Bank API pricing
$0.0002 per delivered datapoint. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 10,000 datapoints before you spend anything.
Pay as you go
- $2 free credit / month
- 60 requests / min
- List unit prices
Starter
- $15 free credit / month
- 300 requests / min
- 10% off unit prices
Growth
- $50 free credit / month
- 600 requests / min
- 20% off unit prices
Scale
- $250 free credit / month
- 1,200 requests / min
- 30% off unit prices
Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.
What people build with the World Bank API
Three shapes of work this endpoint was designed around.
Macro feature panels
Pull GDP, inflation or population per country-year and join them onto your observations as model features keyed by country code and year.
Country enrichment joins
A market-sizing or lead table with a country column picks up population and income columns from one indicator call each.
Long-run trend series
year_from reaches back toward 1960, so a single request returns decades of one indicator for charting or back-testing.
World Bank API versus rolling your own
The differences that actually cost time when you build this in-house.
| DIY scraper | This collector | |
|---|---|---|
| Panel shape | Paged JSON behind a metadata envelope | Long-format rows: country, year, value |
| Missing years | Nulls scattered through the series | Skipped by default, kept only on request |
| Batching countries | A request loop over country codes | Up to 30 countries in a single call |
What people search for
Live autocomplete demand around World Bank indicators, pulled with our own Keyword ideas collector.
Sources and standards
The platform documentation and standards this collector is built against — check any claim on this page against the primary source:
Which indicator codes does the World Bank API accept?
Any code from the Bank's catalog of roughly 16,000 — NY.GDP.MKTP.CD for GDP in current US dollars, SP.POP.TOTL for population, FP.CPI.TOTL.ZG for CPI inflation — one indicator per call, across the countries you list.
Why are some years missing from the series?
Because the Bank publishes no figure for them. Null-value years are dropped so the panel stays dense; pass include_empty as true and they come back as rows with a null value instead.
Can I query world or regional aggregates?
Yes — aggregate codes such as WLD for the world total travel through the countries list exactly like ISO codes, so a global series and a country comparison come from the same call shape.
Is there a free World Bank API?
Every account gets $2 of credit every month with no card, which is about 10,000 delivered datapoints on this endpoint at $0.0002 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.
How much does one run cost?
Multiply the rows you actually receive by $0.0002. A run capped at 200 datapoints — the maximum for this collector — costs $0.04 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.
Run the World Bank API now
$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.
