Economic Indicators MCP Server is an MCP (Model Context Protocol) server on ApifyForge. MCP server for multi-source economic intelligence. Wraps 6 specialized actors: BLS (U.S. labor/prices), FRED (800K+ Federal Reserve series), World Bank (217 economies), OECD (38 member countries), IMF WEO (global... It costs $0.05 per bls-data. It exposes 7 tools: bls-data, fred-data, world-bank-data, oecd-data, imf-data, eurostat-data, country-comparison. Best for AI developers and agent builders who need structured real-world data inside Claude, Cursor, or other MCP-compatible clients. Not ideal for non-AI workflows or use cases that don't involve an MCP-compatible client. Maintenance pulse: 90/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).

AIDEVELOPER TOOLS

Economic Indicators MCP Server

Economic Indicators MCP Server is an MCP (Model Context Protocol) server available on ApifyForge at $0.05 per bls-data. MCP server for multi-source economic intelligence. Wraps 6 specialized actors: BLS (U.S. labor/prices), FRED (800K+ Federal Reserve series), World Bank (217 economies), OECD (38 member countries), IMF WEO (global forecasts), and Eurostat (EU statistics). Includes a unified country comparison tool.

Best for AI developers and agent builders who need structured real-world data inside Claude, Cursor, or other MCP-compatible clients.

Not ideal for non-AI workflows or use cases that don't involve an MCP-compatible client.

Coming soon on Apify Store
$0.05per event

Tools exposed

Each pricing event corresponds to a tool your AI agent can call through MCP.

bls-dataQuery Bureau of Labor Statistics economic data series. · $0.05/call
fred-dataQuery Federal Reserve Economic Data series. · $0.05/call
world-bank-dataQuery World Bank development indicators. · $0.05/call
oecd-dataQuery OECD economic statistics. · $0.05/call
imf-dataQuery IMF economic indicators. · $0.05/call
eurostat-dataQuery Eurostat EU economic statistics. · $0.05/call
country-comparisonComposite economic comparison across multiple data sources. · $0.15/call

Example prompts

Natural language queries you can ask your AI assistant that would trigger this MCP server.

"Run a bls data on Acme Corp and summarize the findings"
"Can you fred data and highlight any red flags?"
"What tools does the Economic Indicators MCP Server have available?"
Last verified: March 27, 2026
90
Actively maintained
Maintenance Pulse
$0.05
Per event

What to know

  • Requires an MCP-compatible client (Claude Desktop, Cursor, Windsurf, or similar).
  • Tool call results depend on the availability of upstream public APIs.
  • Requires an Apify account and API token for authentication.

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

bls-datas
Estimated cost:$5.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
bls-dataQuery Bureau of Labor Statistics economic data series.$0.05
fred-dataQuery Federal Reserve Economic Data series.$0.05
world-bank-dataQuery World Bank development indicators.$0.05
oecd-dataQuery OECD economic statistics.$0.05
imf-dataQuery IMF economic indicators.$0.05
eurostat-dataQuery Eurostat EU economic statistics.$0.05
country-comparisonComposite economic comparison across multiple data sources.$0.15

Example: 100 events = $5.00 · 1,000 events = $50.00

Documentation

Economic Indicators MCP, unified macro data infrastructure for AI agents

Economic Indicators MCP is unified macro-data infrastructure for AI agents and quantitative research workflows.

It wraps six free official statistics sources behind a single MCP endpoint: U.S. Bureau of Labor Statistics, Federal Reserve Economic Data (FRED), World Bank, OECD, IMF World Economic Outlook, and Eurostat. Built for macro researchers, sovereign-credit analysts, EM fixed-income desks, central bank watchers, finance bloggers, and AI agents that need real economic context instead of training-cutoff guesses.

The category

Economic Indicators MCP is agent-native official-statistics infrastructure. Unlike manual cross-site CSV downloads (BLS, FRED, World Bank, OECD, IMF, and Eurostat each ship their own format and ID system), Bloomberg-Terminal-style products (priced for sell-side desks, not for AI agents), or LLM-only economic chatbots (which hallucinate numbers and cannot cite a release date), it returns harmonized, source-cited time series and a built-in unified country comparison your agent can reason over directly.

In one sentence

Query inflation, GDP, unemployment, interest rates, debt, trade, population, and forecasts across six official statistics agencies through one MCP endpoint, with a single tool call that returns a unified multi-country economic profile.

What you get from one call

econ_country_comparison fans out to World Bank and IMF in parallel and returns a unified profile for every country you name:

  • Summary table with the latest value for nominal GDP, GDP growth %, inflation %, unemployment %, government debt-to-GDP %, and population, one row per country
  • Per-country profiles with full time series for each of the six indicators, sorted by year
  • latest value per indicator so an agent can branch on the most recent reading without scanning the array
  • includesForecasts flag so IMF staff projections for future years can be opted in
  • sources block naming the upstream providers (World Bank + IMF WEO) so a result is never source-ambiguous
  • Built-in country-code mapping so an agent can pass ISO 2-letter (US,CN,DE) or ISO 3-letter (USA,CHN,DEU) and it just works

What you also get: six official sources, country-comparison fan-out, forecast toggle, harmonized output

What makes this different

  • Six sources behind one endpoint. One MCP connection replaces six separate API integrations, six separate auth flows, and six separate output schemas.
  • Country-code agnostic on the composite tool. Most macro APIs force ISO 2-letter or ISO 3-letter and reject the other. econ_country_comparison accepts either and maps internally.
  • Forecasts available, opt-in. IMF WEO ships staff projections for future years. The include_forecasts flag is off by default (clean historical view) and on when an agent needs forward-looking context.

Before vs after

Without this MCPWith this MCP
Sign up for FRED, BLS, World Bank, OECD, IMF, and Eurostat keys separatelyOne FRED key. Five other sources keyless.
Download CPI as a BLS CSV, GDP as a FRED CSV, debt-to-GDP as an IMF Excel, EU HICP as a Eurostat TSVAll time series returned as harmonized JSON, ready to JSON.parse
Map ISO alpha-2 to alpha-3 manually between sourcesecon_country_comparison maps both ways internally
LLM agent guesses "U.S. inflation in 2024 was around 3%" from training dataAgent gets the actual BLS or FRED reading, dated, sourced
No IMF forecasts in chatbot answersinclude_forecasts=true returns IMF staff projections

Architecture

6 official statistics sources  →  6 sibling actor wrappers  →  MCP tool layer  →  agent
   (BLS, FRED, World Bank,        (one Apify actor per         (8 tools, 7 paid +
    OECD, IMF WEO, Eurostat)       upstream API)                1 free `list_sources`)
         ↓                                ↓                              ↓
   each owns the upstream            normalize to JSON              `econ_country_comparison`
   quirks (SDMX, series IDs,         dataset, skipNulls,             fans out WB + IMF
   rate limits, API keys)            shared item shape               in parallel for 6 indicators
                                                                            ↓
                                                                     summary table +
                                                                     per-country profiles +
                                                                     forecasts opt-in

Built for

Macro researchers and sovereign-credit analysts building country dossiers; EM fixed-income desks tracking inflation, debt-to-GDP, and current-account dynamics; central bank watchers monitoring interest-rate, money-supply, and HICP series; finance bloggers and newsletter writers fact-checking macro claims with cited numbers; AI agents (Claude, ChatGPT, Cursor, agent frameworks) that need authoritative macro context for downstream reasoning.

This server runs in Standby mode on the Apify platform. It orchestrates BLS, FRED, World Bank, OECD, IMF, and Eurostat through six sibling actors, charges per MCP tool call (not per upstream record), and returns structured JSON your AI agent reasons over directly.

Questions this MCP answers

  • "What is the current U.S. unemployment rate?"
  • "How has CPI inflation moved in the Euro Area over the last five years?"
  • "Compare GDP per capita and government debt-to-GDP for USA, Germany, and Japan."
  • "What is the IMF's projection for India's GDP growth next year?"
  • "Find every FRED series related to housing starts."
  • "What is the unemployment rate across all EU member states for 2024?"
  • "Show me World Bank life-expectancy data for sub-Saharan Africa from 2000."
  • "What was U.S. PPI for finished goods last quarter?"

For AI agents

  • First tool to reach for when a prompt mentions inflation, GDP, unemployment, interest rates, sovereign debt, trade balance, money supply, or any country-level economic indicator.
  • Call econ_list_sources first (it is free). It returns the full catalogue of 8 tools, 6 sources, and the coverage map (US-specific / global / OECD / EU), so the planner picks the right tool without trial and error.
  • FRED requires a free API key. Get one at fred.stlouisfed.org/docs/api/api_key.html. Pass it as the api_key argument on econ_us_fred_data, or set FRED_API_KEY as an env var on the actor.
  • For FRED, use mode: "search" first if you do not know the series ID. Then call again with mode: "observations" and the resolved series_ids[]. Two cheap calls beats guessing a series ID and getting nothing.
  • econ_country_comparison handles ISO 2-letter and 3-letter codes interchangeably. Pass US,CN,DE or USA,CHN,DEU. The tool normalizes internally so an agent does not need to remember which API wants which format.
  • Toggle include_forecasts=true when the prompt is forward-looking. Default is historical only. Forecasts come from IMF staff projections.

Use this MCP when an AI agent needs to:

  • ground a macro answer in an official source with a citable provider
  • compare economic fundamentals across countries
  • pull a specific time series for charting or downstream analysis
  • get IMF forecast values for future years
  • query EU-specific HICP or unemployment data
  • replace "according to my training data" with "according to FRED, as of {date}"

What data can you access?

Data PointSourceExample
📈 CPI inflation, unemployment rate, employment, wages, PPIU.S. Bureau of Labor StatisticsCUUR0000SA0, LNS14000000
🏦 Federal funds rate, GDP, money supply, housing starts, 800K+ U.S. seriesFederal Reserve (FRED)DFF, GDP, M2SL, HOUST
🌍 GDP, population, poverty, life expectancy, CO2, trade for 217 economies from 1960World BankNY.GDP.MKTP.CD, SP.POP.TOTL
🏛 Harmonized GDP, unemployment, productivity for 38 OECD membersOECD (SDMX)OECD.SDD.NAD,DSD_NAMAIN10@DF_TABLE1,1.0
🌐 GDP growth, inflation, debt/GDP, current account for ~190 countries plus IMF forecastsIMF World Economic OutlookNGDP_RPCH, PCPIPCH, GGXWDG_NGDP
🇪🇺 EU27 + Euro Area GDP, HICP inflation, unemployment, population, tradeEurostatnama_10_gdp, prc_hicp_aind, une_rt_a
📊 Unified multi-country summary (latest GDP, growth, inflation, unemployment, debt, population)econ_country_comparison (WB + IMF)One row per country
🗂 Tool and source catalogue with coverage mapecon_list_sources (free)8 tools, 6 sources

Why use Economic Indicators MCP?

Most macro-data workflows are:

  • spread across six separate sites with six different ID conventions (FRED series IDs, BLS series IDs, World Bank indicators, OECD SDMX dataflows, IMF WEO codes, Eurostat dataset codes)
  • gated behind one or more API key signups, each with its own rate-limit ladder
  • delivered as inconsistent CSV/Excel/XML/JSON output that needs custom parsers per source
  • impossible for an LLM agent to use directly without a custom integration layer per provider

This MCP turns that into one endpoint. A single MCP connection replaces six API integrations. A single tool call returns harmonized JSON. A single composite call returns a unified multi-country profile drawn from World Bank and IMF in parallel.

Platform capabilities

  • Scheduling: run periodic country comparisons on Apify Scheduler; refresh dashboards on a weekly or monthly cadence
  • API access: trigger tool calls from Python, JavaScript, or any HTTP client using standard MCP protocol
  • Idle-shutdown: standby instance exits after 300s of inactivity (tunable) so platform compute is not billed during quiet periods
  • Webhooks: receive failure alerts the moment a tool call fails upstream
  • Integrations: pipe results into Notion, Airtable, Sheets, LangChain, LlamaIndex, or any webhook-compatible system

Features

Six source wrappers, one endpoint

  • BLS: presets for CPI, unemployment, employment, wages, PPI, plus a custom mode for any BLS series ID. Optional free BLS key raises the rate limit from 25 to 500 requests per day.
  • FRED: three modes (search, observations, series) over 800K+ time series. Search by keyword, fetch observations with date range and frequency aggregation (d/w/bw/m/q/sa/a), or get metadata.
  • World Bank: preset list of the ten most-requested indicators (nominal GDP, GDP per capita, GDP growth, population, poverty headcount, life expectancy, unemployment, CPI, CO2 emissions, trade % GDP) plus a custom_indicator override for any World Bank code.
  • OECD: SDMX dataflow access with preset references plus a custom_dataset override. Filter by country (ISO alpha-3, joined with +) and frequency (A/Q/M).
  • IMF: preset list of 15 IMF WEO indicators covering GDP, growth, inflation, debt, current account, trade, population, plus include_forecasts for IMF staff projections.
  • Eurostat: preset datasets for EU GDP, unemployment, HICP inflation, population, and trade, plus a custom_dataset override. Accepts EU 2-letter country codes and aggregates (EU27_2020, EA20).

Composite layer

  • econ_country_comparison runs World Bank and IMF in parallel for six core indicators (nominal GDP, population, GDP growth %, inflation %, govt debt/GDP %, unemployment %), groups results by country, sorts each series by year, and surfaces the latest value per indicator.

Agent-friendly defaults

  • Free econ_list_sources tool lists all 8 tools, 6 sources, and a coverage map, so a planner does not waste a paid call discovering capability.
  • Composite tool accepts either ISO 2-letter or ISO 3-letter codes; the internal mapping handles 45 major economies.
  • All tools return a total count and a countries list at the top of the response for fast triage.

Operational layer

  • Idle-shutdown with STANDBY_IDLE_TIMEOUT_SECS (default 300s) so a customer-pinned MCP session does not bill compute indefinitely.
  • Failure webhooks wired to the apifyforge.com failure inbox so upstream breakage gets caught fast.
  • Per-call PPE charges so a customer pays only when a tool actually fires.

Quickstart workflows

Multi-country macro snapshot

econ_country_comparison
  countries: "USA,CHN,DEU,JPN,GBR"
  start_year: 2020
  → summary table with latest GDP, growth %, inflation %, unemployment %,
    debt/GDP %, population for each country
  → per-country profiles with time series

FRED series discovery then pull

econ_us_fred_data (mode="search", search_text="federal funds rate")
  → list of matching FRED series with IDs
econ_us_fred_data (mode="observations", series_ids=["DFF"], frequency="m")
  → monthly observations for the federal funds rate

EU vs U.S. inflation comparison

econ_us_bls_data (preset="cpi", start_year=2020)
  → U.S. CPI time series
econ_eurostat (dataset="prc_hicp_aind", country="EU27_2020,EA20", start_year="2020")
  → EU27 and Euro Area HICP time series

Use cases for economic indicators

Sovereign risk screen for EM fixed income

An EM fixed-income desk needs to refresh a country dossier before pricing a new sovereign issue. One econ_country_comparison call returns nominal GDP, GDP growth %, inflation %, government debt-to-GDP %, unemployment %, and population for the issuer plus three peer countries, with the latest value surfaced per indicator. A second econ_imf_data call with include_forecasts=true adds IMF staff projections for the next three years. Total elapsed time: under two minutes versus a half-day of manual IMF and World Bank Excel pulls.

Inflation tracking for a macro newsletter

A finance newsletter writer publishes a weekly inflation note. A scheduled econ_us_bls_data call (preset cpi) pulls the latest U.S. CPI release, and a parallel econ_eurostat call (dataset prc_hicp_aind) pulls the Euro Area HICP. Both come back as structured JSON, ready to drop into a chart or table, with the underlying series IDs cited in the response.

AI agent answering "what is U.S. inflation right now"

A Claude or ChatGPT agent connected to this MCP no longer guesses. When a user asks for the latest CPI, the agent calls econ_us_bls_data (preset cpi), receives the dated BLS reading, and answers with the number plus the source ("U.S. Bureau of Labor Statistics, series CUUR0000SA0, latest reading: 3.2% YoY for {month}"). No training-cutoff hedging.

EM macro brief automation

A research operations team generates a weekly emerging-market briefing for 12 countries. A scheduled run calls econ_country_comparison with the 12 ISO codes and include_forecasts=true, gets back a unified summary table and per-country profiles, and pipes the JSON into a templated markdown brief via webhook. Manual data assembly time drops from a full day to a templating job.

Central-bank-watcher monitoring rate moves

A trader watching the federal funds rate runs a scheduled econ_us_fred_data call (series_ids=["DFF"], frequency d) every morning. The MCP returns the latest daily reading from FRED. The trader's pipeline diffs against yesterday's value and pushes a Slack alert on any change. Same pattern works for any FRED series.

EU-specific HICP and unemployment dashboard

A policy analyst builds an EU-only dashboard. econ_eurostat queries with the prc_hicp_aind, une_rt_a, and nama_10_gdp datasets, country EU27_2020,EA20 plus the individual 27 member states, give a single source of truth for the entire union. No need to assemble per-country CSV downloads.

How to connect this economic indicators MCP

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "economic-indicators": {
      "url": "https://economic-indicators-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Cursor, Windsurf, or Cline

Use the same URL and token in your MCP server settings panel. The server speaks standard MCP protocol over HTTP POST to /mcp.

Python (via requests)

import requests

response = requests.post(
    "https://economic-indicators-mcp.apify.actor/mcp",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
    },
    json={
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
            "name": "econ_country_comparison",
            "arguments": {
                "countries": "USA,CHN,DEU",
                "start_year": 2020,
                "include_forecasts": False
            }
        },
        "id": 1
    }
)
result = response.json()
report = result["result"]["content"][0]["text"]
print(report)

