IMF Economic Data Search avatar

IMF Economic Data Search

Pricing

from $2.00 / 1,000 data fetcheds

Go to Apify Store
IMF Economic Data Search

IMF Economic Data Search

Search IMF World Economic Outlook data for 190+ countries. GDP growth, inflation, unemployment, government debt, trade balance, fiscal indicators. Filter by indicator, country, year range. Includes IMF forecasts. Structured JSON output.

Pricing

from $2.00 / 1,000 data fetcheds

Rating

0.0

(0)

Developer

ryan clinton

ryan clinton

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Share

Access macroeconomic data from the International Monetary Fund's World Economic Outlook (WEO) database covering 190+ countries. Retrieve GDP growth, inflation, unemployment, government debt, trade balances, and dozens of other fiscal and economic indicators -- all through a simple, structured API with no authentication required.


Why use this actor?

  • Authoritative source -- the IMF World Economic Outlook is one of the most trusted cross-country economic datasets used by governments, central banks, financial institutions, and academic researchers worldwide.
  • No API key needed -- the IMF DataMapper API is free and public, so you pay zero for the underlying data. This actor handles the fetching, parsing, normalization, and structuring for you.
  • Multi-country bulk extraction -- fetch data for dozens of countries in a single run using comma-separated ISO codes, or use ALL to pull every available country at once.
  • Forecasts included -- the IMF projects data 2--5 years into the future. Toggle a single checkbox to include or exclude projected values alongside historical actuals.
  • Ready for automation -- run on a schedule with Apify's built-in cron, trigger webhooks on completion, and pipe structured JSON directly into dashboards, spreadsheets, or downstream APIs.

Key features

  • 15 preset indicators in a dropdown -- Real GDP growth, GDP per capita, inflation, unemployment, population, current account balance, government debt, fiscal balance, PPP share, and more.
  • 40+ additional indicators via custom codes -- government revenue, expenditure, corporate debt, household debt, trade balance, real effective exchange rates, AI Preparedness Index, and others.
  • 190+ countries supported using standard ISO alpha-3 codes (USA, GBR, DEU, JPN, CHN, IND, BRA, etc.).
  • Historical data from 1980 through the present year, with optional IMF forecast projections out to 2029--2030.
  • Bulk "ALL" mode -- fetch every available country for a given indicator in a single run.
  • Year-range filtering -- narrow results to exactly the time period you need, reducing noise and dataset size.
  • Clean, normalized output -- each row includes the country name, indicator label, unit of measurement, dataset source, and extraction timestamp.
  • Built-in rate limiting -- 500ms delay between country requests to respect IMF API limits.
  • Automatic retry with exponential backoff -- recovers gracefully from transient 403 errors without manual intervention.
  • Values rounded to 3 decimal places -- eliminates floating-point artifacts for clean downstream processing.

How to use

From the Apify Console

  1. Navigate to ryanclinton/imf-economic-data on the Apify Store.
  2. Click Try for free to open the actor in the Apify Console.
  3. Select an indicator from the dropdown (e.g., "Real GDP growth (%)").
  4. Enter one or more ISO alpha-3 country codes (e.g., USA,GBR,DEU,JPN).
  5. Optionally set a start year, end year, and toggle forecasts.
  6. Click Start and wait for the run to complete.
  7. Download your results as JSON, CSV, or Excel from the Dataset tab.

