World Bank Scraper: GDP, Inflation & 16,000 Indicators avatar

World Bank Scraper: GDP, Inflation & 16,000 Indicators

Pricing

Pay per event

Go to Apify Store
World Bank Scraper: GDP, Inflation & 16,000 Indicators

World Bank Scraper: GDP, Inflation & 16,000 Indicators

Scrape World Bank Open Data: GDP, inflation, population, unemployment, CO2 and 16,000+ indicators for every country since 1960, one row per country-year, plus indicator definitions and a country directory. Export CSV, Excel, JSON, XML. No login or API key. Not billed for empty runs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

RecordsData

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

RecordsData

🏦 World Bank Scraper: GDP, Inflation & 16,000 Indicators

World Bank Scraper downloads World Bank Open Data indicators (GDP, inflation, population, unemployment, CO2 and 16,000+ more) as one row per country and year. Every row can carry region, income level, lending type, capital city, coordinates and the indicator's source and topics, so no join is needed. Filter by region, income group or lending type, or drop aggregates. Get CSV, Excel, JSON or XML. No login and no API key. Data comes from the official World Bank API. Priced per row, never for errors or empty results.

World Bank Scraper turns the Bank's official open API into analysis-ready panels. In a verified cloud run on 2026-10-03, the inflation indicator FP.CPI.TOTL.ZG for the US, Brazil, Mexico and Colombia returned 10 rows in about 3 seconds of run time, with no empty columns. It is built for analysts, journalists, researchers and BI teams that need citable country statistics without writing API code.

🔎 What does the World Bank Scraper do?

  • Download any indicator by code, for example "Brazil GDP 2000-2024", for several indicators and countries in one run, or all for every country and aggregate.
  • Enrich every data row with region, income level, lending type, capital city, coordinates, ISO2 code, aggregate flag and the indicator's database, source, description and topics (enrichRows, on by default, free).
  • Filter countries by region, income level and lending type, or exclude the 79 aggregates; restrict the year range (data starts in 1960).
  • Add one definition row per indicator and an optional country directory.
  • Skip years with no observation, so you only pay for real values.

There is no only-new or monitoring mode. World Bank data is revised once or twice a year, so each run returns the full requested panel.

📋 What data can you extract from World Bank Open Data?

The dataset schema has 32 columns. Fields that do not apply to a row type are omitted instead of being filled with empty values.

GroupFieldsNotes
Row typerecordTypedata-point, indicator-info or country
IndicatorindicatorCode, indicatorNameWorld Bank code and name
Observationcountry, iso3, year, value, unit, obsStatus, decimalsunit and obsStatus only when the Bank provides them
Country detailsiso2, region, adminRegion, incomeLevel, lendingType, capitalCity, latitude, longitude, isAggregateOn every data row when enrichRows is on; also in country directory rows
Indicator detailsindicatorDatabase, indicatorSource, indicatorDescription, indicatorTopicsOn every data row when enrichRows is on
Definition rowsdescription, source, topicsIndicator definition rows only
Directory rowsnameCountry directory rows only
Provenanceurl, scrapedAtLink to data.worldbank.org and ISO timestamp
Errorserror, errorType, hintOnly on free error rows

With enrichRows off, data rows keep the compact shape: code, name, country, iso3, year, value, unit, obsStatus, url, scrapedAt.

📊 Sample output

A real enriched data row from a local run on 2026-10-09 (GDP, United States, 2023):

{
"recordType": "data-point",
"indicatorCode": "NY.GDP.MKTP.CD",
"indicatorName": "GDP (current US$)",
"country": "United States",
"iso3": "USA",
"iso2": "US",
"year": 2023,
"value": 27811517000000,
"decimals": 0,
"region": "North America",
"incomeLevel": "High income",
"capitalCity": "Washington D.C.",
"isAggregate": "No",
"indicatorDatabase": "World Development Indicators",
"indicatorSource": "Country official statistics, National Statistical Organizations and/or Central Banks...",
"indicatorDescription": "Gross domestic product is the total income earned through the production of goods and services...",
"indicatorTopics": ["Economy & Growth"],
"url": "https://data.worldbank.org/indicator/NY.GDP.MKTP.CD",
"scrapedAt": "2026-10-09T17:41:46.522Z"
}

The source and description texts are shortened here. The isAggregate flag is the string "Yes" or "No", and aggregates such as World carry region "Aggregates".

💰 How much does it cost to scrape World Bank data?

Pay per event. You are charged only for rows that are saved with a real value.

EventWhat countsPrice (Free plan)
Data pointOne country-year value for a requested indicator$0.015 each ($15 per 1,000)
Metadata rowOne indicator definition or one country directory row$0.010 each