JavaScript

const response = await fetch(
  "https://economic-indicators-mcp.apify.actor/mcp",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer YOUR_APIFY_TOKEN"
    },
    body: JSON.stringify({
      jsonrpc: "2.0",
      method: "tools/call",
      params: {
        name: "econ_us_fred_data",
        arguments: {
          mode: "observations",
          series_ids: ["DFF", "UNRATE"],
          start_date: "2023-01-01",
          frequency: "m",
          api_key: "YOUR_FRED_API_KEY"
        }
      },
      id: 1
    })
  }
);
const data = await response.json();
const payload = JSON.parse(data.result.content[0].text);
console.log(`Got ${payload.total} observations`);

cURL

curl -X POST "https://economic-indicators-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "econ_country_comparison",
      "arguments": { "countries": "USA,CHN,DEU", "start_year": 2020 }
    },
    "id": 1
  }'

Environment variables

Five of the six sources need no key. One key is required (FRED), one is optional (BLS, raises rate limit), and one tunes the standby idle window:

VariableRequiredPurpose
FRED_API_KEYRequired for econ_us_fred_dataFree key from fred.stlouisfed.org/docs/api/api_key.html. Can also be passed per call as the api_key argument. Without it, the FRED tool returns a NO_API_KEY warning.
BLS_API_KEYOptionalFree key from bls.gov. When set, the BLS rate limit goes from 25 requests/day to 500 requests/day and the date-range cap expands. Can also be passed per call as api_key.
STANDBY_IDLE_TIMEOUT_SECSOptionalStandby idle-shutdown window in seconds (default 300, minimum 60). The instance exits after this idle period to release platform compute; the next request cold-starts a fresh one.

