# Economic Calendar Tracker — FOMC, CPI, NFP Dates & Forecasts (`gochujang/economic-calendar-tracker`) Actor

Live macro event calendar: FOMC, CPI, NFP, GDP, PMI, ECB / BOJ / BOE rate decisions, OPEC meetings + impact rating + forecast vs prior. This-week + optional next-week from Forex Factory's free feed. Telegram alerts on high-impact events. No API key.

- **URL**: https://apify.com/gochujang/economic-calendar-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 8 total users, 6 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Economic Calendar Tracker

> Live macro event calendar: **FOMC, CPI, NFP, GDP, PMI, ECB / BOJ / BOE rate decisions, OPEC meetings** + impact rating + forecast vs prior. This-week + optional next-week from Forex Factory's free feed. **No API key.**

---

### Why this exists

Macro events drive the biggest single-day moves in every asset class. The day of an FOMC decision or CPI print can swing crypto and equities 3–5% in minutes. Pro traders avoid holding through these events; quants build calendars into their backtests.

Investing.com's calendar is gated behind a paywall and rate limits. ForexFactory's calendar is **free and machine-readable** but you have to know about it. This actor wraps it with sane filters, sorting, and Telegram alerts on high-impact events.

---

### What you get per row

| Field | Example | Notes |
|---|---|---|
| `title` | `Core CPI m/m` | event name |
| `country` | `USD` | currency / region |
| `impact` | `high` | low / medium / high / holiday |
| `date_iso` | `2026-06-10T08:30:00-04:00` | event time in ET |
| `forecast` | `0.3%` | consensus |
| `previous` | `0.4%` | prior reading |
| `actual` | `null` | populated after release |

---

### Impact levels

| Impact | What to expect |
|---|---|
| **high** | Top-tier events (FOMC, NFP, CPI, GDP, ECB rate decision). Expect 1–5% moves in FX, indices, and crypto |
| **medium** | Tier-2 (PMI, retail sales, durable goods). Often 0.5–1% moves |
| **low** | Speeches, secondary data. Usually noise unless they break trend |
| **holiday** | Bank holiday — thinner liquidity all day |

---

### Use cases

1. **Position management** — Don't get caught in a directional trade through high-impact events
2. **Volatility trading** — Buy straddles ahead of FOMC; sell after the print
3. **Quant backtests** — Mask trading PnL on high-impact event days for cleaner alpha measurement
4. **Risk dashboard** — Daily Telegram digest of upcoming high-impact events
5. **Calendar integration** — Pipe to Google Calendar / Slack / Discord webhook

---

### Quick start