Worked example for 1,000 results: 1,000 data points cost 1,000 x $0.015 = $15.00 on the Free tier, plus $0.01 for each indicator definition row (for example one indicator: $15.01 in total), or $0.01 per country directory row if you switch it on. Paid Apify plans get tiered discounts (Gold and above: $0.0126 per data point). The 10-row test run above (9 data points and 1 indicator definition) bills $0.145 on the Free tier. You are not charged for failed requests, error rows, rows without a value, or runs that deliver nothing. Set a maximum cost per run and the actor stops cleanly when it is reached.

🚀 How to scrape the World Bank API in 3 steps

  1. Open the actor and click Try for free.
  2. Enter indicator codes (default: NY.GDP.MKTP.CD and SP.POP.TOTL), countries and a year range.
  3. Click Start, then download the dataset as CSV, Excel, JSON or XML.

⚙️ Input

FieldDefaultMeaning
indicatorsGDP, populationWorld Bank codes, one per line
countriesallISO2/ISO3 codes or all; combines with the filters below
yearFrom, yearTo2000, 2026Time range, minimum 1960
skipEmptyValuestrueDrop country-years with no value
enrichRowstrueAdd country and indicator details to every data row (free)
excludeAggregatesfalseDrop regional and income-group aggregates, keep countries only
regionsempty (all)Multi-select: EAS, ECS, LCN, MEA, NAC, SAS, SSF
incomeLevelsempty (all)Multi-select: HIC, UMC, LMC, LIC
lendingTypesempty (all)Multi-select: IBD (IBRD), IDB (Blend), IDX (IDA), LNX (Not classified)
includeIndicatorInfotrueOne definition row per indicator
includeCountryDirectoryfalseAdd the country directory
maxItems10Cap on billable rows (free plan: 10, paid up to 1,000,000)

Example:

{
"indicators": ["FP.CPI.TOTL.ZG"],
"countries": ["US", "BR", "MX", "CO"],
"yearFrom": 2018,
"yearTo": 2024,
"maxItems": 10
}

📦 Output

One dataset with three row types and 32 columns in schema order, exportable through the dataset API or the Console. If a valid range has no observations, the run succeeds with zero rows and a status message. If the World Bank rejects the request (unknown indicator code), the run fails with a clear message and nothing is billed.

⚖️ World Bank scraper vs alternatives

Competitor features and prices read from their public Apify Store pages on 2026-10-09.

CapabilityThis actorscrapers_latchrisp1211
CoverageAny of 16,000+ codes, many per runOne indicator per run, all countriesMany indicators and countries per run
Output fields32 columns24 fields15 fields
Per-row region, income, capitalYes, free toggleYesNot stated
Filters: region, income, lending, aggregatesYesNot statedNot stated
Indicator definitions, country directory rowsYes, optional rowsDefinition inline, no directoryNot stated
ExportCSV, Excel, JSON, XMLJSON, CSV, ExcelJSON, CSV, Excel, Sheets, HTML
Only-new / monitoringNoNot statedNot stated
Price per 1,000 rows$15 data, $10 metadataFrom $6.80$0.40

The other three actors I read (glitchbound, themineworks, ninhothedev) also take several indicators and countries, list 9 to 14 fields without region or income columns, and charge $0.40 to $1 per 1,000.

Every rival is cheaper. If you need a bare series and price decides, chrisp1211 or the free World Bank API fits better. If you need one indicator with enrichment at lower cost, scrapers_lat fits. This actor fits when you want many indicators in one run, enrichment on each row, and region, income or lending filters, and you accept paying more. It has no only-new mode.

💼 Use cases

Consulting reports, journalism and education with citable values, BI and fintech joins on ISO3 code and year, and multi-country, multi-decade academic panels.

🔌 Run via API, schedule and integrations

curl -X POST "https://api.apify.com/v2/acts/RecordsData~world-bank-indicators-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"indicators":["NY.GDP.MKTP.CD"],"countries":["BR"],"yearFrom":2015,"yearTo":2024}'

Use the Apify API or apify-client for Node.js and Python, schedule runs, and connect the dataset to Zapier, Make, n8n, Google Sheets or Airbyte.

🤖 World Bank scraper MCP server for AI agents (Claude, Cursor, VS Code)

Connect this actor to any MCP client through the Apify MCP server. Use this URL, which exposes only this actor as a tool:

https://mcp.apify.com?tools=RecordsData/world-bank-indicators-scraper

Config for clients that take a JSON MCP config:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=RecordsData/world-bank-indicators-scraper"
}
}
}

Example agent prompt: "Use the World Bank scraper to get inflation (FP.CPI.TOTL.ZG) for the US, Brazil, Mexico and Colombia from 2018 to 2024, then tell me which country had the highest inflation in each year."