World Bank, OECD, IMF, and Eurostat are keyless.

MCP tools

Available tools: the full MCP tool catalogue with per-call pricing

ToolInputPriceWhat it returns
econ_us_bls_datapreset (cpi/unemployment/employment/wages/ppi/custom), start_year, end_year, optional custom_series_ids, optional api_key$0.05BLS time series with seriesId, seriesName, year, period, value; per-series counts; aggregated data array
econ_us_fred_datamode (search/observations/series), search_text or series_ids[], start_date, end_date, frequency (d/w/bw/m/q/sa/a), api_key$0.05FRED series metadata, observations, or search hits
econ_world_bankindicator (preset) or custom_indicator, countries (ISO 2-letter CSV or "all"), year_from, year_to$0.05World Bank indicator data with countryName, year, value, indicatorName
econ_oecd_statisticsdataset (SDMX) or custom_dataset, filter_key, country (ISO alpha-3 joined with +), frequency (A/Q/M), start_period, end_period$0.05OECD SDMX observations with countryName, period, value, indicatorName
econ_imf_dataindicator (preset) or custom_indicator, countries (ISO alpha-3 CSV or "all"), start_year, end_year, include_forecasts$0.05IMF WEO data with countryName, year, value, indicatorName; forecasts when toggled
econ_eurostatdataset (preset) or custom_dataset, country (EU 2-letter or aggregate), start_year, end_year$0.05Eurostat dataset rows with countryName, year, value, indicatorName
econ_country_comparisoncountries (ISO 2-letter or 3-letter CSV), start_year, end_year, include_forecasts$0.15Unified profile: summary table with latest GDP / growth / inflation / unemployment / debt / population per country, plus full time series per indicator. Queries World Bank + IMF in parallel.
econ_list_sources(none)FreeTool and source catalogue: 8 tools, 6 sources, coverage map (US-specific / global / OECD / EU). No upstream fetch, no charge