Via the Apify API (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('gc3sx9TauOIK8qzuC').call({
indicator: 'NGDP_RPCH',
country: 'USA,GBR,DEU,JPN,CHN',
startYear: '2020',
endYear: '2025',
includeForecasts: true,
maxResults: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Via the Apify API (Python)

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('gc3sx9TauOIK8qzuC').call(run_input={
'indicator': 'NGDP_RPCH',
'country': 'USA,GBR,DEU,JPN,CHN',
'startYear': '2020',
'endYear': '2025',
'includeForecasts': True,
'maxResults': 200,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
for item in items:
print(f"{item['countryName']} ({item['period']}): {item['value']} {item['unit']}")

Input parameters

ParameterTypeRequiredDefaultDescription
indicatorstring (select)YesNGDP_RPCHIMF WEO indicator code. Choose from 15 preset indicators in the dropdown.
customIndicatorstringNo--Override the dropdown with any valid IMF indicator code (e.g., rev, exp, d, NFC_ALL, HH_ALL, AI_PI).
countrystringYesUSAComma-separated ISO alpha-3 country codes. Use ALL for every available country.
startYearstringNo--Start year for data range. Data available from 1980. Leave empty for all years.
endYearstringNo--End year for data range. Leave empty for all available years.
includeForecastsbooleanNofalseInclude IMF forecast/projected values (typically 2--5 years into the future).
maxResultsintegerNo100Maximum number of data points to return (1--1000).

Example input JSON

{
"indicator": "NGDP_RPCH",
"country": "USA,GBR,DEU,JPN",
"startYear": "2020",
"endYear": "2026",
"includeForecasts": true,
"maxResults": 100
}

Tips:

  • Use ISO alpha-3 codes. Common examples: USA, GBR, DEU, FRA, JPN, CHN, IND, BRA, CAN, AUS, KOR, MEX, ZAF, SGP, ARE.
  • The customIndicator field overrides the dropdown when both are set.
  • Visit imf.org/external/datamapper to browse the full list of available indicator codes.
  • Without year filters, the actor returns data from 1980 onward, which can be large for multi-country queries.

Output

Each data point in the output dataset contains one row per country-year observation:

[
{
"country": "USA",
"countryName": "United States",
"indicator": "NGDP_RPCH",
"indicatorName": "Real GDP growth (annual %)",
"period": "2022",
"value": 1.943,
"unit": "percent",
"dataset": "WEO",
"extractedAt": "2026-02-19T12:00:00.000Z"
},
{
"country": "GBR",
"countryName": "United Kingdom",
"indicator": "NGDP_RPCH",
"indicatorName": "Real GDP growth (annual %)",
"period": "2022",
"value": 4.344,
"unit": "percent",
"dataset": "WEO",
"extractedAt": "2026-02-19T12:00:00.000Z"
},
{
"country": "DEU",
"countryName": "Germany",
"indicator": "NGDP_RPCH",
"indicatorName": "Real GDP growth (annual %)",
"period": "2023",
"value": -0.264,
"unit": "percent",
"dataset": "WEO",
"extractedAt": "2026-02-19T12:00:00.000Z"
}
]

Output fields

FieldTypeDescription
countrystringISO alpha-3 country code (e.g., USA, GBR, DEU)
countryNamestringFull human-readable country name
indicatorstringIMF indicator code used in the query
indicatorNamestringHuman-readable indicator label (e.g., "Real GDP growth (annual %)")
periodstringYear of the observation or forecast
valuenumberThe data value, rounded to 3 decimal places
unitstringUnit of measurement (e.g., "percent", "USD billions", "percent of GDP")
datasetstringSource dataset identifier (always WEO -- World Economic Outlook)
extractedAtstringISO 8601 timestamp of when the data was extracted

Use cases

  • Macroeconomic research -- pull GDP growth, inflation, and unemployment time series for cross-country comparative studies or academic papers.
  • Sovereign risk analysis -- monitor government debt-to-GDP ratios, fiscal balances, and current account balances across emerging and developed markets.
  • Investment analysis -- compare GDP per capita, PPP exchange rates, and growth trajectories to identify attractive markets for foreign direct investment.
  • Economic dashboards -- schedule daily or weekly runs to feed live data into Tableau, Power BI, Google Sheets, or custom web dashboards.
  • Journalism and reporting -- quickly retrieve authoritative economic figures for news stories, fact-checking, or data-driven articles.
  • Policy benchmarking -- compare fiscal indicators (government revenue, expenditure, primary balance) across peer countries to evaluate policy effectiveness.
  • Trade analysis -- track exports, imports, trade balance, and current account data to understand bilateral and multilateral trade dynamics.
  • AI and automation pipelines -- feed structured economic data into LLM-based analysis, automated report generation, or alert systems that trigger on threshold breaches.
  • Academic datasets -- build longitudinal economic datasets spanning 40+ years for econometric modeling, regression analysis, or machine learning training.
  • Forecasting validation -- compare IMF forecast projections against actuals to evaluate prediction accuracy over time.

API & integration

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('gc3sx9TauOIK8qzuC').call(run_input={
'indicator': 'GGXWDG_NGDP',
'country': 'USA,JPN,ITA,GRC',
'startYear': '2015',
'endYear': '2025',
'includeForecasts': True,
})
for item in client.dataset(run['defaultDatasetId']).list_items().items:
print(f"{item['countryName']} {item['period']}: {item['value']}% of GDP")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('gc3sx9TauOIK8qzuC').call({
indicator: 'PCPIPCH',
country: 'ARG,TUR,VEN',
startYear: '2018',
endYear: '2025',
includeForecasts: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(i => console.log(`${i.countryName} ${i.period}: ${i.value}%`));

cURL

curl "https://api.apify.com/v2/acts/gc3sx9TauOIK8qzuC/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"indicator": "NGDPD",
"country": "USA,CHN,JPN,DEU,IND",
"startYear": "2020",
"endYear": "2025",
"maxResults": 500
}'

Integrations

This actor works with all Apify platform integrations, including:

  • Webhooks -- trigger downstream processing when a run completes.
  • Google Sheets -- export results directly to a spreadsheet for live dashboards.
  • Slack / Email -- receive notifications when new data is available.
  • Zapier / Make -- connect to 5000+ apps for automated workflows.
  • Amazon S3 / Google Cloud Storage -- push datasets to cloud storage for archival or further processing.

How it works

  1. Parse input -- validate the indicator code, country list, year range, and forecast toggle.
  2. Resolve indicator -- if a custom indicator code is provided, it overrides the dropdown selection.
  3. Fetch metadata -- retrieve indicator labels and country names from the IMF API in parallel.
  4. Query the IMF DataMapper API -- for each country, fetch time-series data from imf.org/external/datamapper/api/v1/{indicator}/{country}. When ALL is specified, a single bulk request retrieves all countries.
  5. Filter and process -- apply year-range filters, exclude forecast years if toggled off, round values to 3 decimal places.
  6. Sort and limit -- sort results by country code then year, trim to the maxResults cap.
  7. Push to dataset -- write each data point to the Apify dataset for download or API access.
+-------------------+
| Parse Input |
+--------+----------+
|
+--------v----------+
| Fetch Metadata |
| (labels + names) |
+--------+----------+
|
+--------------+--------------+
| |
+--------v--------+ +--------v--------+
| Single Country | | ALL Countries |
| (per-country | | (bulk request) |
| with 500ms | | |
| delay + retry) | | |
+--------+--------+ +--------+--------+
| |
+--------------+--------------+
|
+--------v----------+
| Filter by Year |
| + Forecast Toggle |
+--------+----------+
|
+--------v----------+
| Sort + Limit |
+--------+----------+
|
+--------v----------+
| Push to Dataset |
+-------------------+

Performance & cost

MetricValue
Average run time (single country)5--15 seconds
Average run time (10 countries)15--30 seconds
Average run time (ALL countries)60--120 seconds
Memory usage256 MB
Cost per run (single country)~$0.001
Cost per run (10 countries)~$0.005
Cost per run (ALL countries)~$0.01--0.02
API rate limit delay500ms between country requests
Retry strategyExponential backoff on 403 (max 3 attempts)
Max results per run1,000 data points

Apify's free tier includes $5 of monthly platform credits -- enough for hundreds of runs of this actor.


Limitations

  • WEO data only -- this actor queries the IMF DataMapper's World Economic Outlook dataset. Other IMF databases (International Financial Statistics, Balance of Payments, etc.) are not covered.
  • Update frequency -- WEO data is updated twice per year (April and October). Between updates, the data reflects the most recent publication.
  • Indicator coverage varies -- not all indicators have data for all countries or all years. Newer indicators or smaller countries may have gaps.
  • Maximum 1,000 results -- the maxResults cap is 1,000 data points per run. For very large extractions, run multiple queries with different country subsets.
  • Forecast accuracy -- IMF projections are estimates and can differ significantly from actual outcomes. Always distinguish forecast years from historical actuals in your analysis.
  • No sub-annual data -- all data is annual. Monthly or quarterly economic data is not available through this endpoint.
  • Rate limiting -- the actor enforces a 500ms delay between country requests. Bulk "ALL" queries use a single request but may be slower to return from the IMF server.

Responsible use

  • Cite your source -- when publishing or sharing data obtained through this actor, credit the International Monetary Fund and the World Economic Outlook database as the original source.
  • Respect IMF terms -- the IMF DataMapper API is free for public use. Avoid excessive request volumes that could strain the service. This actor includes built-in rate limiting to help with this.
  • Distinguish forecasts from actuals -- always clearly label projected values as IMF estimates when presenting data to audiences who may not understand the difference.
  • Verify critical figures -- for high-stakes decisions (investment, policy, legal), cross-check IMF data against primary national statistics offices or other authoritative sources.
  • Keep data current -- schedule runs after the April and October WEO publications to ensure you are working with the latest available data.

FAQ

What data source does this actor use? This actor queries the IMF DataMapper API, which serves data from the World Economic Outlook (WEO) database. The WEO is published twice per year (April and October) and covers macroeconomic indicators for 190+ IMF member countries.

Do I need an API key? No. The IMF DataMapper API is free and publicly accessible. No registration or authentication is required.

What countries are available? All 190+ IMF member countries are available using their ISO alpha-3 codes (e.g., USA, GBR, DEU, JPN, CHN). Use ALL as the country parameter to fetch data for every available country.

How far back does the data go? Most indicators have data from 1980 onward, though coverage varies by country and indicator. Some newer indicators may have shorter time series.

What are the forecast years? The IMF typically projects data 2--5 years into the future from the current WEO publication. For example, the October 2025 WEO includes projections through 2029--2030. Enable the "Include Forecasts" toggle to retrieve these projected values.

Can I get data that is not in the dropdown? Yes. Use the "Custom Indicator Code" field to enter any valid IMF indicator code. Browse the full list at imf.org/external/datamapper. Examples include rev (government revenue), exp (government expenditure), d (gross public debt), NFC_ALL (corporate debt), HH_ALL (household debt), and AI_PI (AI Preparedness Index).

How often is the data updated? The IMF publishes WEO updates in April and October each year. The DataMapper API reflects these updates shortly after publication.

Can I fetch data for multiple countries at once? Yes. Enter comma-separated ISO alpha-3 codes in the country field (e.g., USA,GBR,DEU,JPN,CHN). The actor fetches data for each country sequentially with a 500ms delay between requests.

What does the "ALL" country option do? Setting the country field to ALL fetches data for every available country in a single bulk API request. This is efficient but produces a large dataset -- combine it with year filtering and a reasonable maxResults limit.

Why are some values null or missing? The IMF does not have complete data for every country-year-indicator combination. Data gaps are common for smaller countries, conflict zones, or newer indicators. Missing values are excluded from the output.

How do I tell forecasts apart from historical data? Compare the period field against the current year. Values with a period greater than the current year are IMF forecasts. The actor only includes these when includeForecasts is set to true.

What is the maximum number of results? The maxResults parameter caps output at 1,000 data points per run. For larger extractions, run the actor multiple times with different country subsets or year ranges.


ActorDescription
World Bank Development IndicatorsAccess World Bank development data for 200+ countries
FRED Economic Data SearchQuery Federal Reserve economic time series
OECD Economic StatisticsSearch OECD economic statistics
BLS US Economic DataSearch Bureau of Labor Statistics data
ECB Exchange RatesEuropean Central Bank exchange rate data
Eurostat EU StatisticsSearch Eurostat European Union statistics