Skip to main content
Conduit dates the macro world. The economic calendar gives you scheduled and released macro events with the values consumers expect on a calendar (actual, forecast, consensus, previous, and revised). The unified events feed merges that calendar with every other official event Conduit tracks (central-bank actions and issuer filings) into one normalized shape with a single schema.

Economic calendar

GET /v1/economic-calendar is the scheduled macro-release calendar: CPI prints, payrolls, central-bank meetings, each with actual, forecast, consensus, previous, and revised values.

Unified official events

GET /v1/events is one stream across macro releases, central-bank actions, and issuer filings, with a single normalized event shape.
Use the calendar when you want classic macro-release rows with surprise inputs and release-time semantics. Use the unified events feed when you want a single stream across event classes (macro releases plus central-bank actions and issuer filings) under one schema.

What data is available

The calendar covers the same canonical macro indicators Conduit normalizes (CPI, core CPI, PCE, PPI, unemployment, nonfarm payrolls, jobless claims, real GDP growth, policy rates, money-market and government-bond yields, housing starts, building permits, trade balance, exports, imports, personal income, retail sales) across the covered countries, sourced from the institutions of record (FRED, BLS, ECB, OECD, BIS, Eurostat, Bank of England, Bank of Japan, and more). Read the live indicator list from GET /v1/canonical-indicators and the country and category breadth from GET /v1/public/coverage. The unified events feed spans three event families:

Macro releases

Scheduled and released macro prints, the same rows the economic calendar carries, surfaced as macro_release events.

Central-bank actions

Policy decisions and meetings from the central banks Conduit tracks, surfaced as central_bank events.

Issuer filings

SEC EDGAR filings from the company universe, surfaced as issuer_filing events. The structured statements behind them live in the financial statements endpoint.
Coverage grows over time. Read live breadth from GET /v1/public/coverage and the live indicator slugs from GET /v1/canonical-indicators rather than hard-coding which events exist.
Both feeds are rights-aware. Every event carries an exposure class, and only redistribution-safe events appear where the public surface applies. Licensed vendor data never appears on the public surface.

Authentication

Send your key as x-api-key (or Authorization: Bearer). Both endpoints require the data:read scope. See Authentication.

The economic calendar

GET /v1/economic-calendar returns scheduled and released macro events. Each row carries the release time, the period it covers, and the value series: actual, forecast, consensus, previous, and (where applicable) revised.

Filters

The calendar accepts the standard list filters plus the observation filters relevant to events. Unknown query parameters are rejected with bad_request.
country
string
ISO 3 country code, for example USA, GBR, or EUR (euro area).
indicator
string
Canonical indicator slug or id, for example cpi_inflation_yoy.
importance
string
low, medium, or high.
status
string
scheduled, released, revised, canceled, or tentative.
event_type
string
One of economic_release, central_bank, auction, earnings, holiday, or other.
period
string
The period a value describes: YYYY, YYYY-MM, or YYYY-Qn.
start_date
string
Knowledge-time lower bound (ISO timestamp), matched against the release time.
end_date
string
Knowledge-time upper bound (ISO timestamp), matched against the release time.
limit
integer
default:"100"
Page size, 1 to 500.
cursor
string
Opaque pagination cursor from meta.pagination.next_cursor.
sort
string
Endpoint-supported sort field.
order
string
default:"asc"
Sort direction: asc or desc.

Example: high-importance US releases

curl "https://data.quantoraresearch.com/v1/economic-calendar?country=USA&importance=high&limit=5&order=desc" \
  -H "x-api-key: $CONDUIT_API_KEY"