Tool input reference

ToolParameterTypeRequiredDescription
econ_us_bls_datapresetenumYes (default cpi)cpi, unemployment, employment, wages, ppi, or custom
econ_us_bls_datacustom_series_idsstringIf preset=customComma-separated BLS series IDs, e.g. CUUR0000SA0,LNS14000000
econ_us_bls_datastart_year / end_yearnumberNoDefaults 2020, 2025
econ_us_bls_dataapi_keystringNoOptional BLS key for higher limits
econ_us_fred_datamodeenumYessearch (by keyword), observations (get data), series (metadata)
econ_us_fred_datasearch_textstringIf mode=searchKeyword, e.g. "federal funds rate"
econ_us_fred_dataseries_idsstring[]If mode=observations or mode=seriesFRED series IDs, e.g. ["GDP","UNRATE","DFF"]
econ_us_fred_datastart_date / end_datestringNoYYYY-MM-DD
econ_us_fred_datafrequencyenumNoEmpty (native), d, w, bw, m, q, sa, a
econ_us_fred_dataapi_keystringYes (per call or env)Free FRED key
econ_us_fred_datamax_resultsnumberNo1-1000, default 50 (search mode)
econ_world_bankindicatorenumNoPreset (GDP, population, poverty, etc.)
econ_world_bankcustom_indicatorstringNoAny World Bank indicator code, overrides preset
econ_world_bankcountriesstringNoISO 2-letter CSV or "all", default US,CN,DE,JP,GB
econ_world_bankyear_from / year_tonumberNoFrom 1960 onwards
econ_oecd_statisticsdatasetstringNoSDMX dataflow reference
econ_oecd_statisticscustom_datasetstringNoCustom OECD SDMX dataflow reference (overrides preset)
econ_oecd_statisticsfilter_keystringNoSDMX dimension filter key, default all
econ_oecd_statisticscountrystringNoISO alpha-3 codes joined with +, e.g. USA+GBR+DEU
econ_oecd_statisticsfrequencyenumNoA, Q, M
econ_oecd_statisticsstart_period / end_periodstringNoe.g. 2020, 2020-Q1, 2020-01
econ_imf_dataindicatorenumNoNGDP_RPCH, NGDPD, PPPGDP, NGDPDPC, PCPIPCH, LUR, GGXWDG_NGDP, BCA_NGDPD, GGR_NGDP, GGX_NGDP, TM_RPCH, TX_RPCH, LP, PPPPC, PPPSH
econ_imf_datacustom_indicatorstringNoAny IMF WEO indicator code
econ_imf_datacountriesstringNoISO alpha-3 CSV or "all", default USA
econ_imf_datainclude_forecastsbooleanNoDefault false. True adds IMF staff projections for future years
econ_eurostatdatasetenumNonama_10_gdp, une_rt_a, prc_hicp_aind, demo_pjan, ext_lt_maineu
econ_eurostatcustom_datasetstringNoAny Eurostat dataset code
econ_eurostatcountrystringNoEU 2-letter codes (DE, FR, IT) or aggregates (EU27_2020, EA20)
econ_country_comparisoncountriesstringYesISO 2-letter or 3-letter CSV, the tool handles both
econ_country_comparisonstart_year / end_yearnumberNoDefault start 2020, end = current year
econ_country_comparisoninclude_forecastsbooleanNoDefault false

