World Bank and Eurostat API: GDP, Inflation and Unemployment avatar

World Bank and Eurostat API: GDP, Inflation and Unemployment

Pricing

$2.00 / 1,000 data points

Go to Apify Store
World Bank and Eurostat API: GDP, Inflation and Unemployment

World Bank and Eurostat API: GDP, Inflation and Unemployment

Returns economic indicators (GDP, GDP growth, inflation, unemployment, population, government debt and any World Bank or Eurostat code) per country and year from the official World Bank and Eurostat APIs, one row per data point. Supports onlyNew for scheduled runs.

Pricing

$2.00 / 1,000 data points

Rating

0.0

(0)

Developer

Viktor Wiberg

Viktor Wiberg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Economic Indicators: World Bank & Eurostat (GDP, Inflation)

GDP, GDP growth, inflation, unemployment, population, government debt and trade figures per country and year, from the official World Bank Indicators API and the Eurostat API. You get one row per country, indicator and period in the same schema whichever source the number comes from, ready for a spreadsheet, a database or an AI agent.

  • Common names (gdp, inflation, unemployment) work out of the box, so you do not need to know that World Bank inflation is FP.CPI.TOTL.ZG.
  • Any of the World Bank's indicator codes and any Eurostat dataset can be fetched as well.
  • About 290 World Bank countries and aggregates (World, European Union, income groups) and Eurostat's European countries and EU or euro area totals.
  • onlyNew turns the actor into a monitor: a scheduled run returns only figures published since the last run.

Input

FieldTypeDefaultDescription
indicatorsarray["gdp", "inflation", "unemployment"]Common names, World Bank codes or Eurostat datasets. See the table below.
countriesarray["SE", "US", "DE"]ISO2 (SE) or ISO3 (SWE). World Bank aggregates such as WLD (World) and EUU (European Union). With Eurostat also EU27_2020 and EA20.
yearFromintegerend year minus 4First year.
yearTointegercurrent yearLast year.
sourcestringautoauto, worldbank or eurostat. See "Choosing a source".
onlyNewbooleanfalseReturn only data points that earlier runs with the same input did not deliver.
maxResultsinteger50Maximum number of data points (rows). 1 to 100 000.

A run with empty input returns GDP, inflation and unemployment for Sweden, the United States and Germany for the last few years: 35 rows in our test run on 3 October 2026.

Common indicator names

NameWorld Bank codeEurostat dataset
gdpNY.GDP.MKTP.CD (current US$)nama_10_gdp, B1GQ, million EUR
gdp-growthNY.GDP.MKTP.KD.ZG (annual %)nama_10_gdp, B1GQ, chain linked volumes, % change
gdp-per-capitaNY.GDP.PCAP.CD (current US$)nama_10_pc, B1GQ, EUR per capita
inflationFP.CPI.TOTL.ZG (consumer prices, annual %)prc_hicp_ainr, HICP all items, annual average rate of change
unemploymentSL.UEM.TOTL.ZS (% of labour force, ILO estimate)une_rt_a, age 15-74, % of labour force
populationSP.POP.TOTLdemo_pjan, population on 1 January
government-debtGC.DOD.TOTL.GD.ZS (% of GDP)gov_10dd_edpt1, general government gross debt, % of GDP
exportsNE.EXP.GNFS.ZS (% of GDP)World Bank only
importsNE.IMP.GNFS.ZS (% of GDP)World Bank only
current-accountBN.CAB.XOKA.GD.ZS (% of GDP)World Bank only

Synonyms such as CPI, HICP, GDP per capita, unemployment rate and public debt are recognised.

Your own codes

  • World Bank: any indicator code from data.worldbank.org/indicator, for example NY.GDP.PCAP.PP.CD (GDP per capita, PPP) or SP.DYN.LE00.IN (life expectancy).
  • Eurostat: a dataset code from the Eurostat data browser, optionally with filters as dataset?dimension=CODE&dimension=CODE. Example: prc_hicp_minr?coicop18=TOTAL&unit=RCH_A gives monthly inflation. Leave out geo and time, the actor sets them from countries and the years. If a dimension is left open you get one series per code, and the code's label is added to indicatorName.

Choosing a source

  • auto (default): World Bank for every country, so the numbers are comparable worldwide and in the same unit. Eurostat is used only for areas the World Bank does not have, such as EU27_2020 and EA20.
  • eurostat: Eurostat only. Covers EU and EFTA countries and candidates, often has the previous year a few months earlier than the World Bank, and reports money in euro. Countries Eurostat does not cover return no rows.
  • worldbank: World Bank only.

World Bank codes and Eurostat datasets always go to their own source.

Example input:

{
"indicators": ["inflation", "unemployment", "gdp-growth"],
"countries": ["SE", "NO", "FI", "DK", "EU27_2020"],
"source": "eurostat",
"yearFrom": 2023,
"maxResults": 50
}

Output

