Economic Calendar Data (Investing.com)
Pricing
from $7.00 / 1,000 results
Economic Calendar Data (Investing.com)
Extract structured economic calendar events (actual, forecast, previous, importance) from Investing.com across 45+ countries. Built for algorithmic trading systems, AI trading agents, RAG pipelines, and financial research. Filter by country, importance, category, and date range.
Pricing
from $7.00 / 1,000 results
Rating
4.1
(2)
Developer
Pinto Studio
Maintained by CommunityActor stats
7
Bookmarked
415
Total users
30
Monthly active users
3 days ago
Last modified
Categories
Share
Extract structured, machine-readable economic calendar events from Investing.com — release dates, actual/forecast/previous values, and importance ratings — as clean JSON. Built for algorithmic trading systems, AI trading agents, and financial research pipelines, and just as useful for manual market-monitoring dashboards.
Overview
Economic Calendar Data pulls economic events (interest rate decisions, employment data, inflation prints, auctions, speeches, and more) from Investing.com's economic calendar and returns them as structured, filterable JSON — no HTML scraping, no manual copy-pasting from a calendar widget.
It's built for two audiences:
- Quant/algo-trading developers and AI agents that need machine-readable macro data to feed a trading signal, a backtest, or an autonomous agent reasoning about market-moving events.
- Traders, analysts, and researchers who want a reliable daily/weekly feed of economic releases without babysitting a website.
Covers 45+ countries and economic regions, with filtering by country, category, importance, date range, and time zone.
Why use this Actor
- Clean, structured JSON — every event comes with its date, time, country, currency, importance, actual/forecast/previous values, and a retrieval timestamp.
- Built for algo-trading and AI agents — the output shape is designed to be dropped straight into a backtest, a trading bot's data pipeline, or an LLM prompt for macro-aware reasoning.
- Broad country coverage — 45+ countries and regions, from major economies (US, Eurozone, UK, Japan, China) to smaller markets.
- Flexible filtering — by country, category (e.g. "Inflation", "Employment"), importance (low/medium/high), date range, and time zone.
- Historical and forward-looking — pull past releases for backtesting or upcoming events for planning, using
fromDate/toDate. - No API keys or browser needed on your side — just a Country input (optional filters on top).
Use cases
- Algorithmic trading and quant research: feed economic surprises (actual vs. forecast) into a trading signal or backtest.
- AI trading agents and RAG pipelines: give an agent structured, up-to-date macro context instead of raw web pages.
- Market-monitoring dashboards: build a live or daily-refreshed economic calendar view for a trading desk or newsletter.
- Compliance and research: track scheduled central-bank speeches, auctions, and data releases for a given market.
- Backtesting: reconstruct historical economic-release surprises over any date range.
Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
country | String (select) | Optional | Country/region to retrieve events for, e.g. "united states". Leave blank to include all countries. See Supported countries below. |
timeZone | String | No | Time zone as a GMT offset, e.g. "GMT +2:00". Defaults to the actor's local GMT time zone if omitted. |
timeFilter | String (select) | No | "time_only" (event time, default) or "time_remain" (time remaining until the event). |
importances | String (select) | No | One of "high", "medium", "low", or blank for all. Single value per run — call the Actor again with a different value to cover more than one importance level. |
categories | String | No | A single category to filter by, e.g. "Inflation" or "Employment". Leave blank for all categories. |
fromDate | String | No | Start date, YYYY-MM-DD format (e.g. "2025-07-01"). If omitted along with toDate, only the current day is retrieved. |
toDate | String | No | End date, YYYY-MM-DD format (e.g. "2025-07-07"). |
Example input
{"timeZone": "GMT +1:00","timeFilter": "time_only","importances": "high","categories": "Inflation","country": "united states","fromDate": "2025-07-01","toDate": "2025-07-07"}
Output
Each run pushes one dataset item per economic calendar event. Every item has:
| Field | Type | Description |
|---|---|---|
id | Number | Unique identifier for the event. |
date | String | Event date, in DD/MM/YYYY format. |
time | String | Event time (or "All Day"), in the requested time zone/format. |
zone | String | Country/region the event applies to. |
currency | String or null | Currency code associated with the event, e.g. "USD". |
importance | String | Event importance: "low", "medium", or "high". |
event | String | Name of the economic event. |
actual | String or null | Actual reported value, once released. |
forecast | String or null | Forecasted/consensus value, if available. |
previous | String or null | Value from the previous period, if available. |
retrieved_at | String | Timestamp this record was scraped, in ISO 8601 format. |
data_type | String | "economic_calendar_event" for normal rows, "error" if the run failed to retrieve data for a request. |
Example output
{"id": 520685,"date": "17/04/2025","time": "12:30","zone": "united states","currency": "USD","importance": "medium","event": "Building Permits (Mar)","actual": "1.482M","forecast": "1.450M","previous": "1.459M","retrieved_at": "2026-08-26T10:54:25.473169","data_type": "economic_calendar_event"}
Here's a real sample pulled straight from a live run, shown as a table for a quick visual check of the output shape:
| Date | Time | Event | Importance | Actual | Forecast | Previous |
|---|---|---|---|---|---|---|
| 17/04/2025 | 12:30 | Building Permits (Mar) | medium | 1.482M | 1.450M | 1.459M |
| 17/04/2025 | 12:30 | Continuing Jobless Claims | medium | 1.885K | 1.870K | 1.844K |
| 17/04/2025 | 12:30 | Initial Jobless Claims | high | 215K | 225K | 224K |
| 17/04/2025 | 12:30 | Philadelphia Fed Manufacturing Index (Apr) | high | -26.4 | 2.2 | 12.5 |
| 17/04/2025 | 12:30 | Housing Starts (Mar) | medium | 1.324M | 1.420M | 1.494M |
| 17/04/2025 | 12:30 | Philly Fed Business Conditions (Apr) | low | 6.9 | — | 5.6 |
A run summary is also saved to the Key-Value Store under the record name economic_calendar_summary, with total_events, has_data, retrieved_at, and lists of the unique zones/currencies/importances seen in that run.
Results are available from the Output/Storage tab as JSON, CSV, Excel, or a rendered table — or via the Apify API/SDK, same as any Actor dataset.
Integrating programmatically (API, SDKs, AI agents)
This Actor is a regular Apify Actor, so it's callable from any language via the Apify API, the official SDKs, or as a tool for AI agents through the Apify MCP Server — no custom scraping code required on your end.
JavaScript (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('pintostudio/economic-calendar-data-investing-com').call({country: 'united states',importances: 'high',fromDate: '2025-07-01',toDate: '2025-07-07',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items); // [{ id, date, time, zone, event, actual, forecast, previous, ... }, ...]
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("pintostudio/economic-calendar-data-investing-com").call(run_input={"country": "united states","importances": "high","fromDate": "2025-07-01","toDate": "2025-07-07",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["event"], item["actual"], item["forecast"])
For AI agents: this Actor can be exposed as a callable tool through Apify's MCP Server, so a trading agent or research assistant (Claude, GPT, or any MCP-compatible assistant) can pull the latest economic calendar on demand as part of a broader workflow — without you writing a scraper.
How to use
- Set the input — at minimum pick a
country(or leave blank for all); optionally narrow withimportances,categories,fromDate/toDate,timeZone, andtimeFilter. - Run the Actor — start it from the Console, schedule it (e.g. daily), or trigger it via the API/SDK.
- Read the output — pull events from the dataset in JSON, CSV, table view, or programmatically via the API.
Supported countries
The country input field supports: Spain, United States, United Kingdom, Germany, France, Italy, Netherlands, Belgium, Portugal, Austria, Switzerland, Norway, Sweden, Denmark, Finland, Poland, Czech Republic, Hungary, Greece, Turkey, Russia, China, Japan, South Korea, India, Australia, Canada, Brazil, Mexico, Argentina, Chile, Colombia, Peru, South Africa, Israel, Saudi Arabia, United Arab Emirates, Malaysia, Singapore, Thailand, Indonesia, Philippines, Vietnam, Taiwan, Hong Kong, and New Zealand.
Limitations
importancesandcategorieseach accept one value per run — to cover multiple importance levels or categories, call the Actor again (or loop via the API) with different values.actual,forecast, andpreviousarenullwhen a value hasn't been released yet or doesn't apply to that event type (e.g. speeches, holidays).- Data reflects Investing.com's own publish/update cadence — for continuous monitoring, run this Actor on a schedule (e.g. every 15–30 minutes or daily) rather than expecting a live stream.
- If a request fails, a single
data_type: "error"item is pushed instead of event data — check for this when consuming the dataset programmatically.
Pricing
This Actor is billed via the Apify platform's usage-based pricing. See the pricing panel at the top of this page for current rates.
FAQ
Do I need an Investing.com account or API key? No — this Actor handles retrieval for you.
Can I get historical economic data, not just today's?
Yes — set fromDate and toDate (format YYYY-MM-DD) to any range.
Can I filter by more than one country, category, or importance level in a single run?
country accepts one value per run (or blank for all); categories and importances are single-value fields. Run the Actor multiple times with different values to cover more than one.
Is this real-time data? It reflects Investing.com's calendar at the time the Actor runs. Schedule it periodically for near-real-time monitoring.
Can I use this with an AI trading agent or RAG pipeline? Yes — the output is plain structured JSON, callable via the Apify API/SDKs or as an agent tool through Apify's MCP Server.
Related Actor
Already pulling macro data with this Actor? Pair it with Youtube Transcript Scraper — extract clean, timestamped transcripts from any public YouTube video as structured JSON, built for the same AI-agent and RAG-pipeline use cases. From the same developer, Pinto Studio.
Support
If you have any questions or run into issues:
- Verify your input parameters match the schema requirements (see Input parameters above).
- Check the actor's run log for detailed error messages.
- Telegram: @pintoflow
- Apify Platform: reach out directly through this platform.
Start using Economic Calendar Data today to turn Investing.com's calendar into clean, structured, agent-ready market data. 🚀