Output example

econ_country_comparison called with countries: "USA,CHN,DEU", start_year: 2020:

{
  "countries": ["USA", "CHN", "DEU"],
  "period": { "from": 2020, "to": 2025, "includesForecasts": false },
  "sources": ["World Bank", "IMF WEO"],
  "summary": [
    {
      "country": "United States",
      "code": "USA",
      "latestGdp": 27360935000000,
      "latestGrowth": 2.821,
      "latestInflation": 4.116,
      "latestUnemployment": 3.638,
      "latestDebtToGdp": 122.143,
      "latestPopulation": 334914895
    },
    {
      "country": "China",
      "code": "CHN",
      "latestGdp": 17794782000000,
      "latestGrowth": 5.245,
      "latestInflation": 0.232,
      "latestUnemployment": 5.2,
      "latestDebtToGdp": 83.609,
      "latestPopulation": 1410710000
    },
    {
      "country": "Germany",
      "code": "DEU",
      "latestGdp": 4456081000000,
      "latestGrowth": -0.305,
      "latestInflation": 5.952,
      "latestUnemployment": 3.0,
      "latestDebtToGdp": 64.275,
      "latestPopulation": 84482267
    }
  ],
  "profiles": {
    "United States": {
      "country": "United States",
      "code": "USA",
      "indicators": {
        "gdp_nominal": {
          "name": "GDP (current US$)",
          "unit": "USD",
          "values": [
            { "year": 2020, "value": 21354103000000 },
            { "year": 2021, "value": 23681170000000 },
            { "year": 2022, "value": 26006893000000 },
            { "year": 2023, "value": 27360935000000 }
          ],
          "latest": { "year": 2023, "value": 27360935000000 }
        },
        "gdp_growth_pct": {
          "name": "Gross domestic product, constant prices (Percent change)",
          "unit": "Percent change",
          "values": [
            { "year": 2020, "value": -2.215 },
            { "year": 2021, "value": 5.799 },
            { "year": 2022, "value": 1.940 },
            { "year": 2023, "value": 2.541 },
            { "year": 2024, "value": 2.821 }
          ],
          "latest": { "year": 2024, "value": 2.821 }
        },
        "inflation_pct": {
          "name": "Inflation, average consumer prices (Percent change)",
          "unit": "Percent change",
          "values": [
            { "year": 2020, "value": 1.234 },
            { "year": 2021, "value": 4.698 },
            { "year": 2022, "value": 8.003 },
            { "year": 2023, "value": 4.116 }
          ],
          "latest": { "year": 2023, "value": 4.116 }
        },
        "unemployment_pct": {
          "name": "Unemployment rate (Percent)",
          "unit": "Percent",
          "values": [
            { "year": 2020, "value": 8.052 },
            { "year": 2021, "value": 5.349 },
            { "year": 2022, "value": 3.650 },
            { "year": 2023, "value": 3.638 }
          ],
          "latest": { "year": 2023, "value": 3.638 }
        },
        "govt_debt_gdp_pct": {
          "name": "General government gross debt (Percent of GDP)",
          "unit": "Percent of GDP",
          "values": [
            { "year": 2020, "value": 133.526 },
            { "year": 2021, "value": 126.397 },
            { "year": 2022, "value": 121.317 },
            { "year": 2023, "value": 122.143 }
          ],
          "latest": { "year": 2023, "value": 122.143 }
        },
        "population": {
          "name": "Population, total",
          "unit": "",
          "values": [
            { "year": 2020, "value": 331526933 },
            { "year": 2021, "value": 332048977 },
            { "year": 2022, "value": 333271411 },
            { "year": 2023, "value": 334914895 }
          ],
          "latest": { "year": 2023, "value": 334914895 }
        }
      }
    }
  }
}

