# Investing.com Economic Calendar Scraper - 107 Countries (`parseforge/investing-com-economic-calendar-scraper`) Actor

Scrape the Investing.com economic calendar: releases, speeches and holidays with actual, forecast, previous and revised values. Optionally add each indicator's description, source and past releases. Export to CSV, JSON, Excel or XML.

- **URL**: https://apify.com/parseforge/investing-com-economic-calendar-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Business, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.12 / 1,000 calendar rows

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 📅 Investing.com Economic Calendar Scraper

> 🚀 **Export the Investing.com economic calendar in seconds.** 107 countries, 8 categories, 3 importance levels, 24 fields per row, and a full week of the global calendar (439 rows across 62 countries in the verification week) in about one minute.

The Actor reads the [Investing.com economic calendar](https://www.investing.com/economic-calendar/) through the same request the page itself makes, and turns every scheduled entry into one clean row: data releases, central bank speeches, reports and market holidays, each with the actual, forecast, previous and revised values once they are published, the release time in UTC and in a time zone of your choice, the volatility rating, the currency and the country. Ask for today, tomorrow, this week, next week or any custom date range (the archive is verified back to 2020), narrow it down by country, importance or category, and download the result as CSV, JSON, Excel or XML.

Coverage is the whole calendar: 107 countries from Albania to Zimbabwe, the euro zone included, 8 event categories (central banks, confidence, balance of payments, bonds, credit, economic activity, employment, inflation) and the three volatility levels the site uses. Filters are applied by Investing.com itself, so Max Items is spent only on rows you asked for. Values the source has not published yet come back as `Not Disclosed` and fields that cannot apply to a row (the figures of a holiday) come back as `N/A`, never as an empty cell.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Traders and quant researchers | Build the week's event risk calendar for FX, rates, index and crypto desks |
| Macro analysts and economists | Track actual vs forecast surprises for CPI, NFP, GDP, PMI and rate decisions |
| Fintech and data teams | Feed a calendar widget, an alert bot or a backtest with a clean structured source |
| Newsrooms and content teams | Publish "the week ahead" pieces from a machine-readable schedule |

### 📋 What the Investing.com Economic Calendar Scraper does

> 💡 **Why it matters:** the calendar page loads its rows through a client-side request, sits behind Cloudflare and rate limits every IP, so copying it by hand or with a plain script breaks quickly. This Actor speaks the page's own listing endpoint, takes a fresh exit IP for every request, walks your date range one day at a time so a busy week never drops rows, and never bills for a row it did not deliver.

- 📊 **Every entry type:** data releases, reports, central bank speeches and market holidays, flagged with `eventType`, `isSpeech`, `isReport` and `isHoliday`.
- 🔢 **The figures that matter:** `actual`, `forecast`, `previous`, the original figure when the previous one was revised, and `actualVsForecast` (better, worse or in line) read from the site's own colour coding.
- ⏰ **Exact timing:** `dateTimeUtc` as an ISO 8601 instant computed from the offset the site reports, plus `dateLocal` and `timeLocal` in any IANA time zone you pick.
- 🌍 **107 countries and 8 categories** as validated pick lists, so a typo cannot silently return the whole world.
- 🔔 **Importance** as a number (1 to 3), a label (`low`, `moderate`, `high`) and the site's own wording (`High Volatility Expected`).
- 🔗 **Stable identifiers:** the event id, the occurrence id of this particular release and the event's page URL on Investing.com.
- 🗓️ **Any date range:** today, tomorrow, this week, next week or a custom range, past or future.
- 📖 **Optional depth, per indicator:** the official description and the institution that publishes it, up to 100 past releases as numbers, and the latest and next scheduled print. All three are off by default and billed only when they actually carry data.

### 🎬 Full Demo (🚧 Coming soon)

A short walkthrough video is in production.

### 📊 Output

Each row is one calendar entry. Fields, in dataset order:

| Field | Description |
|---|---|
| 📌 `eventName` | Event title without the period suffix, for example `Initial Jobless Claims` |
| 🌍 `country` | Country or zone as Investing.com names it (`United States`, `Euro Zone`) |
| 💱 `currency` | ISO currency code of the release (`USD`, `EUR`); `N/A` for holidays |
| 🔗 `eventUrl` | The event's page on Investing.com |
| 🆔 `eventId` | Investing.com id of the indicator, stable across releases |
| 🔢 `occurrenceId` | Id of this specific release or holiday row |
| 🏷 `eventType` | `release`, `report`, `speech` or `holiday` |
| ⏰ `dateTimeUtc` | Release instant in ISO 8601 UTC |
| 📅 `dateLocal` / 🕓 `timeLocal` | Same instant in your chosen time zone; holidays show `All Day` |
| 🗓 `referencePeriod` | The period the figure covers (`Aug`, `Q2`), when the title carries one |
| 📊 `actual` | Published value, or `Not Disclosed` until the release |
| 🔮 `forecast` | Consensus forecast |
| ⏮ `previous` | Previous value |
| ✏️ `previousRevisedFrom` | Original figure when the previous value was revised |
| ⚖️ `actualVsForecast` | `better than forecast`, `worse than forecast`, `in line with forecast`, or `N/A` before release |
| 🔔 `importance` | 1, 2 or 3 (the site's volatility bullets) |
| 🚨 `importanceLabel` | `low`, `moderate` or `high` |
| 📈 `volatilityExpected` | The site's own wording, for example `High Volatility Expected` |
| 🎤 `isSpeech` / 📄 `isReport` / 🏖 `isHoliday` | `Yes` or `No` |
| 📖 `description` | *Optional block.* Official definition of the indicator and how to read a higher or lower print |
| 🏛 `source` / 🔗 `sourceUrl` | *Optional block.* The institution that publishes the figure and its home page |
| 🏷 `category` | *Optional block.* `inflation`, `employment`, `economic activity` and so on |
| 🆔 `countryId` | *Optional block.* Investing.com's numeric country id |
| 📛 `eventLongName` / `eventMetaTitle` | *Optional block.* The indicator's full and qualified names |
| 📜 `history` | *Optional block.* Past releases, each with `actual`, `forecast`, `previous`, `previousRevisedFrom`, `referencePeriod`, `isPreliminary` and the release time in UTC, as numbers |
| ⏱ `latestRelease` / `nextRelease` | *Optional block.* The most recent published figure and the next scheduled one |
| 🕒 `scrapedAt` | ISO timestamp of the collection |
| ❌ `error` | `null` on success; error rows carry only this field and are never charged |

Three real rows from the verification run (this week, United States, Max Items 5):

```json
[
  {
    "eventName": "OPEC Meeting",
    "country": "United States",
    "currency": "USD",
    "eventUrl": "https://www.investing.com/economic-calendar/opec-meeting-230",
    "eventId": "230",
    "occurrenceId": "556230",
    "eventType": "speech",
    "dateTimeUtc": "2026-09-06T10:00:00.000Z",
    "dateLocal": "2026-09-06",
    "timeLocal": "10:00",
    "referencePeriod": "Not Disclosed",
    "actual": "Not Disclosed",
    "forecast": "Not Disclosed",
    "previous": "Not Disclosed",
    "previousRevisedFrom": "Not Disclosed",
    "actualVsForecast": "N/A",
    "importance": 2,
    "importanceLabel": "moderate",
    "volatilityExpected": "Moderate Volatility Expected",
    "isSpeech": "Yes",
    "isReport": "No",
    "isHoliday": "No",
    "scrapedAt": "2026-09-08T04:52:41.709Z",
    "error": null
  },
  {
    "eventName": "United States - Labor Day",
    "country": "United States",
    "currency": "N/A",
    "eventUrl": "N/A",
    "eventId": "N/A",
    "occurrenceId": "98",
    "eventType": "holiday",
    "dateTimeUtc": "N/A",
    "dateLocal": "2026-09-07",
    "timeLocal": "All Day",
    "referencePeriod": "N/A",
    "actual": "N/A",
    "forecast": "N/A",
    "previous": "N/A",
    "previousRevisedFrom": "N/A",
    "actualVsForecast": "N/A",
    "importance": "N/A",
    "importanceLabel": "N/A",
    "volatilityExpected": "N/A",
    "isSpeech": "No",
    "isReport": "No",
    "isHoliday": "Yes",
    "scrapedAt": "2026-09-08T04:52:42.357Z",
    "error": null
  },
  {
    "eventName": "NFIB Small Business Optimism",
    "country": "United States",
    "currency": "USD",
    "eventUrl": "https://www.investing.com/economic-calendar/nfib-small-business-optimism-537",
    "eventId": "537",
    "occurrenceId": "555661",
    "eventType": "release",
    "dateTimeUtc": "2026-09-08T10:00:00.000Z",
    "dateLocal": "2026-09-08",
    "timeLocal": "10:00",
    "referencePeriod": "Aug",
    "actual": "Not Disclosed",
    "forecast": "99.2",
    "previous": "99.8",
    "previousRevisedFrom": "Not Disclosed",
    "actualVsForecast": "N/A",
    "importance": 1,
    "importanceLabel": "low",
    "volatilityExpected": "Low Volatility Expected",
    "isSpeech": "No",
    "isReport": "No",
    "isHoliday": "No",
    "scrapedAt": "2026-09-08T04:52:42.891Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

| | What you get |
|---|---|
| **The whole calendar** | 107 countries, not a hand-picked subset; holidays included or excluded with one switch. |
| **Exact release instants** | UTC computed from the offset the site reports, plus your own time zone, so 08:30 New York never becomes 12:30 by accident. |
| **Surprise ready** | `actualVsForecast` and `previousRevisedFrom` are extracted, not left for you to infer. |
| **Filters at the source** | Country, importance and category are applied by Investing.com, so Max Items 100 means 100 rows you wanted. |
| **Any date, past or future** | Custom ranges are walked day by day; the archive is verified back to March 2020. |
| **Honest blanks** | `Not Disclosed` and `N/A` instead of empty cells, so filters in Excel and pandas behave. |
| **No browser, no key** | Plain HTTP with a real browser TLS fingerprint and a fresh exit IP per request; runs in 256 MB. |

### 📈 How it compares to alternatives

| Feature | This Actor | Other Investing.com calendar scrapers | ForexFactory scrapers | By hand |
|---|---|---|---|---|
| Countries | 107 (validated pick list) | Often 45 or fewer | Major currencies only | One page at a time |
| Holidays | Yes, optional | Rare | No | Manual |
| Revised previous value | Yes | Rare | Rare | Manual |
| Actual vs forecast verdict | Yes | Rare | Some | Manual |
| Time zone | UTC plus any IANA zone | Site time only | Site time only | Manual |
| Rows per request ceiling | 200, paged automatically and walked per day | Varies | Varies | Scroll |
| Setup | Zero, run it now | Zero | Zero | Hours per week |

### 🚀 How to use

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Investing.com Economic Calendar Scraper](https://apify.com/parseforge/investing-com-economic-calendar-scraper?fpr=vmoqkp).
3. Pick a time frame (or a custom date range), choose countries, importance and categories, set Max Items and click **Start**.
4. Download the dataset as CSV, Excel, JSON or XML from the **Storage** tab, or read it through the API.

A first run:

```json
{
  "timeFrame": "custom",
  "dateFrom": "2026-09-08",
  "dateTo": "2026-09-12",
  "countries": ["United States", "Euro Zone"],
  "importance": ["high"],
  "outputTimeZone": "America/New_York",
  "maxItems": 100
}
```

Free-plan runs return up to 10 rows as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 rows per run.

### 💼 Business use cases

**📉 Event risk for trading desks.** Run `nextWeek` with `importance: ["high"]` every Friday and push the rows to the desk's shared calendar, so FOMC, CPI, NFP and ECB decisions are on every screen with the exact UTC instant.

**📊 Surprise index research.** Pull a custom range for the United States, the Euro Zone, the United Kingdom and Japan, keep rows where `actualVsForecast` is not `N/A`, and build a rolling surprise score per country from `actual`, `forecast` and `previous`.

**🔔 Alerting products.** Schedule the Actor hourly for `today`, diff `actual` against the previous run and fire a Slack or Telegram message the moment a figure prints.

**📰 Editorial calendars.** Newsrooms export `thisWeek` for a handful of countries on Sunday evening and draft the "week ahead" piece from the table, with `eventUrl` linking readers to each indicator.

### 🔌 Automating Investing.com Economic Calendar Scraper

- **Make and Zapier:** run the Actor on a schedule and append new rows to Google Sheets or Airtable.
- **Slack:** post a message when a `high` importance release prints `worse than forecast`.
- **Airbyte:** sync the dataset into BigQuery, Snowflake or Postgres for dashboards.
- **GitHub Actions:** rebuild a static "week ahead" page on every push.
- **Google Drive:** save each run as CSV or Excel for a shared folder.

Every integration starts from the [Apify API](https://docs.apify.com/api/v2) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### 🌟 Beyond business use cases

- **Research:** collect two years of releases for a thesis on how markets react to inflation surprises.
- **Personal:** know before a trip which markets are closed for a holiday.
- **Non-profit:** economics educators can hand students a clean weekly dataset instead of screenshots.
- **Experimentation:** feed the rows to an LLM to prototype a plain-language daily macro briefing.

### 🤖 Ask an AI assistant about this scraper

Give an AI agent live access to the calendar through the Model Context Protocol:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/investing-com-economic-calendar-scraper"
```

Then ask in plain language, for example "List the high importance US and Euro Zone releases next week in New York time".

### ❓ Frequently Asked Questions

#### 🌍 Which countries can I filter on?

All 107 countries Investing.com offers in its own country picker, from Albania to Zimbabwe, including the Euro Zone. Pick them by name in the Countries field; leave it empty for the whole world.

#### 🗓️ How far back does the archive go?

Years. The Actor was verified against March 2020 and January 2026 weeks. Use `timeFrame: "custom"` with `dateFrom` and `dateTo`.

#### ⏰ What time zone are the times in?

`dateTimeUtc` is always UTC, computed from the offset the site reports with each response. `dateLocal` and `timeLocal` use the Output time zone field (any IANA name such as `Europe/London`); it defaults to UTC.

#### 📦 How many rows can I collect?

Free users get 10 rows as a preview. Paid Apify users can set Max Items up to 1,000,000 per run. A full unfiltered week is a few hundred rows (439 in the verification week).

#### 🔢 Why do some rows say `Not Disclosed`?

The value has not been published yet (a future release has no `actual`), or the site does not carry it for that event (speeches have no forecast). `N/A` marks fields that cannot apply, such as the figures of a market holiday.

#### 🏖️ Can I drop the holidays?

Yes. Turn off "Include market holidays" and only releases, reports and speeches are delivered.

#### ⚖️ How is `actualVsForecast` computed?

From the colour Investing.com assigns to the published figure: green is `better than forecast`, red is `worse than forecast`, black is `in line with forecast`. It stays `N/A` until both `actual` and `forecast` exist.

#### 🔁 What is the 200-row ceiling?

The listing endpoint returns at most 200 rows per request. The Actor walks your range one day at a time and pages inside a day when needed, so the ceiling never costs you rows.

#### 🛡️ Do I need a proxy?

Investing.com sits behind Cloudflare and rate limits each IP after roughly a dozen requests, so the Actor uses Apify Proxy (datacenter) by default and takes a fresh exit IP for every request. If datacenter IPs run out for a request, it switches the rest of the run to residential IPs; turn "Fall back to residential IPs" off if you prefer the run to stop instead.

#### ❌ What happens if a day fails?

The other days are still delivered. The failed day adds one row containing only an `error` field, which is never charged, and the run status message says so.

#### 🕒 Can I run this on a schedule?

Yes. Create an Apify schedule to run the Actor hourly, daily or weekly and connect the dataset to your pipeline.

#### 📄 What output formats are supported?

CSV, JSON, Excel and XML from the Apify Console or the API.

### 🔌 Integrate with any app

The dataset is available through the Apify API the moment the run finishes. Use the `run-sync-get-dataset-items` endpoint for one-shot calls, webhooks to trigger downstream jobs, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.

### 🔗 Recommended Actors

- [Morningstar Fund & ETF Scraper](https://apify.com/parseforge/morningstar-scraper?fpr=vmoqkp)
- [Benzinga Financial News Scraper](https://apify.com/parseforge/benzinga-scraper?fpr=vmoqkp)
- [FINRA BrokerCheck Scraper](https://apify.com/parseforge/finra-brokercheck-scraper?fpr=vmoqkp)
- [UK Companies House Scraper](https://apify.com/parseforge/uk-companies-house-scraper?fpr=vmoqkp)

***

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA) with your run ID, your input and what you expected.

> **⚠️ Disclaimer:** This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Investing.com or Fusion Media Limited. It collects only publicly available data. You are responsible for using the data in compliance with Investing.com's terms of use and applicable laws.

# Actor input Schema

## `timeFrame` (type: `string`):

Which range of the calendar to scrape. Pick 'Custom date range' to use the two date fields below. The site's week runs Sunday to Saturday.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `dateFrom` (type: `string`):

First day to scrape, as YYYY-MM-DD. Used only when the time frame is 'Custom date range'. The archive goes back years (verified to 2020).

## `dateTo` (type: `string`):

Last day to scrape, as YYYY-MM-DD. Used only when the time frame is 'Custom date range'. Defaults to Date from.

## `countries` (type: `array`):

Limit the calendar to these countries. 107 countries are supported; leave empty for all of them.

## `importance` (type: `array`):

Keep only events with these volatility ratings (the one, two or three bullets on the site). Leave empty for all three.

## `categories` (type: `array`):

Keep only events in these categories. Leave empty for all of them.

## `includeHolidays` (type: `boolean`):

The calendar also lists market holidays. Turn this off to keep only data releases, reports and speeches.

## `outputTimeZone` (type: `string`):

IANA time zone used for the dateLocal and timeLocal columns, for example 'America/New\_York' or 'Europe/London'.

## `includeEventDetails` (type: `boolean`):

Adds the official description of the indicator and how to read a higher or lower print, the institution that publishes it, its home page, the event category and the country id.

## `includeEventHistory` (type: `boolean`):

Adds previously published values with actual, forecast, previous, revised-from, the reference period and whether the print was preliminary, as numbers rather than display strings.

## `historyLimit` (type: `integer`):

How many past releases to keep per indicator when the history block is on. The site holds up to 100, going back years.

## `includeClosestReleases` (type: `boolean`):

Adds the most recent published figure for the indicator and its next scheduled release, already parsed as numbers.

## `proxyConfiguration` (type: `object`):

Apify Proxy or your own proxies. Datacenter is the default; the Actor switches to residential on its own if datacenter gets blocked (see below).

## `residentialFallback` (type: `boolean`):

If a request runs out of clean datacenter IPs, switch the rest of the run to Apify residential proxy. Slower and more expensive, but it finishes the run. Turn off to fail instead.

## `proxyCountry` (type: `string`):

Two-letter country code for the residential exit node, used only by the fallback above.

## Actor input object example

```json
{
  "timeFrame": "thisWeek",
  "maxItems": 10,
  "countries": [
    "United States"
  ],
  "includeHolidays": true,
  "outputTimeZone": "UTC",
  "includeEventDetails": false,
  "includeEventHistory": false,
  "historyLimit": 12,
  "includeClosestReleases": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": true,
  "proxyCountry": "US"
}
```

# Actor output Schema

## `overview` (type: `string`):

Key fields: event, country, currency, release time, actual, forecast, previous, importance

## `fullData` (type: `string`):

Complete dataset with all 24 fields

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "timeFrame": "thisWeek",
    "maxItems": 10,
    "countries": [
        "United States"
    ],
    "outputTimeZone": "UTC",
    "historyLimit": 12,
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "proxyCountry": "US"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/investing-com-economic-calendar-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "timeFrame": "thisWeek",
    "maxItems": 10,
    "countries": ["United States"],
    "outputTimeZone": "UTC",
    "historyLimit": 12,
    "proxyConfiguration": { "useApifyProxy": True },
    "proxyCountry": "US",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/investing-com-economic-calendar-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "timeFrame": "thisWeek",
  "maxItems": 10,
  "countries": [
    "United States"
  ],
  "outputTimeZone": "UTC",
  "historyLimit": 12,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "proxyCountry": "US"
}' |
apify call parseforge/investing-com-economic-calendar-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/investing-com-economic-calendar-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/PaHujydtfVh0dQQSd/builds/eHXTFaQZsvO3uHaRD/openapi.json
