https://2s.io/api/worldbank/indicator
World Bank Open Data — fetch a time series of a specific indicator for a country (or 'all'). 1000+ indicators across 200+ countries, many series going back to 1960. Indicator codes are dotted-token strings, e.g., NY.GDP.MKTP.CD (GDP current US$), SP.POP.TOTL (population total), FP.CPI.TOTL.ZG (inflation CPI annual %), SL.UEM.TOTL.ZS (unemployment %), SE.ADT.LITR.ZS (adult literacy %), SP.DYN.LE00.IN (life expectancy). Country = ISO 2-letter (e.g., US, CN), ISO 3-letter (USA, CHN), or 'all'. Optional yearFrom/yearTo bracket. Each observation: country id+name, year, numeric value (may be null for missing), obsStatus. Returns indicator name + total count + pagination metadata.
Start with a quote-only recipe. Payment signing stays in your project.
const response = await fetch("https://2s.io/api/worldbank/indicator", {
method: "GET",
});
console.log(response.status);
console.log(Object.fromEntries(response.headers));
console.log((await response.text()).slice(0, 1000));
// A valid 402 is a quote, not a completed paid call.This sends no payment. Inspect the 402 response before adding a wallet-enabled client.
- Live 402 quote confirmed
GET returned a protocol-valid 402 quote (402). No payment was made.
- Origin reachable
HEAD https://2s.io/ returned 200.
- Observed in cdp-bazaar
The registry record was observed and retained with provenance.
- Observed in 402-index
Discovered through bazaar.
- Registry record checked
Registry health: healthy.
EVIDENCE
Each record has an exact-route quote outcome. Unresolved templates and potentially mutating methods are labeled instead of being invoked without provider-specific test input. A quote is still separate from a settled paid call.