World Bank Open Data Scraper avatar

World Bank Open Data Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
World Bank Open Data Scraper

World Bank Open Data Scraper

Extract economic indicators from World Bank API. 29,000+ indicators for 200+ countries - GDP, population, trade, poverty. Search indicators, get country time-series data, or list all countries. No API key needed. Great for research and AI pipelines.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

cloud9

cloud9

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Categories

Share

Extract economic indicators from World Bank API. 29,000+ indicators for 200+ countries - GDP, population, trade, poverty. Search indicators, get country time-series data, or list all countries. No API key needed. Great for research and AI pipelines.

Use cases

  • Compare countries on GDP, population, or development indicators
  • Build a macro dashboard without an API key
  • Backfill multi-year indicator series for modelling
  • Support market-entry research with country data
  • Automate recurring development-economics reporting

Input

ParameterTypeRequiredDefaultDescription
modestringYes"getCountryData"Operation mode: search indicators by keyword, get country data for a specific indicator, or list all countries Allowed: searchIndicators, getCountryData, listCountries.
querystringNo"GDP"Keyword to filter indicators (used in searchIndicators mode)
countryCodestringNo"JP"ISO 3166-1 alpha-2 country code (e.g., JP, US, DE). Used in getCountryData mode.
indicatorIdstringNo"NY.GDP.MKTP.CD"World Bank indicator ID (e.g., NY.GDP.MKTP.CD for GDP in current USD). Used in getCountryData mode.
dateRangestringNo"2015:2024"Date range for data retrieval, format YYYY:YYYY (e.g., 2015:2024). Used in getCountryData mode.
maxResultsintegerNo50Maximum number of records to return (1-1000)

Example input

{
"mode": "getCountryData",
"query": "GDP",
"countryCode": "JP",
"indicatorId": "NY.GDP.MKTP.CD",
"dateRange": "2015:2024",
"maxResults": 10
}

Output

The exact fields depend on the mode you run. This is real output from an actual run of this Actor:

{
"country": {
"id": "JP",
"value": "Japan"
},
"indicator": {
"id": "NY.GDP.MKTP.CD",
"value": "GDP (current US$)"
},
"date": "2024",
"value": 4190008188358.57,
"unit": "",
"scrapedAt": "2026-09-06T15:22:34.481Z"
}
FieldType
countryobject
indicatorobject
datestring
valuenumber
unitstring
scrapedAtstring

The dataset also ships a preset table view (Results), so the key columns are readable straight away in Apify Console, and exportable to JSON, CSV, Excel, or XML.

How to run it

In Apify Console — open the Actor, fill in the input form, click Start, then download the results from the Dataset tab.

With the JavaScript client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('cloud9_ai/worldbank-scraper').call({
"mode": "getCountryData",
"query": "GDP",
"countryCode": "JP",
"indicatorId": "NY.GDP.MKTP.CD",
"dateRange": "2015:2024",
"maxResults": 10
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

With the Python client

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('cloud9_ai/worldbank-scraper').call(run_input={
"mode": "getCountryData",
"query": "GDP",
"countryCode": "JP",
"indicatorId": "NY.GDP.MKTP.CD",
"dateRange": "2015:2024",
"maxResults": 10
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

With the APIPOST https://api.apify.com/v2/acts/cloud9_ai~worldbank-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN with the input JSON as the body.

Notes and limits

  • No API key, account, or login is needed — just the input above.
  • maxResults caps how much a single run collects, which is also what caps the run's cost.
  • Requests are paced and failed requests are retried automatically, so runs stay inside the source's rate limits.
  • Only publicly available data is collected. How you use the output is your responsibility, including the source's terms of use and any applicable data-protection law.

Support

Found a bug, or need a field that isn't in the output? Open an issue on the Issues tab of this Actor in Apify Console. Issues there are read and answered.

License

Apache-2.0