The profiles block has one entry per country with the same six-indicator structure. The example shows United States only for brevity; China and Germany follow the same shape.

Output fields

Top-level (every paid tool)

FieldTypeDescription
totalnumberCount of data points returned
countriesstring[]Country names present in the response
dataobject[]The harmonized rows from the underlying source actor

econ_country_comparison specific

FieldTypeDescription
periodobjectfrom, to, includesForecasts
sourcesstring[]Upstream providers actually queried (currently World Bank, IMF WEO)
summaryobject[]One row per country with latest GDP, growth, inflation, unemployment, debt-to-GDP, population
profilesobjectPer-country object keyed by country name, with indicators[] time series and latest value per indicator

Per-source notes

ToolNotable fields
econ_us_bls_dataseriesCount, series[] with seriesId, seriesName, dataPoints
econ_us_fred_datamode, data (search results, observations, or metadata depending on mode)
econ_world_bank / econ_oecd_statistics / econ_imf_data / econ_eurostatindicator name, countries[], data[] time series
econ_list_sourcestools[], indicatorCoverage{}

How much does it cost to query economic indicators?

Economic Indicators MCP uses pay-per-event pricing: $0.05 per single-source tool call and $0.15 for the composite econ_country_comparison. Platform compute is included. econ_list_sources is free.

ScenarioTool callsCost per callTotal cost
List sources to pick the right tool1 free$0$0
Single CPI pull from BLS1$0.05$0.05
FRED series discovery + observations (2 calls)2$0.05$0.10
Single-country IMF query with forecasts1$0.05$0.05
Unified comparison across 5 countries1$0.15$0.15
Monthly EM macro brief, 12 countries comparison + 3 single-source supplements4mixed$0.30
200 country comparisons over a month (scheduled dashboard refresh)200$0.15$30.00

You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached, returning a structured error your pipeline can handle gracefully.

Apify's free tier includes $5 of monthly platform credits: enough for roughly 33 composite comparison calls or 100 single-source calls before you need to add payment.

