> For the complete documentation index, see [llms.txt](https://docs.kaiko.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kaiko.com/kaiko-indices/reference-rates-capital-market/reference-data-market-calendar-and-trading-sessions.md).

# Reference data - market calendar and trading sessions

## What is this endpoint for? <a href="#what-is-this-endpoint-for" id="what-is-this-endpoint-for"></a>

This endpoint offers supplementary market calendar and trading session reference data for user subscribing to Reference Rates from the following asset classes:&#x20;

* Equity *<mark style="color:$info;">(unless "instrument type" is "futures")</mark>*
* Fixed income
* Foreign exchange
* Commodities
* Real estate
* Digital assets

Data is sourced from [TradingHours.com](https://tradinghours.com) and maintained by Kaiko, with updates when new exchanges are onboarded.

## Endpoints

{% tabs %}
{% tab title="gRPC" %}

```url
gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/MarketCalendarV2
```

{% endtab %}
{% endtabs %}

## Request fields

<table><thead><tr><th width="149.046875">Parameter</th><th width="118.6171875">Required</th><th width="300.79296875">Description</th><th>Example</th></tr></thead><tbody><tr><td><code>start_date</code></td><td>Yes</td><td>Start date (yyyy-mm-dd) Cannot be earlier than 1 month before today.</td><td><code>2026-03-31</code></td></tr><tr><td><code>end_date</code></td><td>Yes</td><td>End date (yyyy-mm-dd) Cannot be later than 1 month before today.</td><td><code>2026-04-01</code></td></tr><tr><td><code>asset_class</code></td><td>Yes (one of)</td><td>Asset class of the market to filter and aggregate results by.</td><td><code>equities</code>, <code>future</code></td></tr><tr><td><code>asset_calendar</code></td><td>Yes (one of)</td><td>Asset calendar of the market to filter and aggregate results by. Relevant input for each rate is available in <a href="/pages/xNoipLv59pzNqJ8UbbHw#response-fields">reference data</a>.</td><td><code>gold</code>, <code>oil</code></td></tr><tr><td><code>region</code></td><td>No</td><td>IANA timezone string to filter and aggregate results by the timezone.</td><td><code>America/New_York</code>, <code>Asia/Hong_Kong</code>, <code>Asia/Seoul</code></td></tr><tr><td><code>exch</code></td><td>No</td><td>List of exchange MIC codes</td><td><p><code>["XNYS", "BOAT"]</code></p><p>Supported exchanges: <code>"XNYS"</code>, <code>"XNAS"</code>, <code>"BOAT"</code> , <code>"XKRX"</code>, <code>"XHKG"</code></p></td></tr><tr><td><code>status</code></td><td>No</td><td>List of trading statuses</td><td><code>["OPEN_REGULAR", "OPEN_IRREGULAR"]</code></td></tr><tr><td><code>is_holiday</code></td><td>No</td><td>When set to <code>true</code>, returns only dates designated as holidays. When set to <code>false</code>, returns only non-holiday dates.</td><td><code>true</code></td></tr></tbody></table>

## Response fields

<table data-header-hidden><thead><tr><th width="262.33203125">Field</th><th>Description</th></tr></thead><tbody><tr><td><code>timezone</code></td><td>IANA timezone of the exchange.</td></tr><tr><td><code>asset_class</code></td><td>Asset class of the returned data.</td></tr><tr><td><code>data</code></td><td>List of daily market calendar entries.</td></tr><tr><td>   <mark style="color:$tint;"><code>.date</code></mark></td><td>Date of the entry (<code>yyyy-mm-dd</code>).</td></tr><tr><td>   <mark style="color:$tint;"><code>.marketMics</code></mark></td><td>List of exchange MIC codes included in the returned data.</td></tr><tr><td>   <mark style="color:$tint;"><code>.status</code></mark></td><td><p>Trading status for the date. </p><ul><li><code>OPEN_REGULAR</code> : If it is regular trading day </li><li><code>OPEN_IRREGULAR</code> : If there is any time changes</li><li><code>CLOSED</code> : If it is closed</li></ul></td></tr><tr><td>   <mark style="color:$tint;"><code>.isHoliday</code></mark></td><td><code>true</code> if the date is a weekend or public holiday.</td></tr><tr><td>   <mark style="color:$tint;"><code>.isTradingDay</code></mark></td><td><code>true</code> if the status is <code>OPEN_REGULAR</code> or <code>OPEN_IRREGULAR</code>.</td></tr><tr><td>   <mark style="color:$tint;"><code>.isRegularTradingDay</code></mark></td><td><code>true</code> if the session schedule includes a Primary Trading Session.</td></tr><tr><td>   <mark style="color:$tint;"><code>.reason</code></mark></td><td>Description of the holiday or irregular closure. Empty on regular trading days.</td></tr><tr><td>   <mark style="color:$tint;"><code>.previousRegularTradingDay</code></mark></td><td>Most recent regular trading day within the query range.</td></tr><tr><td>   <mark style="color:$tint;"><code>.nextRegularTradingDay</code></mark></td><td>Next regular trading day within the query range.</td></tr><tr><td>   <mark style="color:$tint;"><code>.sessionSchedule</code></mark></td><td>List of trading sessions for the date. Empty if the market is closed.</td></tr><tr><td>         <code>.exchanges</code></td><td>MIC code of the exchange for this session.</td></tr><tr><td>        <code>.phase_type</code></td><td>Type of trading session (e.g. <code>Primary Trading Session</code>, <code>Overnight Trading Session</code>).</td></tr><tr><td>        <code>.description</code></td><td>Detailed description of the session phase.</td></tr><tr><td>        <code>.start</code></td><td>Session start time in local time</td></tr><tr><td>        <code>.end</code></td><td>Session end time in local time</td></tr><tr><td>        <code>.is_trading</code></td><td><code>true</code> if trading activity occurs during this session.</td></tr></tbody></table>

## Request examples

{% tabs %}
{% tab title="cURL" %}
**cURL requests are intended for testing purposes only.**

{% code overflow="wrap" %}

```url
grpcurl \
  -H "Authorization: Bearer $EQUITY_KAIKO_KEY"\
  -d '{
    "start_date": "2026-05-19",
    "end_date": "2026-05-20",
    "asset_calendar": "equities",
    "region": "America/New_York"
  }' \
  gateway.equ.kaiko.io:443 kaiko.equities.EquitiesService/MarketCalendarV2

```

{% endcode %}
{% endtab %}
{% endtabs %}

## Response Example

```json
{
  "marketCalendars": [
    {
      "timezone": "America/New_York",
      "data": [
        {
          "date": "2026-05-19",
          "marketMics": [
            "BOAT",
            "XNAS",
            "XNYS"
          ],
          "status": "OPEN_REGULAR",
          "isTradingDay": true,
          "isRegularTradingDay": true,
          "nextRegularTradingDay": "2026-05-20T00:00:00-04:00",
          "sessionSchedule": [
            {
              "exchanges": [
                "XNAS",
                "XNYS"
              ],
              "phaseType": "Pre-Trading Session",
              "description": "Opening Session",
              "start": "2026-05-19T04:00:00-04:00",
              "end": "2026-05-19T09:30:00-04:00",
              "isTrading": true
            },
            {
              "exchanges": [
                "XNAS",
                "XNYS"
              ],
              "phaseType": "Primary Trading Session",
              "description": "Core Trading Session",
              "start": "2026-05-19T09:30:00-04:00",
              "end": "2026-05-19T16:00:00-04:00",
              "isTrading": true
            },
            {
              "exchanges": [
                "XNAS",
                "XNYS"
              ],
              "phaseType": "Post-Trading Session",
              "description": "Extended Trading Close",
              "start": "2026-05-19T16:00:00-04:00",
              "end": "2026-05-19T20:00:00-04:00",
              "isTrading": true
            },
            {
              "exchanges": [
                "BOAT"
              ],
              "phaseType": "Overnight Trading Session",
              "description": "Overnight Trading Session",
              "start": "2026-05-19T20:00:00-04:00",
              "end": "2026-05-20T04:00:00-04:00",
              "isTrading": true
            }
          ]
        },
        {
          "date": "2026-05-20",
          "marketMics": [
            "BOAT",
            "XNAS",
            "XNYS"
          ],
          "status": "OPEN_REGULAR",
          "isTradingDay": true,
          "isRegularTradingDay": true,
          "previousRegularTradingDay": "2026-05-19T00:00:00-04:00",
          "sessionSchedule": [
            {
              "exchanges": [
                "XNAS",
                "XNYS"
              ],
              "phaseType": "Pre-Trading Session",
              "description": "Opening Session",
              "start": "2026-05-20T04:00:00-04:00",
              "end": "2026-05-20T09:30:00-04:00",
              "isTrading": true
            },
            {
              "exchanges": [
                "XNAS",
                "XNYS"
              ],
              "phaseType": "Primary Trading Session",
              "description": "Core Trading Session",
              "start": "2026-05-20T09:30:00-04:00",
              "end": "2026-05-20T16:00:00-04:00",
              "isTrading": true
            },
            {
              "exchanges": [
                "XNAS",
                "XNYS"
              ],
              "phaseType": "Post-Trading Session",
              "description": "Extended Trading Close",
              "start": "2026-05-20T16:00:00-04:00",
              "end": "2026-05-20T20:00:00-04:00",
              "isTrading": true
            },
            {
              "exchanges": [
                "BOAT"
              ],
              "phaseType": "Overnight Trading Session",
              "description": "Overnight Trading Session",
              "start": "2026-05-20T20:00:00-04:00",
              "end": "2026-05-21T04:00:00-04:00",
              "isTrading": true
            }
          ]
        }
      ],
      "assetClass": "equities"
    }
  ]
}

```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kaiko.com/kaiko-indices/reference-rates-capital-market/reference-data-market-calendar-and-trading-sessions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
