---
title: "Get economic calendar events"
method: GET
path: "/rest/api/v1/projects/{projectId}/economicCalendar"
tags: ["News API"]
---

# Get economic calendar events

`GET /rest/api/v1/projects/{projectId}/economicCalendar`

The calendar is global and identical for every project. Without from/to the current day plus seven days is returned.

## Path parameters

- `projectId` string, uuid, required

## Query parameters

- `from` string
- `to` string
- `currencies` string
- `countries` string
- `impact` string
- `search` string
- `page` integer
- `size` integer

## Response `200`

OK

- CalendarEventPageDTO — One page of economic calendar events
  - `items` CalendarEventDTO[] — Events of this page, ascending by release time
    - `actual` string — Released value as a display string
    - `actualRaw` number, double — Released value, numeric
    - `actualReleasedAt` string, date-time — When the actual value first became available
    - `allDay` boolean — True when the source gives a day but no exact time
    - `category` string — Source category
    - `commentEn` string — Explanation rewritten by us in English, at most 150 characters
    - `countryCode` string — ISO-3166 alpha-2, EU for the eurozone, null for global events
    - `currencyCode` string — ISO-4217 currency, ALL for global events
    - `dedupKey` string — Stable hash identifying the same event across sources
    - `disputed` boolean — True when sources disagree on the time by more than 30 minutes
    - `eventTimeUtc` string, date-time — Release time in UTC
    - `firstSeenAt` string, date-time — When this event was first ingested
    - `forecast` string — Consensus forecast as a display string
    - `forecastRaw` number, double — Consensus forecast, numeric
    - `id` string — MongoDB document id
    - `impact` 'HOLIDAY' | 'LOW' | 'MEDIUM' | 'HIGH' — Impact classification
    - `indicator` string — Normalised indicator name
    - `indicatorKey` string — Stable key for statistics: countryCode|normalisedIndicator
    - `lastUpdatedAt` string, date-time — When this event was last written
    - `period` string — Reference period
    - `previous` string — Previous value as a display string
    - `previousRaw` number, double — Previous value, numeric
    - `revision` integer — Incremented whenever the time or the forecast changes
    - `revisions` CalendarEventRevisionDTO[] — What changed and when, for the revised badge
      - `changedAt` string, date-time — When the change was observed
      - `field` string — Field that changed
      - `newValue` string — Value after the change
      - `oldValue` string — Value before the change
    - `scale` string — Scale of the values
    - `surpriseSigma` number, double — (actual - forecast) divided by the historic surprise standard deviation
    - `title` string — Event title as published
    - `titleEn` string — Title rewritten by us in English, at most 150 characters
    - `unit` string — Unit of the values
  - `lastSyncUtc` string, date-time — When the ingestion last wrote anything, null means it never ran
  - `nextEventTitle` string — Title of the event behind nextEventUtc
  - `nextEventUtc` string, date-time — First matching event after the requested range, so an empty page is never a dead end
  - `page` integer — Zero based page index
  - `size` integer — Page size
  - `total` integer — Total number of matching events

## Changes

- **2026-08-30** `69d2d39c695e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/metacopier/apis/metacopier-api/changes/rest/api/v1/projects/:projectId/economicCalendar/get.md)

---

[API](https://skmtc.dev/metacopier/apis/metacopier-api.md) · [All operations](https://skmtc.dev/metacopier/apis/metacopier-api/llms.txt) · [OpenAPI document](https://skmtc.dev/metacopier/apis/metacopier-api/revisions/71cbb8caf61e?raw)