#### Default — all this-week events
```json
{}
````

#### This + next week, high-impact only

```json
{
  "includeNextWeek": true,
  "impactLevels": ["high"],
  "sortBy": "date_asc"
}
```

#### USD + EUR + JPY only

```json
{
  "countries": ["USD", "EUR", "JPY"],
  "sortBy": "impact_desc"
}
```

#### Daily alert on high-impact events

```json
{
  "alertOnImpacts": ["high"],
  "telegramBotToken": "YOUR_BOT_TOKEN",
  "telegramChatId": "YOUR_CHAT_ID"
}
```

***

### Country / currency codes

Standard ISO-like codes used by ForexFactory:

- `USD` — United States
- `EUR` — Eurozone
- `JPY` — Japan
- `GBP` — United Kingdom
- `CHF` — Switzerland
- `AUD` — Australia
- `CAD` — Canada
- `NZD` — New Zealand
- `CNY` — China
- `ALL` — multi-country events (OPEC, G7, IMF)

***

### Pricing

**Pay-Per-Event**: `$0.001 per economic event returned.`

| Run | Events | Cost |
|---|---|---|
| Default (this week, all) | ~75 | $0.075 |
| This + next week, high-impact | 15–25 | $0.015–0.025 |
| USD only | 15–20 | $0.015–0.020 |

vs Bloomberg ECO function ($24,000/yr), or Trading Economics API ($89/mo).

***

### Data source

[ForexFactory JSON feed](https://www.faireconomy.media) (provided by Fair Economy) — free, public, updated continuously.

***

### Related actors (same author)

- [Treasury Yield Curve Tracker](https://apify.com/gochujang/treasury-yield-tracker) — Curve response to macro prints
- [Stock Earnings Calendar Tracker](https://apify.com/gochujang/stock-earnings-tracker) — Single-name calendar
- [Crypto ETF Flow Tracker](https://apify.com/gochujang/crypto-etf-flow-tracker)
- [Stablecoin Supply Tracker](https://apify.com/gochujang/stablecoin-supply-tracker)

***

### Feedback

A short review helps macro traders find it: [Leave a review on Apify Store](https://apify.com/gochujang/economic-calendar-tracker#reviews)

# Actor input Schema

## `includeNextWeek` (type: `boolean`):

Also pull next week's events. Default = this week only.

## `highImpactOnly` (type: `boolean`):

Shortcut: only return HIGH impact events (overrides impactLevels).

## `excludeHolidays` (type: `boolean`):

Remove holiday/bank-holiday events from output.

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

ISO codes (USD, EUR, JPY, GBP, CNY, etc.). Empty = all countries.

## `impactLevels` (type: `array`):

Only include events of these impact levels: low/medium/high/holiday. Empty = all. Ignored if highImpactOnly is true.

## `sortBy` (type: `string`):

Output row order.

## `limit` (type: `integer`):

Max events to return.

## `alertOnImpacts` (type: `array`):

Send Telegram alert for events matching these impact levels (e.g. \['high']). Empty = disabled.

## `telegramBotToken` (type: `string`):

Telegram bot token for alerts.

## `telegramChatId` (type: `string`):

Chat ID for Telegram alerts.

## Actor input object example

```json
{
  "includeNextWeek": false,
  "highImpactOnly": false,
  "excludeHolidays": false,
  "countries": [],
  "impactLevels": [],
  "sortBy": "date_asc",
  "limit": 200,
  "alertOnImpacts": [],
  "telegramChatId": ""
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/economic-calendar-tracker").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 = {}

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

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

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

```

## CLI example

```bash
echo '{}' |
apify call gochujang/economic-calendar-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=gochujang/economic-calendar-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Economic Calendar Tracker — FOMC, CPI, NFP Dates & Forecasts",
        "description": "Live macro event calendar: FOMC, CPI, NFP, GDP, PMI, ECB / BOJ / BOE rate decisions, OPEC meetings + impact rating + forecast vs prior. This-week + optional next-week from Forex Factory's free feed. Telegram alerts on high-impact events. No API key.",
        "version": "0.1",
        "x-build-id": "kgj9qgxzEWzwvoBax"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/gochujang~economic-calendar-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-gochujang-economic-calendar-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/gochujang~economic-calendar-tracker/runs": {
            "post": {
                "operationId": "runs-sync-gochujang-economic-calendar-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/gochujang~economic-calendar-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-gochujang-economic-calendar-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "includeNextWeek": {
                        "title": "Include next week",
                        "type": "boolean",
                        "description": "Also pull next week's events. Default = this week only.",
                        "default": false
                    },
                    "highImpactOnly": {
                        "title": "High impact only",
                        "type": "boolean",
                        "description": "Shortcut: only return HIGH impact events (overrides impactLevels).",
                        "default": false
                    },
                    "excludeHolidays": {
                        "title": "Exclude holidays",
                        "type": "boolean",
                        "description": "Remove holiday/bank-holiday events from output.",
                        "default": false
                    },
                    "countries": {
                        "title": "Countries",
                        "type": "array",
                        "description": "ISO codes (USD, EUR, JPY, GBP, CNY, etc.). Empty = all countries.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "impactLevels": {
                        "title": "Impact filter",
                        "type": "array",
                        "description": "Only include events of these impact levels: low/medium/high/holiday. Empty = all. Ignored if highImpactOnly is true.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "date_asc",
                            "date_desc",
                            "impact_desc"
                        ],
                        "type": "string",
                        "description": "Output row order.",
                        "default": "date_asc"
                    },
                    "limit": {
                        "title": "Max events",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Max events to return.",
                        "default": 200
                    },
                    "alertOnImpacts": {
                        "title": "Telegram alert impacts",
                        "type": "array",
                        "description": "Send Telegram alert for events matching these impact levels (e.g. ['high']). Empty = disabled.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "telegramBotToken": {
                        "title": "Telegram Bot Token",
                        "type": "string",
                        "description": "Telegram bot token for alerts."
                    },
                    "telegramChatId": {
                        "title": "Telegram Chat ID",
                        "type": "string",
                        "description": "Chat ID for Telegram alerts.",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
