## Get Economic Calendar Events

`client.V1.Calendar.GetEconomicEventsCalendar(ctx, query) (*V1CalendarGetEconomicEventsCalendarResponse, error)`

**get** `/v1/calendars/economic-events`

Retrieves macroeconomic calendar events (e.g. CPI, jobs reports, central
bank rate decisions), optionally filtered by country, impact, and event
time range.

Absent a `timestamp` lower bound, results default to events from the
start of the previous trading day (America/New_York); absent an upper
bound, results default through 7 days from today (America/New_York).

### Parameters

- `query V1CalendarGetEconomicEventsCalendarParams`

  - `Country param.Field[string]`

    Comma-separated ISO 3166-1 alpha-2 country codes (or `EU`) to filter by. Defaults to `US` when omitted.

  - `Impact param.Field[[]string]`

    Comma-separated impact levels to filter by.

    - `const V1CalendarGetEconomicEventsCalendarParamsImpactNone V1CalendarGetEconomicEventsCalendarParamsImpact = "NONE"`

    - `const V1CalendarGetEconomicEventsCalendarParamsImpactLow V1CalendarGetEconomicEventsCalendarParamsImpact = "LOW"`

    - `const V1CalendarGetEconomicEventsCalendarParamsImpactMedium V1CalendarGetEconomicEventsCalendarParamsImpact = "MEDIUM"`

    - `const V1CalendarGetEconomicEventsCalendarParamsImpactHigh V1CalendarGetEconomicEventsCalendarParamsImpact = "HIGH"`

  - `PageSize param.Field[int64]`

    The number of items to return per page. Only used when page_token is not provided.

  - `PageToken param.Field[string]`

    Token for retrieving the next or previous page of results. Contains encoded pagination state; when provided, page_size is ignored.

  - `Timestamp param.Field[V1CalendarGetEconomicEventsCalendarParamsTimestamp]`

    - `Gt string`

      Return only rows where `timestamp` is strictly after the given value. A bare `YYYY-MM-DD` date expands to the end of that day (UTC), so this matches from the start of the following day. See [Range filters](https://docs.clearstreet.com/guides/api-fundamentals#range-filters) for accepted formats, bare-date expansion, and combining bounds. Returns 400 if the resulting range is inverted.

    - `Gte string`

      Return only rows where `timestamp` is on or after the given value. A bare `YYYY-MM-DD` date expands to the start of that day (UTC). See [Range filters](https://docs.clearstreet.com/guides/api-fundamentals#range-filters) for accepted formats, bare-date expansion, and combining bounds. Returns 400 if the resulting range is inverted.

    - `Lt string`

      Return only rows where `timestamp` is strictly before the given value. A bare `YYYY-MM-DD` date expands to the start of that day (UTC). See [Range filters](https://docs.clearstreet.com/guides/api-fundamentals#range-filters) for accepted formats, bare-date expansion, and combining bounds. Returns 400 if the resulting range is inverted.

    - `Lte string`

      Return only rows where `timestamp` is on or before the given value. A bare `YYYY-MM-DD` date expands to the end of that day (UTC), so this matches through the end of that day. See [Range filters](https://docs.clearstreet.com/guides/api-fundamentals#range-filters) for accepted formats, bare-date expansion, and combining bounds. Returns 400 if the resulting range is inverted.

### Returns

- `type V1CalendarGetEconomicEventsCalendarResponse struct{…}`

  - `Data EconomicEventList`

    - `Country string`

      ISO 3166-1 alpha-2 country code, or `EU`.

    - `Name string`

      Event name as reported by the provider.

    - `Timestamp Time`

      UTC instant of the event.

    - `Actual string`

      Actual reported value. Null before the print, or if the provider never
      reports one for this event.
      When a null/undefined value is observed, it indicates that there is no available data.

    - `Change string`

      Change from the previous value.
      When a null/undefined value is observed, it indicates that there is no available data.

    - `ChangePercentage string`

      Change from the previous value, as a percentage.
      When a null/undefined value is observed, it indicates that there is no available data.

    - `Currency string`

      Currency associated with the event, if applicable.
      When a null/undefined value is observed, it indicates that there is no available data.

    - `Estimate string`

      Analyst-estimated value.
      When a null/undefined value is observed, it indicates that there is no available data.

    - `Impact EconomicEventImpact`

      Expected market impact, if known.
      When a null/undefined value is observed, it indicates that there is no available data.

      - `const EconomicEventImpactNone EconomicEventImpact = "NONE"`

      - `const EconomicEventImpactLow EconomicEventImpact = "LOW"`

      - `const EconomicEventImpactMedium EconomicEventImpact = "MEDIUM"`

      - `const EconomicEventImpactHigh EconomicEventImpact = "HIGH"`

    - `Previous string`

      Previous period's reported value.
      When a null/undefined value is observed, it indicates that there is no available data.

    - `Unit EconomicEventUnit`

      Unit of the numeric value fields, if known.
      When a null/undefined value is observed, it indicates that there is no available data.

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/clear-street/clear-street-go"
  "github.com/clear-street/clear-street-go/option"
)

func main() {
  client := clearstreet.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.V1.Calendar.GetEconomicEventsCalendar(context.TODO(), clearstreet.V1CalendarGetEconomicEventsCalendarParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response)
}
```

#### Response

```json
{
  "data": [
    {
      "actual": null,
      "change": null,
      "change_percentage": null,
      "country": "US",
      "currency": "USD",
      "estimate": "0.30",
      "impact": "HIGH",
      "name": "CPI m/m",
      "previous": "0.20",
      "timestamp": "2025-11-05T13:30:00.000000000Z",
      "unit": "%"
    }
  ],
  "error": null,
  "metadata": {
    "request_id": "0f1a2b3c-4d5e-6f78-9012-3a4b5c6d7e8f"
  }
}
```
