World Bank Open Data (Indicators API v2)
- Free allowance
- '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.
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tier
- Identity
- anonymousno card, no phone
- Binding limit
- request-ratenone published; measured 24 requests in 2.061 s at 8 connections (about 18 requests/second over the request phase) with no 429, and 20 requests in 43.774 s sequentially (latency-bound at about 2.2 s per call)
- Evidence
- measured3 sources; a live request was made and its output kept
- Freshness
- stale on 2026-11-23checked 2026-10-23 (live); stale on 2026-11-23
| 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 |
| 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. |
| 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. |
| Egress | Free and unmetered. No key, no account. free allowance: no byte allowance published |
| 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 |
| 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 note | 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. |
| 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 |