IMF Economic Data Search
Pricing
from $2.00 / 1,000 data fetcheds
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
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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
ALLto 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
- Navigate to ryanclinton/imf-economic-data on the Apify Store.
- Click Try for free to open the actor in the Apify Console.
- Select an indicator from the dropdown (e.g., "Real GDP growth (%)").
- Enter one or more ISO alpha-3 country codes (e.g.,
USA,GBR,DEU,JPN). - Optionally set a start year, end year, and toggle forecasts.
- Click Start and wait for the run to complete.
- 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 ApifyClientclient = 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().itemsfor item in items:print(f"{item['countryName']} ({item['period']}): {item['value']} {item['unit']}")
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
indicator | string (select) | Yes | NGDP_RPCH | IMF WEO indicator code. Choose from 15 preset indicators in the dropdown. |
customIndicator | string | No | -- | Override the dropdown with any valid IMF indicator code (e.g., rev, exp, d, NFC_ALL, HH_ALL, AI_PI). |
country | string | Yes | USA | Comma-separated ISO alpha-3 country codes. Use ALL for every available country. |
startYear | string | No | -- | Start year for data range. Data available from 1980. Leave empty for all years. |
endYear | string | No | -- | End year for data range. Leave empty for all available years. |
includeForecasts | boolean | No | false | Include IMF forecast/projected values (typically 2--5 years into the future). |
maxResults | integer | No | 100 | Maximum 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
customIndicatorfield 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
| Field | Type | Description |
|---|---|---|
country | string | ISO alpha-3 country code (e.g., USA, GBR, DEU) |
countryName | string | Full human-readable country name |
indicator | string | IMF indicator code used in the query |
indicatorName | string | Human-readable indicator label (e.g., "Real GDP growth (annual %)") |
period | string | Year of the observation or forecast |
value | number | The data value, rounded to 3 decimal places |
unit | string | Unit of measurement (e.g., "percent", "USD billions", "percent of GDP") |
dataset | string | Source dataset identifier (always WEO -- World Economic Outlook) |
extractedAt | string | ISO 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 ApifyClientclient = 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
- Parse input -- validate the indicator code, country list, year range, and forecast toggle.
- Resolve indicator -- if a custom indicator code is provided, it overrides the dropdown selection.
- Fetch metadata -- retrieve indicator labels and country names from the IMF API in parallel.
- Query the IMF DataMapper API -- for each country, fetch time-series data from
imf.org/external/datamapper/api/v1/{indicator}/{country}. WhenALLis specified, a single bulk request retrieves all countries. - Filter and process -- apply year-range filters, exclude forecast years if toggled off, round values to 3 decimal places.
- Sort and limit -- sort results by country code then year, trim to the
maxResultscap. - 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
| Metric | Value |
|---|---|
| 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 usage | 256 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 delay | 500ms between country requests |
| Retry strategy | Exponential backoff on 403 (max 3 attempts) |
| Max results per run | 1,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
maxResultscap 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.
Related actors
| Actor | Description |
|---|---|
| World Bank Development Indicators | Access World Bank development data for 200+ countries |
| FRED Economic Data Search | Query Federal Reserve economic time series |
| OECD Economic Statistics | Search OECD economic statistics |
| BLS US Economic Data | Search Bureau of Labor Statistics data |
| ECB Exchange Rates | European Central Bank exchange rate data |
| Eurostat EU Statistics | Search Eurostat European Union statistics |