FieldDescription
countryISO2 code (SE), or the source's own code for aggregates (EU27_2020, WLD)
countryIso3ISO3 code (SWE), null for Eurostat-only areas
countryNameName as given by the source
indicatorThe name or code you asked for (inflation, NY.GDP.PCAP.PP.CD)
indicatorNameReadable name
sourceIndicatorExact code at the source, with Eurostat filters
period2025, 2025-08 (monthly) or 2025-Q2 (quarterly)
yearYear as a number
frequencyannual, quarterly or monthly
valueThe number
unitUnit, for example current US$, annual %, % of labour force
statusSource flag, for example Eurostat p (provisional) or e (estimated), otherwise null
sourceWorld Bank or Eurostat
licenseLicense of the source
lastUpdatedWhen the source last updated the dataset, YYYY-MM-DD

Rows come newest period first within each indicator and country. Periods without a value are left out and not charged.

Extract from a cloud run on 3 October 2026 with empty input (run qVnfieuaHGDPufp1p, 35 rows):

{
"country": "DE",
"countryIso3": "DEU",
"countryName": "Germany",
"indicator": "gdp",
"indicatorName": "GDP",
"sourceIndicator": "NY.GDP.MKTP.CD",
"period": "2025",
"year": 2025,
"frequency": "annual",
"value": 5050922925047.05,
"unit": "current US$",
"status": null,
"source": "World Bank",
"license": "CC BY 4.0 (World Bank Open Data)",
"lastUpdated": "2026-07-13"
}

And from the example input above (Eurostat, run RtU7VkUIUn3XAx00N, 2026-10-03, 45 rows):

{
"country": "EU27_2020",
"countryIso3": null,
"countryName": "European Union - 27 countries (from 2020)",
"indicator": "inflation",
"indicatorName": "Inflation, consumer prices",
"sourceIndicator": "prc_hicp_ainr?coicop18=TOTAL&freq=A&unit=RCH_A_AVG",
"period": "2025",
"year": 2025,
"frequency": "annual",
"value": 2.5,
"unit": "annual %",
"status": null,
"source": "Eurostat",
"license": "Eurostat free re-use policy (Commission Decision 2011/833/EU), source must be acknowledged",
"lastUpdated": "2026-09-17"
}

Example from a real run

Input:

{
"indicators": [
"gdp"
],
"countries": [
"SE"
],
"maxResults": 5
}

Output (first 3 of 4 rows, values unchanged):

[
{
"country": "SE",
"countryIso3": "SWE",
"countryName": "Sweden",
"indicator": "gdp",
"indicatorName": "GDP",
"sourceIndicator": "NY.GDP.MKTP.CD",
"period": "2025",
"year": 2025,
"frequency": "annual",
"value": 668998664082.081,
"unit": "current US$",
"status": null,
"source": "World Bank",
"license": "CC BY 4.0 (World Bank Open Data)",
"lastUpdated": "2026-07-13"
},
{
"country": "SE",
"countryIso3": "SWE",
"countryName": "Sweden",
"indicator": "gdp",
"indicatorName": "GDP",
"sourceIndicator": "NY.GDP.MKTP.CD",
"period": "2024",
"year": 2024,
"frequency": "annual",
"value": 604827393488.582,
"unit": "current US$",
"status": null,
"source": "World Bank",
"license": "CC BY 4.0 (World Bank Open Data)",
"lastUpdated": "2026-07-13"
},
{
"country": "SE",
"countryIso3": "SWE",
"countryName": "Sweden",
"indicator": "gdp",
"indicatorName": "GDP",
"sourceIndicator": "NY.GDP.MKTP.CD",
"period": "2023",
"year": 2023,
"frequency": "annual",
"value": 578990915246.07,
"unit": "current US$",
"status": null,
"source": "World Bank",
"license": "CC BY 4.0 (World Bank Open Data)",
"lastUpdated": "2026-07-13"
}
]

Run lvc89Ra9eQuZTOsW4 on 2026-10-04, 4 rows, 2 seconds.

Use cases

  • Country comparison tables and dashboards (Google Sheets, Excel, Power BI, Looker Studio).
  • Macro context for market reports, sales planning and country risk screening.
  • Feeding economic data to an AI agent through the Apify MCP server: the defaults are small and the field names are stable.
  • Watching for new releases: a scheduled run with onlyNew tells you when a new year or month has been published.

Monitoring and scheduling

Set onlyNew to true to use the actor for recurring monitoring. The actor then remembers which data points it has delivered for the same input, in a named key-value store in your Apify account (nightwave-state-global-economic-indicators, one record per input). Each run returns and charges only data points that earlier runs did not deliver. The first run returns everything in the selection. A run without news finishes successfully with 0 rows.

A data point is identified by source, source code, country and period. A revised value for a period you already have is not delivered again; run without onlyNew to get the current values. onlyNew and maxResults are not part of the remembered input, so you can change them without starting over. Changing any other field starts a fresh state.

