World Bank Indicators Scraper avatar

World Bank Indicators Scraper

Pricing

from $6.80 / 1,000 results

Go to Apify Store
World Bank Indicators Scraper

World Bank Indicators Scraper

Scrape World Bank development indicators with country, indicator name, year, value and unit for every country. Choose the indicator code and year range. Export to JSON, CSV or Excel.

Pricing

from $6.80 / 1,000 results

Rating

4.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

13 hours ago

Last modified

Share

World Bank Indicators Scraper

World Bank Indicators Scraper

Here is one real result, with every field the actor returns (the indicatorDescription is trimmed here for readability; the actor returns the full text):

{
"countryId": "MX",
"countryName": "Mexico",
"countryIso3": "MEX",
"countryIso2": "MX",
"region": "Latin America & Caribbean",
"adminRegion": "Latin America & Caribbean (excluding high income)",
"incomeLevel": "Upper middle income",
"lendingType": "IBRD",
"capitalCity": "Mexico City",
"latitude": 19.427,
"longitude": -99.1276,
"indicatorId": "NY.GDP.PCAP.CD",
"indicatorName": "GDP per capita (current US$)",
"indicatorSource": "World Development Indicators",
"indicatorSourceOrganization": "Country official statistics, National Statistical Organizations and/or Central Banks; National Accounts data files, Organisation for Economic Co-operation and Development (OECD); Staff estimates, World Bank (WB)",
"indicatorTopics": ["Economy & Growth"],
"indicatorDescription": "Gross domestic product is the total income earned through the production of goods and services in an economic territory during an accounting period. It can be measured in three different ways: using e…",
"year": "2023",
"value": 13830.843848864,
"unit": null,
"obsStatus": null,
"decimal": 1,
"source": "World Bank",
"observedAt": "2026-08-15T13:53:46.745Z"
}

The most complete World Bank indicators scraper available. It returns every observation the World Bank indicators API exposes for your chosen indicator across all countries and years, and enriches each one with country classification (region, income level, lending type, capital, coordinates) and the indicator's official definition, so a single export carries everything without a second lookup.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor calls the World Bank indicators API for the indicator code you pass, paginates through every country and every year in the range you set, and writes one normalized record per observation to the run's dataset. Country classification (region, admin region, income level, lending type, capital city, latitude and longitude) and the indicator's official metadata (source, source organization, topics, definition) are read once per run and attached to each observation, so a single export carries the full context.

Both country-level rows and World Bank aggregate rows (regions and income groups) are returned, exactly as the source publishes them. Missing source values are returned as null, never invented.

Quickstart

Open the actor, paste this into the input, and press Run. It returns GDP per capita for 2023 across countries.

{
"indicator": "NY.GDP.PCAP.CD",
"dateRange": "2023",
"maxObservations": 10
}

Every input field is optional. With an empty input the actor pulls the default indicator (NY.GDP.PCAP.CD) for the default year range (2015:2023), capped by maxObservations (default 10).

Input reference

FieldTypeRequiredDefaultDescription
indicatorstringnoNY.GDP.PCAP.CDWorld Bank indicator code to fetch for every country. Examples: NY.GDP.PCAP.CD (GDP per capita), SP.POP.TOTL (total population), SL.UEM.TOTL.ZS (unemployment rate).
dateRangestringno2015:2023Limit to a year or range, for example 2023 or 2015:2023. Leave empty for all available years.
maxObservationsintegerno10Maximum number of observations to collect. Free Apify plans are capped at 10 per run.

Output reference

One dataset item per observation (one country, one indicator, one year). Types: string, number, integer, string[], or null when the source value is absent.