How it works

  1. Standby HTTP server. The MCP server runs in Apify Standby mode on https://economic-indicators-mcp.apify.actor/mcp. POST a JSON-RPC tools/call payload, get back a structured response.
  2. Six sibling actors. Each MCP tool wraps one upstream source via a dedicated Apify actor (bls-economic-data, fred-economic-data, world-bank-indicators, oecd-statistics-search, imf-economic-data, eurostat-eu-statistics). The MCP layer normalizes the response and surfaces useful aggregates (total, countries, series).
  3. Composite fan-out. econ_country_comparison calls World Bank twice (nominal GDP, population) and IMF four times (growth %, inflation %, debt/GDP %, unemployment %) in parallel via Promise.all. Results are grouped by country, sorted by year, and the latest value is surfaced per indicator.
  4. Idle-shutdown. A 30-second interval checks lastRequestAt and exits the instance after STANDBY_IDLE_TIMEOUT_SECS (default 300s) of inactivity. The next request cold-starts a fresh instance, so compute is not billed during quiet periods.
  5. Per-tool PPE charge. Every paid tool calls Actor.charge({ eventName }) before running the upstream actor, so a customer is billed once per tool invocation regardless of how many records the upstream returns.

Tips for best results

  1. Use ISO codes consistently across a session. ISO 2-letter for World Bank, ISO 3-letter for IMF and OECD. For the composite tool, either works.

  2. Start with econ_list_sources from a fresh agent. It is free and returns the full tool catalogue plus the coverage map (US-specific / global / OECD / EU). The planner picks the right tool on the first try.

  3. For FRED, search before observations. Unless you already know the series ID, call econ_us_fred_data with mode: "search" and a keyword first, then call again with mode: "observations" and the resolved IDs. Two cheap calls beats guessing.

  4. For OECD, use the SDMX dataflow reference exactly as shown. OECD dataset IDs look like OECD.SDD.NAD,DSD_NAMAIN10@DF_TABLE1,1.0. Browse the picker at data-explorer.oecd.org to copy the right one. Wrong references return empty results.

  5. Toggle include_forecasts=true for forward-looking questions. Default is historical only. The IMF WEO database includes staff projections for future years; the flag is what unlocks them.

  6. Use country aggregates in Eurostat. Country code EU27_2020 returns the EU27 aggregate as a single row; EA20 returns the Euro Area. Pass these alongside individual member states for a single-call comparison.

  7. Set spending limits for scheduled runs. When pointing a daily scheduler at econ_country_comparison, set maxTotalChargeUsd on the Apify run to cap exposure. The MCP returns a structured error when the limit is reached.

Combine with other Apify actors

ActorHow to combine
BLS Economic DataCall directly if you need full BLS dataset output outside the MCP normalization layer
FRED Economic DataCall directly for FRED-only workflows or batch series pulls outside an MCP session
World Bank IndicatorsCall directly for bulk World Bank indicator pulls across many countries
OECD Statistics SearchCall directly for advanced SDMX dataflow exploration
IMF Economic DataCall directly for IMF WEO bulk extraction or per-country forecast tables
Eurostat EU StatisticsCall directly for full Eurostat dataset extraction with custom dataset codes
Company Deep ResearchPair macro context from this MCP with company-level intelligence for sovereign-corporate cross-analysis

Limitations

  • FRED requires a free API key. Without FRED_API_KEY set (env var or per-call api_key argument), econ_us_fred_data returns a NO_API_KEY warning instead of data. Get a key at fred.stlouisfed.org/docs/api/api_key.html, it is free and arrives in minutes.
  • BLS rate limit without a key is 25 requests per day. With a free BLS key, the limit goes to 500 requests per day plus a longer date-range cap. Set BLS_API_KEY or pass api_key per call.
  • OECD requires SDMX dataflow references. OECD dataset IDs are not human-friendly (OECD.SDD.NAD,DSD_NAMAIN10@DF_TABLE1,1.0). Browse data-explorer.oecd.org to find the right reference. Custom custom_dataset overrides any preset.
  • econ_country_comparison uses World Bank + IMF only. OECD and Eurostat are not part of the composite fan-out. Use the dedicated tools for OECD or EU-specific data.
  • Forecasts come from IMF only. include_forecasts=true returns IMF staff projections. World Bank, BLS, FRED, OECD, and Eurostat are historical/recent-actuals only.
  • Country-code mapping covers 45 major economies. The composite tool's internal ISO 2-to-3 (and reverse) mapping handles the most-requested codes. Less-common codes pass through unchanged, so passing a valid ISO code in the correct format for the underlying source still works.
  • Upstream actor timeout is 120 seconds. If a source is slow, it times out and returns an empty array. The MCP response still returns successfully with whatever sources delivered; check the total and countries fields.
  • Data freshness depends on the upstream agency. BLS, FRED, Eurostat, and OECD update on their own release calendars. IMF WEO updates twice a year (April, October). World Bank annual indicators update once a year.

Integrations

  • Apify API, trigger MCP tool calls programmatically from a research pipeline or analyst workflow
  • Webhooks, push failure or completion alerts to Slack, email, or any HTTP endpoint
  • Zapier, connect macro data refreshes to Airtable, Google Sheets, or Notion macro dashboards
  • Make, build country-monitoring scenarios that auto-update when new data lands
  • LangChain / LlamaIndex, embed this MCP as a tool in LLM agent pipelines so the agent can ground macro claims in official statistics

Troubleshooting

econ_us_fred_data returns { "warning": "No FRED API key provided" }. Either set the FRED_API_KEY env var on the actor, or pass api_key in every FRED tool call. The free FRED key is issued in minutes at fred.stlouisfed.org/docs/api/api_key.html.

