<!-- Agent Datasets docs · macro_get_calendar · canonical: https://www.agentdatasets.com/docs/tools/macro_get_calendar · rendered from https://www.agentdatasets.com -->

# macro_get_calendar

List upcoming official macro data releases and policy meetings.

| Field | Value |
| --- | --- |
| Category | Macro (`macro`) |
| Exposure | public |
| MCP tool | `macro_get_calendar` |
| Documentation | https://www.agentdatasets.com/docs/tools/macro_get_calendar |

## Description

List upcoming official macro data releases and policy meetings.

Answers "what economic data comes out this week?" and lets you
time-contextualize analysis ("the GDP second estimate lands Wednesday —
hold the comparison until then"). Use this for *when* a number is
published; use `macro_get_series` for the number itself once it is out.

Schedules come from the agencies themselves: the BLS news-release
calendar, the BEA release schedule, the Census economic-indicator
calendar, the Federal Reserve FOMC and statistical-release calendars,
and the ECB statistical and Governing Council calendars.

The result is the shared envelope. `data.start` and `data.end` echo the
resolved window, `data.source` echoes the filter, and `data.events` is
the bounded page. `meta.source` is "macro_calendar" and `meta.as_of` is
the most recent time any event on the page was seen on its agency's
schedule. `pagination` holds the cursor paging state.

Each event carries `source` (the publishing agency), `release_name`,
`scheduled_at` (UTC, RFC 3339), `scheduled_end` (only for multi-day
events — FOMC and ECB Governing Council meetings run two days),
`period_label` (the reference period as the agency publishes it, e.g.
"July 2026" or "2nd Quarter 2026"; null where the agency does not state
one), `status` (`scheduled`, or `tentative` where the agency flags the
date as provisional), `url`, `as_of`, `attribution`, and `series_keys`.

`attribution` is the citation the publisher requires when that row is
reused: null for the U.S. agencies, whose schedules are public-domain
works, and the ECB's required source line on ECB rows. Reproduce it
alongside any ECB date you pass on.

Occurrences an agency has withdrawn are not served. A meeting that
moved across a month boundary and a feed entry that was re-keyed both
leave their original row in storage; only the occurrence its own
schedule still lists is returned. Withdrawal waits for a second
consecutive refresh that omits the occurrence, so a cancellation can
still be served for one cycle after it is announced — a short document
looks exactly like a cancellation, and briefly serving one release too
many is much the better error. A release the agency *renames* keeps its
past occurrences under the name they were published with, which is the
record of what was announced at the time; future occurrences move to
the new name.

`series_keys` is the link back to the data: when a release drives
catalog series, pass one of those keys to `macro_get_series` after the
release lands. It is empty for scheduled events with no ingested series
(FOMC meetings, most Census indicators).

Times are the agency's published wall-clock converted to UTC. Where an
agency publishes only a date — FOMC and ECB meetings — the timestamp is
midnight in the agency's local zone; the FOMC statement itself lands
around 2:00 p.m. ET on the final day.

Bounds: default `limit` 50, max 200; the default window is today
through 14 days ahead and the maximum span is 93 days. Ordering is
`scheduled_at` ascending, then event id — soonest first, because a
calendar is read forwards. To page, pass `pagination.next_cursor` back
as `cursor` while keeping `start`, `end` and `source` unchanged; when
`pagination.has_more` is false, `next_cursor` is null. A window with
nothing scheduled in it is a normal empty success, not an error.

U.S. agency schedules are public domain. ECB rows are reused under the
ECB's terms and carry the required "Source: European Central Bank"
attribution. Errors carry a machine `code`: `bad_parameter` for `end`
before `start`, a window over 93 days, an out-of-range limit, or a
malformed cursor.

Example: `macro_get_calendar(start="2026-09-01", end="2026-09-07")`.

## Parameters

Input schema advertised to MCP clients and mirrored by the REST query string.

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| start | input | `string (date) \| null` | no | null | — | First UTC day of the window, inclusive (YYYY-MM-DD). Omit to start from today. |
| end | input | `string (date) \| null` | no | null | — | Last UTC day of the window, inclusive (YYYY-MM-DD). Omit for `start` + 14 days; the window may span at most 93 days. |
| source | input | `"treasury" \| "bls" \| "bea" \| "ecb" \| "frb" \| "usaspending" \| "eurostat" \| "census" \| null` | no | null | — | Optional agency filter: `bls` news releases, `bea` news releases, `census` economic indicators, `frb` (FOMC meetings plus the H.15/H.4.1/H.8/G.17/G.19 statistical releases), or `ecb` (statistical calendar plus Governing Council monetary policy meetings). Omit for every agency. |
| limit | input | `integer` | no | 50 | min 1, max 200 | Scheduled occurrences to return, soonest first (1–200). |
| cursor | input | `string \| null` | no | null | — | Opaque pagination cursor from a previous response's `pagination.next_cursor`; keep `start`, `end` and `source` constant while paging. Omit to start from the soonest event. |

## Provenance

- `bea` — U.S. Bureau of Economic Analysis, NIPA table lines: GDP (growth/nominal/chained), personal consumption expenditures, personal income, PCE price indexes (U.S. Government work, public domain (us-gov-public-domain)). See https://www.agentdatasets.com/docs/attribution.md
- `bls` — U.S. Bureau of Labor Statistics, CPI (headline/core, seasonally adjusted/not adjusted), PPI final demand, unemployment, labor-force participation, nonfarm payrolls, average hourly earnings (U.S. Government work, public domain (us-gov-public-domain)). See https://www.agentdatasets.com/docs/attribution.md
- `census` — U.S. Census Bureau, ACS curated housing estimates and margins of error at nation, state, county, CBSA, and ZCTA levels; Building Permits Survey authorized units by structure class at county and CBSA levels; economic indicator release calendar (U.S. Government work, public domain (us-gov-public-domain); standard Census non-endorsement caveat applies). See https://www.agentdatasets.com/docs/attribution.md
- `ecb` — European Central Bank, Ten curated ECB key-interest-rate, €STR, and euro-area AAA central-government yield-curve spot-rate series (ECB information reuse terms (ecb-reuse)). See https://www.agentdatasets.com/docs/attribution.md
- `frb` — Board of Governors of the Federal Reserve System, Curated H.15 and PRATES policy/market rates plus FOMC federal-funds target-range levels (U.S. Government work, public domain (us-gov-public-domain)). See https://www.agentdatasets.com/docs/attribution.md
- `macro_calendar` — Curated internal calendar (BLS, BEA, Census, Federal Reserve Board, ECB), Economic release calendar assembled from the agencies' own published schedules: the BLS news-release calendar, the BEA release schedule, the Census economic-indicator calendar, the Federal Reserve FOMC and statistical-release calendars, and the ECB statistical and Governing Council calendars; each event's own `source` still carries its publishing agency (Aggregates U.S. Government public-domain schedules and ECB material reused under the ECB's terms (see the source-specific entries); the calendar identifier itself carries no separate license). See https://www.agentdatasets.com/docs/attribution.md

Dataset registry: `macro_calendar`.