Example: a daily run at 07:00 that tells you when Eurostat publishes new monthly inflation for the Nordic countries and the euro area. In Apify Console, open Schedules, create a schedule with the cron expression 0 7 * * * and add this actor with the input below. Leave out yearFrom and yearTo so the window follows the calendar.

{
"indicators": ["prc_hicp_minr?coicop18=TOTAL&unit=RCH_A"],
"countries": ["SE", "FI", "DK", "EA20"],
"onlyNew": true,
"maxResults": 300
}

The same schedule through the Apify API:

curl -X POST "https://api.apify.com/v2/schedules?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"name": "daily-economic-indicators", "cronExpression": "0 7 * * *", "timezone": "Europe/Stockholm", "isEnabled": true, "isExclusive": true,
"actions": [{"type": "RUN_ACTOR", "actorId": "nightwave-owner~global-economic-indicators",
"runInput": {"contentType": "application/json; charset=utf-8", "body": "<the input above as a JSON string>"}}]}'

Connect a webhook or an integration (Slack, e-mail, Google Sheets) to the actor in Apify Console if you want the new rows sent somewhere when the run finishes.

Good to know

  • World Bank and Eurostat figures differ. The World Bank reports GDP in US dollars and uses CPI inflation; Eurostat uses euro and the harmonised index (HICP). The source, sourceIndicator and unit fields always tell you which one you have. Do not mix them in one comparison.
  • Annual figures arrive late. Most annual values are published 6-18 months after the year ends, so the current year usually has no rows yet. The World Bank updates its World Development Indicators a few times a year.
  • Unknown country codes are skipped with a warning. An unknown indicator code gives a warning and the run continues with the others; the run fails only if none of the indicators could be fetched.
  • Failed requests are retried three times. Large Eurostat selections that the API answers asynchronously are split and fetched one country at a time.
  • The actor fetches public statistics only. No personal data, and no login or scraping of web pages.
  • This is statistical data, not investment advice.

Data sources and licenses

  • World Bank Indicators API (api.worldbank.org/v2). The World Bank licenses its datasets under Creative Commons Attribution 4.0 (CC BY 4.0), which allows commercial use with attribution. Credit "The World Bank: World Development Indicators" when you publish the data. A few indicators come from partner organisations (IMF, ILO, UN); the source organisation is shown on each indicator's page at data.worldbank.org.
  • Eurostat API (ec.europa.eu/eurostat/api). Eurostat data may be reused free of charge, also commercially, provided the source is acknowledged, under the Commission's reuse policy (Decision 2011/833/EU). See Eurostat copyright notice. Credit "Source: Eurostat" when you publish the data.

This actor is not affiliated with the World Bank or Eurostat.

Pricing

Pay per event: you pay for each data point (row) in the dataset, event data-point. Rows without a value are never charged, and with onlyNew you pay only for new rows. The price is 0.002 USD per data point, which is 2.00 USD per 1 000 data points. The empty-input example above is 35 data points.

Rows are delivered only after they have been charged. If you set a maximum cost per run (maxTotalChargeUsd), the run stops there and its status message says how many rows were delivered.

Contact

Built and maintained by Nightwave AB. Questions, bugs and feature requests: kontakt@nightwave.se

På svenska

Actorn hämtar ekonomisk statistik per land och år från Världsbankens och Eurostats öppna API:er: BNP, BNP-tillväxt, inflation, arbetslöshet, befolkning, statsskuld och handel, eller valfri indikatorkod från någon av källorna. Varje rad är ett värde för ett land, en indikator och en period, i samma format oavsett källa.

Exempel från en verklig körning: input och de första raderna i outputen finns i avsnittet Example from a real run ovan (körning lvc89Ra9eQuZTOsW4, 2026-10-04, 4 rader, 2 sekunder).

  • Skriv vanliga namn som gdp, inflation eller unemployment, eller en kod från Världsbanken (NY.GDP.MKTP.CD) eller Eurostat (prc_hicp_minr?coicop18=TOTAL&unit=RCH_A).
  • Länder anges med ISO2 (SE) eller ISO3 (SWE). Med Eurostat går också EU27_2020 och EA20.
  • source: auto använder Världsbanken för alla länder så att siffrorna går att jämföra. eurostat ger europeiska siffror i euro, ofta några månader tidigare.
  • Tom input ger BNP, inflation och arbetslöshet för Sverige, USA och Tyskland de senaste åren. maxResults är som standard 50.
  • Med onlyNew: true levereras bara värden som tidigare körningar med samma input inte har levererat, till exempel ett nytt år eller en ny månad. Det passar för schemalagda körningar (se "Monitoring and scheduling").
  • Källor: Världsbanken (CC BY 4.0) och Eurostat (fri återanvändning med källhänvisning). Ange källan när du publicerar datan.
  • Pris: 0.002 USD per datapunkt (rad) i datasetet, alltså 2.00 USD per 1 000, händelsen data-point. Tomma värden debiteras aldrig.
  • Kontakt: kontakt@nightwave.se