econ_oecd_statistics returns 0 data points. The OECD dataset reference is probably wrong. SDMX dataflow IDs look like OECD.SDD.NAD,DSD_NAMAIN10@DF_TABLE1,1.0. Find the correct reference for the indicator you want at data-explorer.oecd.org and pass it as custom_dataset.

econ_country_comparison returns a country in the summary but the indicators block is sparse. This usually means one of the underlying source actors returned the country name but no value rows for the requested years. Try expanding the start_year / end_year window or check the country code is recognized by both World Bank (ISO 2-letter internally) and IMF (ISO 3-letter internally).

A country code is rejected. ISO 2-letter and 3-letter both work for the composite tool. The single-source tools require their native format: World Bank wants 2-letter, IMF and OECD want 3-letter, Eurostat wants 2-letter EU codes. The error message will name the source that rejected the code.

Tool returns "error": true, "message": "Spending limit reached". The Apify run hit maxTotalChargeUsd. Raise the limit in your run configuration, or add platform credits.

Responsible use

  • All data accessed by this server comes from publicly available official statistics: U.S. BLS, U.S. Federal Reserve (FRED), World Bank, OECD, IMF World Economic Outlook, and Eurostat. Each agency publishes data under its own terms; check the source if you are republishing.
  • Cite the underlying source agency when republishing values. The tool responses include the source name, indicator code, and year so attribution is straightforward.
  • Comply with applicable rate limits and terms of use for each upstream API. The BLS and FRED keys are issued for free; respect their daily request limits.
  • For guidance on web scraping and data use legality, see Apify's guide.

FAQ

How fresh is the data returned by Economic Indicators MCP? Freshness depends on the upstream agency. FRED and Eurostat update daily to monthly depending on the series. BLS releases follow the U.S. statistical calendar (CPI monthly, employment monthly). OECD updates on the dataset's own calendar. IMF WEO publishes twice a year (April and October). World Bank annual indicators update once a year, typically with a 6-12 month lag. Each tool response includes the most recent observation date the source provided.

Can I get forecasts and projections? Yes, from IMF. Pass include_forecasts=true to econ_imf_data or econ_country_comparison and the response will include IMF staff projections for future years. BLS, FRED, World Bank, OECD, and Eurostat are historical or recent-actuals only.

Should I pass ISO 2-letter or 3-letter country codes? For the single-source tools, match the source's native format: World Bank uses ISO 2-letter (US,CN,DE), IMF and OECD use ISO 3-letter (USA,CHN,DEU), Eurostat uses EU 2-letter (DE,FR,IT) plus aggregates (EU27_2020, EA20). For econ_country_comparison, either ISO 2-letter or 3-letter works because the tool maps internally for 45 major economies.

Why does FRED require a key when the other sources do not? FRED is the Federal Reserve's data API and applies a per-user rate limit tied to a free key. Sign up at fred.stlouisfed.org/docs/api/api_key.html, get a key in minutes, then either set FRED_API_KEY on the actor or pass it as api_key per tool call. The other five sources (BLS optional, World Bank, OECD, IMF, Eurostat) work without a key.

How is this different from Bloomberg Terminal or Refinitiv? Bloomberg and Refinitiv are end-user terminal products priced for sell-side desks (thousands of dollars per seat per month) and built for human analysts. Economic Indicators MCP is agent-native infrastructure: an MCP endpoint priced per call ($0.05 single source, $0.15 composite) that returns structured JSON for LLM agents and automated pipelines. The two serve different jobs.

How is this different from asking ChatGPT or Claude for macro data? LLMs without tool access guess from training data and cannot tell you the latest reading. They also hallucinate numbers and cannot cite a release date. Connecting an agent to this MCP replaces "U.S. inflation in 2024 was around 3%" with "U.S. CPI, BLS series CUUR0000SA0, latest reading X.X% YoY for {month}", grounded in the actual release.

Can I query EU-specific indicators? Yes. econ_eurostat covers EU GDP, unemployment, HICP inflation, population, and trade. Use the preset datasets (nama_10_gdp, une_rt_a, prc_hicp_aind, demo_pjan, ext_lt_maineu) or pass any Eurostat dataset code via custom_dataset. Country codes accept individual EU member states (DE, FR, IT) and aggregates (EU27_2020 for the EU27, EA20 for the Euro Area).

Is the country-comparison tool's output suitable for direct charting? Yes. Each indicator returns a values[] array sorted by year with {year, value} pairs, plus a latest value for headline display. The structure maps cleanly to chart libraries without further transformation. The summary table is suitable for direct table rendering.

Can I schedule this MCP to refresh a dashboard daily? Yes. Trigger the actor via the Apify Scheduler on the cadence you need (daily, weekly, monthly). Pair with webhooks to push the result into Sheets, Notion, Airtable, or your own database. Idle-shutdown means the standby instance does not bill compute between scheduled triggers.

Is it legal to use this data in commercial research? The underlying sources are official public statistics from government and intergovernmental agencies. Republishing values typically requires attribution to the source agency. Each agency has its own terms; check the source before commercial redistribution. See Apify's guide on web scraping legality for broader context.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.

Last verified: March 27, 2026

Ready to try Economic Indicators MCP Server?

This actor is coming soon to the Apify Store.

Coming soon