Skip to content
Aggre Docs

Loading…

Console

API reference

Macro data

The economic calendar, official macro series and their observations, and derived series.

Official macroeconomic series and the release calendar. Read the macro guide first for versions (revisions), units and the attribution rule.

On this page:

Scheduled economic releases#

GET /v1/finance/macro/calendar_events

The schedule only: no estimates, no actual or previous values. impact is Aggre's own grading. Whoever shows an event shows its credit. next_cursor is always null. Dataset finance.macro.calendar_events.

Parameters

NameInRequiredTypeDescription
fromquerynointeger, int64Unix ms, inclusive (on ts).
toquerynointeger, int64Unix ms, exclusive (on ts). Must be later than from.
sourcequerynoBLS | BEA | CENSUS | FOMC | ECB | ONS | EUROSTAT
economyquerynostring, pattern ^[A-Z]{2}$Two uppercase letters; EU = euro area.
limitquerynointeger, 1–1000, default 100Rows per page.
orderquerynoasc | desc (default asc)Sort direction (default oldest first).

Example

bash
curl -s "https://api.aggre.org/v1/finance/macro/calendar_events?limit=3" \
  -H "Authorization: Bearer $AGGRE_API_KEY"

Response 200: the envelope { "data": [...], "meta": {...}, "next_cursor": ... } (see Response format); each row of data follows the schema calendar_events.

Errors: 400, 401, 403, 429, 503, in the shared envelope (Errors).

The macro series catalogue#

GET /v1/finance/macro/series

Ordered by series_id. Dataset finance.macro.series.

Parameters

NameInRequiredTypeDescription
sourcequerynostringLowercase letters, digits and underscores.
economyquerynostring, pattern ^[A-Z]{2}$Two uppercase letters; EU = euro area.
frequencyquerynodaily | weekly | monthly | quarterly | annual | irregular
cursorquerynostringThe previous page's next_cursor, unchanged. Opaque; a cursor from another route is 400.
limitquerynointeger, 1–1000, default 100Rows per page.

Example

bash
curl -s "https://api.aggre.org/v1/finance/macro/series?limit=3" \
  -H "Authorization: Bearer $AGGRE_API_KEY"

Response 200: the envelope { "data": [...], "meta": {...}, "next_cursor": ... } (see Response format); each row of data follows the schema macro_series.

Errors: 400, 401, 403, 429, 503, in the shared envelope (Errors).

Observations of one series#

GET /v1/finance/macro/observations

A revision is a new version, never an overwrite. value x unit_multiplier is in unit. Whoever shows a value shows its credit. meta.series is the series row. Dataset finance.macro.observations.

Parameters

NameInRequiredTypeDescription
series_idqueryyesstringe.g. fed.effr; list them at /v1/finance/macro/series. An unknown id is 404.
fromquerynostring, dateYYYY-MM-DD on period, inclusive.
toquerynostring, dateYYYY-MM-DD on period, exclusive.
as_ofquerynointeger, int64Unix ms: each period as Aggre knew it then (the highest version first seen at or before it).
versionsquerynolatest | all (default latest)latest = highest version per period; all = every revision.
orderquerynoasc | desc (default asc)Sort direction (default oldest first).
cursorquerynostringThe previous page's next_cursor, unchanged. Opaque; a cursor from another route is 400.
limitquerynointeger, 1–1000, default 100Rows per page.

Example

bash
curl -s "https://api.aggre.org/v1/finance/macro/observations?series_id=fed&limit=3" \
  -H "Authorization: Bearer $AGGRE_API_KEY"

Response 200: the envelope { "data": [...], "meta": {...}, "next_cursor": ... } (see Response format); each row of data follows the schema macro_observation.

Errors: 400, 401, 403, 404, 429, 503, in the shared envelope (Errors).

The computed macro series catalogue#

GET /v1/finance/macro_derived/series

Series Aggre computes on read; nothing is stored: the year-over-year change of 30 stored series (twtrade, twdgbas), ten sums and ratios over the rows of the FSC Banking Bureau's issuer and bank files, five sums, counts and medians over the exchange's monthly revenue file (twfsc.*), fourteen monthly series of counted deals and median price per ping from the Ministry of the Interior's actual-price registry (twrealprice.*), the Treasury's monthly interest expense on public issues (fiscal.interest_expense_public, the sum of the 29 stored fiscal.ie_* lines; rows_used counts the lines present) and, for every CFTC contract whose long, short and open-interest series are stored, the net position (long - short, cftc.<key>_net) and its share of open interest in percent (cftc.<key>). Listed only while what it is computed from exists, and, for rows of an entity dataset, only once somebody has read the publisher's terms. Same filters as the stored catalogue; inputs and formula say what each is computed from. Ordered by series_id. Dataset finance.macro_derived.series.

Parameters

NameInRequiredTypeDescription
sourcequerynostringLowercase letters, digits and underscores.
economyquerynostring, pattern ^[A-Z]{2}$Two uppercase letters; EU = euro area.
frequencyquerynodaily | weekly | monthly | quarterly | annual | irregular
cursorquerynostringThe previous page's next_cursor, unchanged. Opaque; a cursor from another route is 400.
limitquerynointeger, 1–1000, default 100Rows per page.

Example

bash
curl -s "https://api.aggre.org/v1/finance/macro_derived/series?limit=3" \
  -H "Authorization: Bearer $AGGRE_API_KEY"

Response 200: the envelope { "data": [...], "meta": {...}, "next_cursor": ... } (see Response format); each row of data follows the schema macro_derived_series.

Errors: 400, 401, 403, 429, 503, in the shared envelope (Errors).

Computed values of one series#

GET /v1/finance/macro_derived/observations

value x unit_multiplier is in unit. A year-over-year value (percent) is the input's change against the same period one year earlier (compared_with), from the newest stored version of both; a value over rows carries rows_used, how many issuers, banks, companies or deals it is computed from; a twrealprice value carries provisional, true for the latest three months published. A revised input revises the value on the next read. A period with nothing to compute from has no row. Whoever shows a value shows its credit. meta.series is the computed series row; meta.status follows what it is computed from. 404 not_found for an id that is not computed from anything read yet; 503 terms_unread for one over an entity dataset whose publisher terms nobody has read. Dataset finance.macro_derived.observations.

Parameters

NameInRequiredTypeDescription
series_idqueryyesstringe.g. twtrade.exports_yoy; list them at /v1/finance/macro_derived/series. An unknown id is 404.
fromquerynostring, dateYYYY-MM-DD on period, inclusive.
toquerynostring, dateYYYY-MM-DD on period, exclusive.
orderquerynoasc | desc (default asc)Sort direction (default oldest first).
cursorquerynostringThe previous page's next_cursor, unchanged. Opaque; a cursor from another route is 400.
limitquerynointeger, 1–1000, default 100Rows per page.

Example

bash
curl -s "https://api.aggre.org/v1/finance/macro_derived/observations?series_id=twtrade&limit=3" \
  -H "Authorization: Bearer $AGGRE_API_KEY"

Response 200: the envelope { "data": [...], "meta": {...}, "next_cursor": ... } (see Response format); each row of data follows the schema macro_derived_observation.

Errors: 400, 401, 403, 404, 429, 503, in the shared envelope (Errors).

Generated from contracts/data.openapi.yaml when the site is built, so it matches the API contract.