Response
{
  "data": [
    {
      "id": "ecal_us_cpi_2026_05",
      "providerEventId": "...",
      "sourceId": "bls",
      "providerId": "bls",
      "entityId": "country_usa",
      "countryIso3": "USA",
      "indicatorId": "cpi_inflation_yoy",
      "eventName": "CPI (YoY)",
      "eventType": "economic_release",
      "importance": "high",
      "status": "released",
      "releaseTime": "2026-06-11T12:30:00Z",
      "releaseTimeZone": "America/New_York",
      "period": "2026-05",
      "periodStart": "2026-05-01",
      "periodEnd": "2026-05-31",
      "actualValue": 3.1,
      "forecastValue": 3.2,
      "consensusValue": 3.2,
      "previousValue": 3.3,
      "revisedValue": null,
      "unit": "percent",
      "currency": null,
      "sourceUrl": "https://www.bls.gov/...",
      "attribution": "U.S. Bureau of Labor Statistics",
      "observationId": "obs_...",
      "exposure": "public"
    }
  ],
  "meta": {
    "api_version": "v1",
    "pagination": { "limit": 5, "cursor": null, "next_cursor": null, "has_more": false }
  },
  "requestId": "..."
}
Example figures above are illustrative. Pull live values from the endpoint.

Calendar event fields

id
string
Calendar event id. Use it with GET /v1/economic-calendar/{id}.
sourceId
string
Source connector that supplied the event.
providerId
string
Upstream provider id.
entityId
string
Subject entity (for example country_usa). May be null for non-country events.
countryIso3
string
ISO 3 country code. Null for non-country events.
indicatorId
string
Canonical indicator the event releases. May be null.
eventName
string
Human-readable event name.
eventType
string
One of economic_release, central_bank, auction, earnings, holiday, or other.
importance
string
low, medium, high, or unknown.
status
string
scheduled, released, revised, canceled, or tentative.
releaseTime
string
Scheduled or actual release timestamp (ISO).
releaseTimeZone
string
IANA timezone of the release.
period
string
The period the value describes, for example 2026-05.
periodStart
string
Start date of the described period (ISO date).
periodEnd
string
End date of the described period (ISO date).
actualValue
number
Released value. Null until released.
forecastValue
number
Conduit or provider forecast where available.
consensusValue
number
Street consensus where available.
previousValue
number
Prior period value as known at this release (first-release basis).
revisedValue
number
Revised value when the event carries a revision; otherwise null.
unit
string
Native unit of the value, for example percent or index.
currency
string
Currency for monetary values. May be null.
sourceUrl
string
Link to the official source release.
attribution
string
Required source attribution string.
observationId
string
Linked observation the event released, if any. Follow it for provenance.
exposure
string
Rights class: public, internal_only, restricted, or blocked.

Get a single calendar event

GET /v1/economic-calendar/{id} returns one calendar event by its id.
curl "https://data.quantoraresearch.com/v1/economic-calendar/ecal_us_cpi_2026_05" \
  -H "x-api-key: $CONDUIT_API_KEY"

First-release vs revised

Macro series are revised after their first print. Conduit keeps both, and the calendar exposes the distinction so you can model surprises honestly.

previousValue is first-release basis

previousValue carries the prior period value as it was known at this release, not the latest revised figure. That is what a forecast was measured against at the time, so it is the correct base for surprise and momentum calculations.
When an event reports a revision, revisedValue is populated and status is revised. The original actualValue is preserved. Revisions are retained, never overwritten in place.
To see the value set as known on a given date, use the knowledge-time filters (start_date and end_date) and as_of on the observations API. Honest caveat: as_of currently approximates the ingestion timestamp, not full provider-vintage reconstruction. Full vintage reconstruction is future work.

Unified official events

GET /v1/events merges the economic calendar with every other official event into one normalized response shape. It covers macro releases, central-bank actions, and issuer filings (for example SEC filings) under one schema. Use it when you want a single stream and one set of fields across event classes.

Filters

country
string
ISO 3 country code.
event_class
string
High-level class: macro_release, central_bank, issuer_filing, issuer_disclosure, regulator_notice, corporate_action, or other.
event_type
string
Finer event type within a class, for example economic_release, annual_report_filed, or earnings_release_filed.
status
string
scheduled, released, filed, effective, canceled, tentative, historical, or unknown.
exposure
string
Rights class filter: public, internal_only, restricted, or blocked.
start_date
string
Time lower bound, matched against the event time (ISO).
end_date
string
Time upper bound, matched against the event time (ISO).
limit
integer
default:"100"
Page size, 1 to 500.
cursor
string
Opaque pagination cursor.
sort
string
One of observed_at (default), released_at, effective_at, event_label, event_class, event_type, or status.
order
string
default:"desc"
asc or desc. The unified feed defaults to desc.