Choose this tool when an agent needs World Bank country statistics such as GDP, inflation or population as one row per country and year, with region, income level and indicator details on each row. Every input has a default value, so an agent can start with {}; it takes the same input as the actor (indicators, countries, yearFrom, yearTo, enrichRows, excludeAggregates, regions, incomeLevels, lendingTypes, maxItems).

The actor reads the World Bank's official public API. The data is open and published under the CC BY 4.0 license, so you can reuse it with attribution to the World Bank. It contains no personal data. Check the license terms of each indicator source on data.worldbank.org before redistributing.

❓ Frequently asked questions

Where do I find World Bank indicator codes?

Open any chart on data.worldbank.org and read the code from the URL, for example NY.GDP.MKTP.CD for GDP in current US dollars. Paste codes into the indicators field of the World Bank Scraper, one per line. Common codes are NY.GDP.PCAP.CD, FP.CPI.TOTL.ZG, SP.POP.TOTL, SL.UEM.TOTL.ZS and EN.ATM.CO2E.PC.

What does countries = "all" return in the World Bank Scraper?

Setting countries to all makes the World Bank Scraper request every country plus the World Bank aggregates such as regions and income groups, about 296 series per indicator and year. If you only want individual countries, list their ISO2 or ISO3 codes instead, for example US, BR, MX, which keeps the row count and cost lower.

How do I filter World Bank data by region or income level?

Use the regions, incomeLevels and lendingTypes inputs of the World Bank Scraper. Each is a multi-select: regions use codes such as LCN for Latin America and the Caribbean, income levels use HIC, UMC, LMC and LIC. Filters combine with the countries list and with each other. If nothing matches, the run succeeds with one free error row and no charge.

Does the World Bank Scraper exclude regional aggregates?

Only if you ask. Set excludeAggregates to true and the World Bank Scraper drops the 79 regional and income-group aggregates such as World, Sub-Saharan Africa and High income, keeping individual countries. Left false, countries: all returns aggregates too, and the isAggregate column marks them so you can filter them later in your own tools.

What does enrichRows add to each row?

With enrichRows on (the default), every data row gets iso2, region, adminRegion, incomeLevel, lendingType, capitalCity, latitude, longitude, isAggregate, indicatorDatabase, indicatorSource, indicatorDescription, indicatorTopics and decimals. It costs nothing extra, because the country list is fetched once per run. Turn it off for the compact row shape.

How far back does World Bank data go?

The World Bank Scraper can return data from 1960 for the classic indicators, which is the minimum value of yearFrom. Not every indicator has values for every year or country, so set yearFrom and yearTo to the range you need. With skipEmptyValues on, years with no observation are dropped and not billed.

Why did the World Bank Scraper return 0 results?

The indicator has no observation for those countries and years, or you asked for years in the future. Widen the year range or try another indicator. A fully valid World Bank Scraper request with no data still succeeds, returns zero rows, shows a status message and costs nothing.

Why did my World Bank Scraper run fail?

Most often the cause is an unknown indicator code that the World Bank rejects, or yearFrom greater than yearTo. The World Bank Scraper writes the reason in the run status message so you can fix the input. Failed runs are not billed, so a wrong indicator code never costs you money.

Am I charged for World Bank rows without a value?

No. The World Bank Scraper bills a data point only when the row holds a real value, at $0.015 on the Free plan. With skipEmptyValues switched off, empty country-year observations are still returned in the dataset, but they are never billed. Error rows and runs that deliver nothing are not billed either.

What happens if I send an empty or invalid input to the World Bank Scraper?

An empty input {} runs the defaults, GDP and population, with 10 rows. Input mistakes such as no indicators, or yearFrom greater than yearTo, end the World Bank Scraper run as SUCCEEDED with a single free error row (errorType: invalid-input, plus a hint) and no charge. Invalid values for typed fields are rejected with a 400 before any run starts.

Do I need a World Bank API key?

No. The World Bank Scraper reads the official public World Bank API, which needs no login and no API key. You only need an Apify account to run the actor. The data is open under the CC BY 4.0 license, so reuse it with attribution to the World Bank, and check each indicator's source terms before redistributing.

What are the free plan limits of the World Bank Scraper?

Free Apify users get a 10-row preview per World Bank Scraper run, which is enough to check the indicator codes and the output format. Paid plans can run up to 1,000,000 rows per run by setting maxItems. Set a maximum cost per run in the run options and the actor stops cleanly when it is reached.

🔗 Want more economic and public data? Other RecordsData scrapers

🛟 Support

Found a bug or a missing field? Open the Issues tab or write to contact.punkrecordsdata@gmail.com. Custom solutions available on request.

Last updated: 2026-10-11