FieldTypeDescription
countryIdstringWorld Bank two-letter code for the country or aggregate.
countryNamestringCountry or aggregate name.
countryIso3stringISO 3166-1 alpha-3 country code, or null for aggregates without one.
countryIso2stringISO 3166-1 alpha-2 country code.
regionstringWorld Bank region name, or Aggregates for regional/income-group rows.
adminRegionstringAdministrative region (excludes high income), or null.
incomeLevelstringIncome group: Low income, Lower middle income, Upper middle income, High income, or Aggregates.
lendingTypestringWorld Bank lending category: IDA, IBRD, Blend, Not classified, or Aggregates.
capitalCitystringCapital city, or null for aggregates.
latitudenumberCapital latitude, or null.
longitudenumberCapital longitude, or null.
indicatorIdstringThe indicator code that was requested.
indicatorNamestringOfficial indicator name, for example GDP per capita (current US$).
indicatorSourcestringSource database, for example World Development Indicators.
indicatorSourceOrganizationstringOrganizations behind the underlying data.
indicatorTopicsstring[]Topics the indicator belongs to, for example Economy & Growth.
indicatorDescriptionstringOfficial definition of the indicator.
yearstringObservation year.
valuenumberObservation value, or null when the source has no value for that country-year.
unitstringUnit of measure when the source publishes one, else null.
obsStatusstringObservation status flag from the source, or null.
decimalintegerNumber of decimal places the source recommends for display.
sourcestringAlways World Bank.
observedAtstringISO 8601 timestamp of when the record was collected.

Example output record

Real record from a live run (input {"indicator":"NY.GDP.PCAP.CD","dateRange":"2023"}; indicatorDescription trimmed for readability):

{
"countryId": "BR",
"countryName": "Brazil",
"countryIso3": "BRA",
"countryIso2": "BR",
"region": "Latin America & Caribbean",
"adminRegion": "Latin America & Caribbean (excluding high income)",
"incomeLevel": "Upper middle income",
"lendingType": "IBRD",
"capitalCity": "Brasilia",
"latitude": -15.7801,
"longitude": -47.9292,
"indicatorId": "NY.GDP.PCAP.CD",
"indicatorName": "GDP per capita (current US$)",
"indicatorSource": "World Development Indicators",
"indicatorSourceOrganization": "Country official statistics, National Statistical Organizations and/or Central Banks; National Accounts data files, Organisation for Economic Co-operation and Development (OECD); Staff estimates, World Bank (WB)",
"indicatorTopics": ["Economy & Growth"],
"indicatorDescription": "Gross domestic product is the total income earned through the production of goods and services in an economic territory during an accounting period. It can be measured in three different ways: using e…",
"year": "2023",
"value": 10377.5892792557,
"unit": null,
"obsStatus": null,
"decimal": 1,
"source": "World Bank",
"observedAt": "2026-08-15T13:53:46.744Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~world-bank-indicators-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"indicator":"SP.POP.TOTL","dateRange":"2015:2023","maxObservations":500}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~world-bank-indicators-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"indicator":"SL.UEM.TOTL.ZS","dateRange":"2023"}'

Apify CLI:

apify call scrapers_lat/world-bank-indicators-scraper \
--input '{"indicator":"NY.GDP.PCAP.CD","dateRange":"2023"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per observation returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxObservations.
  • Scope. One run fetches one indicator code across all countries and the year range you set. To pull several indicators, run the actor once per code.

FAQ and troubleshooting

A run returned 0 records. Why? The indicator code or year range matched nothing. Confirm the indicator code exists in the World Bank catalog and widen dateRange. Zero-result runs are not charged.

Why is value null for some countries? The World Bank has no observation for that country-year. Missing source values are returned as null, never invented.

Why do I see rows like "Latin America & Caribbean" or income groups? The World Bank publishes aggregate series alongside country rows. They are returned as-is with region/incomeLevel set to Aggregates so you can keep or filter them.

Where do I find indicator codes? Every World Bank indicator has a code (for example NY.GDP.PCAP.CD). Use the World Bank data catalog to look up the code for the series you need, then pass it as indicator.

Is this an official World Bank tool? No. This actor is independent and has no affiliation with the World Bank. It reads only data that is publicly available through the World Bank indicators API.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the World Bank. Accesses only publicly available World Bank data.