Example: released US macro events

curl "https://data.quantoraresearch.com/v1/events?event_class=macro_release&country=USA&status=released&limit=5" \
  -H "x-api-key: $CONDUIT_API_KEY"
Response
{
  "data": [
    {
      "id": "obs_or_ecal_id",
      "canonicalEventId": "...",
      "eventClass": "macro_release",
      "eventType": "economic_release",
      "eventLabel": "CPI (YoY)",
      "eventStatus": "released",
      "entityId": "country_usa",
      "countryIso3": "USA",
      "indicatorId": "cpi_inflation_yoy",
      "observedAt": "2026-06-11T12:30:00Z",
      "releasedAt": "2026-06-11T12:30:00Z",
      "effectiveAt": null,
      "periodStart": "2026-05-01",
      "periodEnd": "2026-05-31",
      "title": "CPI (YoY)",
      "summary": null,
      "tags": ["economic_release", "USA", "cpi_inflation_yoy"],
      "sourceId": "bls",
      "providerId": "bls",
      "sourceUrl": "https://www.bls.gov/...",
      "attribution": "U.S. Bureau of Labor Statistics",
      "exposure": "public",
      "linkedObservationId": "obs_...",
      "metadata": {
        "importance": "high",
        "actualValue": 3.1,
        "forecastValue": 3.2,
        "consensusValue": 3.2,
        "previousValue": 3.3,
        "revisedValue": null,
        "unit": "percent",
        "currency": null
      }
    }
  ],
  "meta": {
    "api_version": "v1",
    "pagination": { "limit": 5, "cursor": null, "next_cursor": null, "has_more": false }
  },
  "requestId": "..."
}

Unified event fields

id
string
Event id. Use it with GET /v1/events/{id}.
canonicalEventId
string
Stable canonical event id, shared across vintages of the same event.
eventClass
string
High-level class (see the filter list above).
eventType
string
Finer event type within the class.
eventLabel
string
Short label for the event.
eventStatus
string
Lifecycle status (see the status filter list).
entityId
string
Subject entity (country or issuer). May be null.
countryIso3
string
ISO 3 country code. May be null.
indicatorId
string
Linked indicator. May be null.
observedAt
string
When the event became known. The default sort field.
releasedAt
string
Release timestamp. May be null.
effectiveAt
string
Effective timestamp for effective-dated events. May be null.
periodStart
string
Start date of the described period. May be null.
periodEnd
string
End date of the described period. May be null.
title
string
Event title.
summary
string
Optional summary text. May be null.
tags
array
Free-form tags (event type, country, indicator).
sourceId
string
Source connector that supplied the event.
providerId
string
Upstream provider id.
sourceUrl
string
Link to the official source release.
attribution
string
Required source attribution string.
exposure
string
Rights class.
linkedObservationId
string
Observation linked to the event, if any.
metadata
object
Class-specific extras. For macro releases this carries importance, actualValue, forecastValue, consensusValue, previousValue, revisedValue, unit, and currency.

Get a single event

GET /v1/events/{id} returns one unified event by its id.
curl "https://data.quantoraresearch.com/v1/events/obs_or_ecal_id" \
  -H "x-api-key: $CONDUIT_API_KEY"

Calendar vs unified events: which to use

Use the economic calendar

You want macro-release rows with surprise inputs (actual, forecast, consensus, previous, revised) and release-time semantics. Filter by country, indicator, importance, status, event_type, and period.

Use unified events

You want one stream across event classes (macro releases plus central-bank actions and issuer filings) under a single schema. Filter by event_class, event_type, status, exposure, and time.

Macro observations

Follow observationId (or linkedObservationId) to the point-in-time value the event released, with full filters and provenance.

Financial statements

Issuer filings surface as issuer_filing events here; the structured statements behind them live in the financials endpoint.

Derived analytics

Surprise indices and other analytics are computed from calendar inputs and stored as derived observations.

Coverage

See live indicator and country breadth via GET /v1/canonical-indicators and GET /v1/public/coverage.