# US Futures Economic Calendar & Risk Windows (`monema/us-futures-economic-calendar`) Actor

Build machine-ready NQ, MNQ, ES, and MES risk windows from official BLS, BEA, Census, and Federal Reserve schedules.

- **URL**: https://apify.com/monema/us-futures-economic-calendar.md
- **Developed by:** [Maarten Vreeburg](https://apify.com/monema) (community)
- **Categories:** Developer tools, Automation, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$6.00 / 1,000 normalized futures risk events

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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.

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## US Futures Economic Calendar & Risk Windows

Turn official U.S. macroeconomic release schedules into machine-ready **NQ, MNQ, ES, and MES risk windows**. This Actor normalizes BLS, BEA, U.S. Census Bureau, and Federal Reserve calendar data, converts every event to UTC and your IANA timezone, and adds configurable blackout windows for bots, dashboards, journals, and risk controls.

**No scraping of forecasts, no invented values, and no trading signals.** Every paid row is a normalized scheduled event with an official source URL.

![Actual US futures risk-calendar output: seven NQ, MNQ, ES, and MES risk events with local blackout windows](https://api.apify.com/v2/key-value-stores/SyZZi7tHz9lndy3nB/records/output-preview.png)

*Actual 14-day output generated from all four official sources. The screenshot contains no simulated forecasts, prices, or trading results.*

### Quick start — useful output in under a minute

1. Click **Try for free** or **Start**.
2. Leave both date fields empty for the upcoming 14-day window.
3. Keep the recommended `medium` risk tier and click **Start**.
4. Open the **Dataset** to export JSON, CSV, Excel, or use the API.

The default input tracks all four supported U.S. index-futures contracts:

```json
{
  "instruments": ["NQ", "MNQ", "ES", "MES"],
  "minimumRisk": "medium",
  "timezone": "America/New_York",
  "minutesBefore": 15,
  "minutesAfter": 15,
  "maxEvents": 50
}
````

For Amsterdam-local times, set `timezone` to `Europe/Amsterdam`. Daylight-saving transitions are handled by the IANA timezone database.

### What you get

Each `risk_event` includes:

- a stable `eventId` and official release title;
- `riskTier`, `eventType`, and a short transparent `riskReason`;
- `scheduledAtUtc`, `scheduledAtNewYork`, and `scheduledAtLocal`;
- configurable local and UTC blackout windows;
- `premarket`, `cash_session`, or `after_hours` classification;
- selected NQ/MNQ/ES/MES contracts;
- official source agency, source ID, and source URL;
- explicit `null` values for `actual`, `previous`, and `forecast` because this Actor does not fabricate or resell consensus data.

Example event:

```json
{
  "recordType": "risk_event",
  "eventId": "fed-fomc-20260729",
  "title": "FOMC Rate Decision and Statement",
  "eventType": "fomc",
  "riskTier": "high",
  "riskReason": "Scheduled Federal Reserve rate decision and policy statement.",
  "affectedInstruments": ["NQ", "MNQ", "ES", "MES"],
  "tradingSession": "cash_session",
  "scheduledAtUtc": "2026-07-29T18:00:00Z",
  "scheduledAtNewYork": "2026-07-29T14:00:00-04:00",
  "scheduledAtLocal": "2026-07-29T20:00:00+02:00",
  "outputTimezone": "Europe/Amsterdam",
  "blackoutStartUtc": "2026-07-29T17:45:00Z",
  "blackoutEndUtc": "2026-07-29T18:15:00Z",
  "blackoutStartLocal": "2026-07-29T19:45:00+02:00",
  "blackoutEndLocal": "2026-07-29T20:15:00+02:00",
  "sourceAgency": "Federal Reserve",
  "sourceUrl": "https://www.federalreserve.gov/monetarypolicy/fomccalendars.htm",
  "actual": null,
  "previous": null,
  "forecast": null,
  "chargedEvent": "risk_event",
  "chargedEventCount": 1
}
```

The first dataset row is a free `run_summary`. It reports the requested window, source status, returned event count, and whether the run's charge limit truncated output. Source errors are never billed.

### Risk tiers

#### High

FOMC rate decisions, Employment Situation, CPI, PPI, Personal Income and Outlays/PCE, retail sales, and advance GDP.

#### Medium

Major housing releases, durable goods, and advance economic indicators.

#### Low

Other official scheduled releases that do not match a higher documented rule. Select `low` only when you want the broad official calendar.

Risk tiers are deterministic product classifications for filtering and automation—not predictions of volatility or trading recommendations.

### Pricing and cost control

The Actor charges **$0.006 per successfully normalized `risk_event`**.

- `run_summary`: free
- failed or unavailable source: free
- no matching events: free Actor events
- 7-event representative run: **$0.042**
- default `maxEvents: 50` hard cap: **$0.30**
- absolute input cap: 200 events and a 90-day window

Actor compute usage is included in the event price; the customer is not billed separate platform usage for this Actor. You can also set Apify's per-run maximum charge. If that limit is reached, the summary reports `chargeLimitReached: true`.

### API example

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/monema~us-futures-economic-calendar/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "dateFrom": "2026-07-20",
    "dateTo": "2026-08-02",
    "instruments": ["NQ", "MNQ"],
    "minimumRisk": "high",
    "timezone": "Europe/Amsterdam",
    "minutesBefore": 30,
    "minutesAfter": 30,
    "maxEvents": 25
  }'
```

Ready-to-run examples:

- [Python example](https://github.com/Monema1/us-futures-economic-calendar/blob/main/examples/python.py)
- [Node.js example](https://github.com/Monema1/us-futures-economic-calendar/blob/main/examples/node.mjs)
- [Companion repository](https://github.com/Monema1/us-futures-economic-calendar)

Schedule the Actor daily in Apify Console, send successful runs to a webhook, or consume the dataset from n8n, Make, Python, JavaScript, or an AI agent.

### Common workflows

- disable or reduce automated execution around scheduled macro releases;
- populate a futures dashboard or economic-calendar widget;
- annotate NQ/MNQ/ES/MES journals and backtests with scheduled-risk windows;
- create Telegram, Slack, Discord, email, or webhook reminders;
- provide deterministic calendar context to an AI trading assistant without giving it fabricated forecasts.

### Official sources and provenance

The Actor reads these public U.S. government schedules:

- [Bureau of Labor Statistics release calendar](https://www.bls.gov/schedule/)
- [Bureau of Economic Analysis release schedule](https://www.bea.gov/news/schedule/full)
- [U.S. Census Bureau economic indicators calendar](https://www.census.gov/economic-indicators/calendar-listview.html)
- [Federal Reserve FOMC calendars](https://www.federalreserve.gov/monetarypolicy/fomccalendars.htm)

BLS, BEA, and Federal Reserve Board policies state that their website information is generally public domain unless otherwise indicated. The Actor cites every source and does not reuse agency seals, logos, photography, or third-party material.

Schedules can change. Always inspect `sourceStatuses`, the official `sourceUrl`, and the current run output before relying on a date operationally.

### Reliability behavior

- Each source is fetched independently.
- One unavailable source does not discard valid events from other sources.
- The free summary identifies `ok` and `error` sources.
- Invalid dates, unsupported contracts, invalid timezones, ranges over 90 days, and unbounded event requests fail before billable output.
- Official source changes can temporarily reduce coverage until the parser is updated.

### Responsible-use disclaimer

This Actor is an independent data-normalization tool. It is not affiliated with, endorsed by, or certified by BLS, BEA, the U.S. Census Bureau, the Federal Reserve Board, CME Group, or Nasdaq. NQ, MNQ, ES, and MES are used only to describe user-selected futures contracts.

The output is informational and is **not financial, investment, legal, or trading advice**. A scheduled release does not guarantee volatility, direction, liquidity, or execution quality. Users remain responsible for validating official schedules and for their own trading and risk decisions.

### Support

If an official source changes or an event is classified incorrectly, open an Actor issue with the event title, source URL, requested date range, and run ID. Source-parser and classification defects are treated as priority fixes.

# Actor input Schema

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

First U.S. Eastern calendar date to include, as YYYY-MM-DD. Leave empty to start today.

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

Last U.S. Eastern calendar date to include. Leave empty for a 14-day inclusive window. Maximum range: 90 days.

## `instruments` (type: `array`):

Contracts to attach to every normalized risk event.

## `minimumRisk` (type: `string`):

Medium includes major housing, durable-goods, and trade releases. High limits output to FOMC, inflation, employment, retail sales, and advance GDP.

## `timezone` (type: `string`):

IANA timezone for scheduledAtLocal and local blackout fields, for example Europe/Amsterdam.

## `minutesBefore` (type: `integer`):

Start the risk window this many minutes before the scheduled release.

## `minutesAfter` (type: `integer`):

End the risk window this many minutes after the scheduled release.

## `maxEvents` (type: `integer`):

Hard output and charge cap. At $0.006 per risk event, the default cap limits Actor event charges to $0.30.

## Actor input object example

```json
{
  "instruments": [
    "NQ",
    "MNQ",
    "ES",
    "MES"
  ],
  "minimumRisk": "medium",
  "timezone": "America/New_York",
  "minutesBefore": 15,
  "minutesAfter": 15,
  "maxEvents": 50
}
```

# Actor output Schema

## `riskWindows` (type: `string`):

Default dataset containing one free summary row followed by chargeable normalized risk-event rows.

# 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("monema/us-futures-economic-calendar").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("monema/us-futures-economic-calendar").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 monema/us-futures-economic-calendar --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Futures Economic Calendar & Risk Windows",
        "description": "Build machine-ready NQ, MNQ, ES, and MES risk windows from official BLS, BEA, Census, and Federal Reserve schedules.",
        "version": "0.1",
        "x-build-id": "Sw7W36t7afvgtOmhL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/monema~us-futures-economic-calendar/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-monema-us-futures-economic-calendar",
                "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/monema~us-futures-economic-calendar/runs": {
            "post": {
                "operationId": "runs-sync-monema-us-futures-economic-calendar",
                "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/monema~us-futures-economic-calendar/run-sync": {
            "post": {
                "operationId": "run-sync-monema-us-futures-economic-calendar",
                "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": {
                    "dateFrom": {
                        "title": "Start date (optional)",
                        "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "First U.S. Eastern calendar date to include, as YYYY-MM-DD. Leave empty to start today."
                    },
                    "dateTo": {
                        "title": "End date (optional)",
                        "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Last U.S. Eastern calendar date to include. Leave empty for a 14-day inclusive window. Maximum range: 90 days."
                    },
                    "instruments": {
                        "title": "Futures contracts",
                        "minItems": 1,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Contracts to attach to every normalized risk event.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "NQ",
                                "MNQ",
                                "ES",
                                "MES"
                            ],
                            "enumTitles": [
                                "Nasdaq-100 E-mini (NQ)",
                                "Nasdaq-100 Micro E-mini (MNQ)",
                                "S&P 500 E-mini (ES)",
                                "S&P 500 Micro E-mini (MES)"
                            ]
                        },
                        "default": [
                            "NQ",
                            "MNQ",
                            "ES",
                            "MES"
                        ]
                    },
                    "minimumRisk": {
                        "title": "Minimum risk tier",
                        "enum": [
                            "high",
                            "medium",
                            "low"
                        ],
                        "type": "string",
                        "description": "Medium includes major housing, durable-goods, and trade releases. High limits output to FOMC, inflation, employment, retail sales, and advance GDP.",
                        "default": "medium"
                    },
                    "timezone": {
                        "title": "Output timezone",
                        "type": "string",
                        "description": "IANA timezone for scheduledAtLocal and local blackout fields, for example Europe/Amsterdam.",
                        "default": "America/New_York"
                    },
                    "minutesBefore": {
                        "title": "Blackout minutes before",
                        "minimum": 0,
                        "maximum": 1440,
                        "type": "integer",
                        "description": "Start the risk window this many minutes before the scheduled release.",
                        "default": 15
                    },
                    "minutesAfter": {
                        "title": "Blackout minutes after",
                        "minimum": 0,
                        "maximum": 1440,
                        "type": "integer",
                        "description": "End the risk window this many minutes after the scheduled release.",
                        "default": 15
                    },
                    "maxEvents": {
                        "title": "Maximum paid events",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Hard output and charge cap. At $0.006 per risk event, the default cap limits Actor event charges to $0.30.",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
