Worldbank Scraper
Pricing
Pay per event
Worldbank Scraper
Scrape World Bank economic data including GDP, population, trade, education, health, and 1,400+ indicators. Filter by country and time period. Export structured data.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
World Bank Data Scraper
Extract economic indicators from the World Bank's open data platform. Get GDP, population, unemployment, trade, education, health, and 1,400+ other indicators for any country and time period.
What does World Bank Data Scraper do?
World Bank Data Scraper fetches structured economic and development data from the World Bank's API. Specify indicator codes and countries, and it returns time-series data with values, country names, and metadata.
It supports all 1,400+ World Bank indicators and all 200+ countries and regions in the database.
Why use World Bank data?
The World Bank's open data platform is the premier source for global development statistics. Use cases include:
- Economic analysis — compare GDP, inflation, trade balances across countries
- Market research — assess market size, purchasing power, and growth trends
- Academic research — build datasets for economics, political science, and development studies
- Data journalism — create visualizations and stories with authoritative economic data
- Investment analysis — evaluate country-level economic fundamentals
- Policy research — track education, health, and poverty indicators over time
How much does it cost?
World Bank Data Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Data point extracted | $0.0005 per point |
Example costs:
- GDP for 5 countries over 10 years (50 points): ~$0.026
- 3 indicators for 20 countries over 5 years (300 points): ~$0.151
- Population data for all 200+ countries (200 points): ~$0.101
Platform costs are minimal. The World Bank API is free and requires no authentication.
Input parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
indicators | string[] | World Bank indicator codes | Required |
countries | string[] | ISO country codes (use all for all countries) | ["all"] |
dateRange | string | Year range in YYYY:YYYY format | All years |
maxResultsPerIndicator | integer | Maximum data points per indicator (1–10000) | 500 |
Common indicator codes
| Code | Indicator |
|---|---|
NY.GDP.MKTP.CD | GDP (current US$) |
SP.POP.TOTL | Population, total |
SL.UEM.TOTL.ZS | Unemployment rate (%) |
FP.CPI.TOTL.ZG | Inflation, consumer prices (%) |
NE.EXP.GNFS.ZS | Exports (% of GDP) |
EN.ATM.CO2E.KT | CO2 emissions (kt) |
SE.ADT.LITR.ZS | Adult literacy rate (%) |
SH.XPD.CHEX.GD.ZS | Health expenditure (% of GDP) |
IT.NET.USER.ZS | Internet users (% of population) |
NY.GDP.PCAP.CD | GDP per capita (current US$) |
Find more codes at data.worldbank.org/indicator.
Input example
{"indicators": ["NY.GDP.MKTP.CD", "SP.POP.TOTL"],"countries": ["US", "CN", "DE", "JP", "IN"],"dateRange": "2015:2024"}
Output example
Each data point is returned as a JSON object:
{"country": "United States","countryCode": "USA","countryIso3": "USA","indicator": "GDP (current US$)","indicatorCode": "NY.GDP.MKTP.CD","year": "2023","value": 27360935000000,"unit": "","scrapedAt": "2026-03-03T04:36:00.000Z"}
Output fields
| Field | Type | Description |
|---|---|---|
country | string | Country name |
countryCode | string | ISO 3166-1 alpha-3 code |
countryIso3 | string | ISO 3166-1 alpha-3 code |
indicator | string | Human-readable indicator name |
indicatorCode | string | World Bank indicator code |
year | string | Data year |
value | number | Indicator value (null values are filtered out) |
unit | string | Unit of measurement |
scrapedAt | string | ISO timestamp when data was extracted |
How to use the World Bank Data API
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/worldbank-scraper").call(run_input={"indicators": ["NY.GDP.MKTP.CD"],"countries": ["US", "CN", "DE", "JP", "IN"],"dateRange": "2015:2024",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():gdp_t = item["value"] / 1e12 if item["value"] else 0print(f"{item['country']:15s} {item['year']} GDP: ${gdp_t:.2f}T")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/worldbank-scraper').call({indicators: ['NY.GDP.MKTP.CD'],countries: ['US', 'CN', 'DE', 'JP', 'IN'],dateRange: '2015:2024',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {const gdpT = (item.value / 1e12).toFixed(2);console.log(`${item.country} ${item.year}: $${gdpT}T`);});
REST API
curl -X POST "https://api.apify.com/v2/acts/automation-lab/worldbank-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"indicators": ["NY.GDP.MKTP.CD", "SP.POP.TOTL"],"countries": ["US", "CN"],"dateRange": "2020:2024"}'
Integrations
Connect World Bank Data Scraper to hundreds of apps:
- Google Sheets — export economic data to spreadsheets for analysis and charts
- Slack / Microsoft Teams — notifications when data extraction completes
- Zapier / Make — trigger workflows with fresh economic data
- Amazon S3 / Google Cloud Storage — store large datasets
- Webhook — send data to your own analytics pipeline
Tips and best practices
- Find indicator codes — browse data.worldbank.org/indicator to find the right code for your data needs.
- Use date ranges — specify
dateRangeto avoid pulling decades of historical data when you only need recent years. - Null values — the scraper automatically skips null/missing data points. Some countries may not have data for all years.
- Country groups — World Bank codes include aggregates like
WLD(World),EUU(EU),OED(OECD). Use these for regional comparisons. - Multiple indicators — combine related indicators in one run (e.g., GDP + population + unemployment) to build comprehensive country profiles.
- All countries — omit the
countriesparameter or use["all"]to get data for every country and aggregate. - Large datasets — increase
maxResultsPerIndicatorup to 10,000 for comprehensive time series.
FAQ
Q: How current is the data? A: The World Bank updates most indicators annually. GDP and population data is typically available within 6-12 months of the reporting period.
Q: Does it need an API key? A: No. The World Bank API is completely open and free.
Q: What countries are available? A: All 217 World Bank member countries and economies, plus aggregates (World, income groups, regions).
Q: Can I get monthly or quarterly data? A: Most World Bank indicators are annual. For higher-frequency data, consider other sources like the IMF or FRED.