World Bank Open Data
worldbank.org · Debrid · 1 record · JSON
World Bank Open Data (Indicators API v2) Debrid
★ qualifiesanonymousno cardMrequest-rate
| Free tier | 'API keys and other authentication methods are no longer necessary to access the API.' Nearly 16,000 time series indicators across over 45 databases, many series back over 50 years. unit unlimited; metered on none; No rate limit is published anywhere on the API documentation. |
|---|---|
| Price | USD 0 |
| Per-object cap | not applicable: JSON or XML per call, with per_page up to 32,000 rows on some indicators. The responses measured here were 9,735-13,760 bytes each at per_page=50. |
| Retention | the indicator series are revised in place; there is no versioned snapshot endpoint documented |
| Egress | Free and unmetered. No key, no account, no attribution gate at the transport level. free_allowance: no byte allowance published |
| Identity | anonymous No key: 'API keys and other authentication methods are no longer necessary'. Anonymous GET returned 200 and 324 bytes for per_page=1. |
| Limits |
|
| Binding | request-rate The API returns about 11 KB per call, so 1 TiB would take roughly 95 million calls; per-call latency, not any byte quota, is what limits a day. Parallel calls help here, unlike on the file hosts. |
| Interface | rest, cli GET https://api.worldbank.org/v2/country/{codes}/indicator/{code}?format=json&per_page=N&page=N; format=xml also accepted. endpoint: https://api.worldbank.org/v2/ |
| Tooling | curl/python-requests; wbgapi and pandas-datareader wrap it. No SDK needed. |
| Composes with | The economic and social join keys for any national-level dataset; it is metadata-density, not byte-volume, so it pairs with a large byte source rather than replacing one. |
| Reliability | Sequential calls cost about 2.2 s each from this machine, so an unparallelised harvest spends its day in latency; the API answered all 44 calls made here without a single 429. |
| Notes | A useful contrast: on the file hosts, more connections made things slower here eight connections made the same 24 calls 21 times faster than one. The difference is latency-bound JSON versus bandwidth-bound files. |
| Evidence rung | measured 44 calls were made and counted, at 1 and 8 connections, with bytes per response recorded. What is not measured is the point at which throttling starts, because none was reached. |
| Checked | 2026-10-24 (live); stale on 2026-11-23 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | datahelpdesk.worldbank.org/knowledgebase/articles/889392-abo | 'API keys and other authentication methods are no longer necessary to access the API' and 'nearly 16,000 time series indicators' |
| 2026-10-23 | probe:https://api.worldbank.org/v2/country/all/indicator/NY.GDP.MKTP.CD?format=json&per_page=50 | 20 sequential requests in 43,774 ms, 19x200 and 1 transport error, mean 10,615.8 bytes per response; sha256 of the first response a9dc0be3cba1c4bff059bfe695824288b4b542ddf13bb529ee2582bf5bcdadc3 |
| 2026-10-23 | probe:https://api.worldbank.org/v2/country/all/indicator/NY.GDP.MKTP.CD?format=json&per_page=50 (8 connections, 3 rounds) | 24 requests in 2,061 ms wall, all 200, 9,735-13,760 bytes per response - no 429 at about 18 requests/second |
More fields (5)
{
"one_conn_20_req_ms": 43774,
"eight_conn_24_req_ms": 2061,
"mean_bytes_per_response": 10615.8,
"observed_rps": 18.3,
"first_response_sha256": "a9dc0be3cba1c4bff059bfe695824288b4b542ddf13bb529ee2582bf5bcdadc3"
}