---
title: "Get Market Hours Calendar."
method: GET
path: "/v1/calendars/market-hours"
tags: ["Calendar"]
---

# Get Market Hours Calendar.

`GET /v1/calendars/market-hours`

Retrieves comprehensive trading hours including pre-market, regular, and after-hours sessions.
Returns market status, session times, and next session schedules.

## Query parameters

- `date` string
- `market` 'us_equities' | 'us_options' — Market type for market hours calendar endpoint

## Response `200`

Market hours calendar

- object
  - `error` ApiError — A direct mapping of tonic::Status, for use in HTTP responses.
    - `code` integer, required — The error code is used to identify the nature of the error. It corresponds to an HTTP status code.
    - `details` object[]
    - `message` string, required — A human-readable message providing more details about the error.
  - `metadata` ResponseMetadata, required — Metadata for the response. This will always contain a request ID which can be used to identify the request to Clear Street for tracing, and optionally may include pagination data.
    - `next_page_token` string, byte, nullable — Base64URL-encoded pagination token
    - `page_number` integer, nullable — Pagination. Included if this was a GET (list) response
    - `previous_page_token` string, byte, nullable — Base64URL-encoded pagination token
    - `request_id` string, required — A unique ID for this request, generated upon ingestion of the request.
    - `total_items` integer, nullable — Total number of items available (not just in this page).
    - `total_pages` integer, nullable — Total number of pages available.
  - `data` MarketHoursDetail[], required
    - `current_time` string, date-time, required — Current time in market timezone with offset
    - `date` string, date, required — The date for which market hours are provided
    - `market` 'us_equities' | 'us_options', required — Market type for market hours calendar endpoint
    - `market_name` string, required — Human-readable market name
    - `next_sessions` TradingSessions, required — Trading sessions for a market day with full timestamps
      - `after_hours` SessionSchedule — Session schedule with open and close timestamps
        - `close` string, date-time, required — Session close timestamp with timezone offset
        - `open` string, date-time, required — Session open timestamp with timezone offset
        - `time_until_close` string, duration, nullable — ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.
        - `time_until_open` string, duration, nullable — ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.
      - `pre_market` SessionSchedule — Session schedule with open and close timestamps
        - `close` string, date-time, required — Session close timestamp with timezone offset
        - `open` string, date-time, required — Session open timestamp with timezone offset
        - `time_until_close` string, duration, nullable — ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.
        - `time_until_open` string, duration, nullable — ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.
      - `regular` SessionSchedule — Session schedule with open and close timestamps
        - `close` string, date-time, required — Session close timestamp with timezone offset
        - `open` string, date-time, required — Session open timestamp with timezone offset
        - `time_until_close` string, duration, nullable — ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.
        - `time_until_open` string, duration, nullable — ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.
    - `status` MarketStatus, required — Market status information
      - `current_session` 'pre_market' | 'regular' | 'after_hours' — Session type for market hours
      - `day_type` 'TRADING_DAY' | 'EARLY_CLOSE' | 'HOLIDAY' | 'WEEKEND', required — Day type for market hours - indicates the type of trading day
      - `is_open` boolean, required — Whether the market is currently open (real-time)
    - `timezone` string, required — IANA timezone identifier for the market
    - `today_sessions` TradingSessions, required — Trading sessions for a market day with full timestamps
      - `after_hours` SessionSchedule — Session schedule with open and close timestamps
        - `close` string, date-time, required — Session close timestamp with timezone offset
        - `open` string, date-time, required — Session open timestamp with timezone offset
        - `time_until_close` string, duration, nullable — ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.
        - `time_until_open` string, duration, nullable — ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.
      - `pre_market` SessionSchedule — Session schedule with open and close timestamps
        - `close` string, date-time, required — Session close timestamp with timezone offset
        - `open` string, date-time, required — Session open timestamp with timezone offset
        - `time_until_close` string, duration, nullable — ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.
        - `time_until_open` string, duration, nullable — ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.
      - `regular` SessionSchedule — Session schedule with open and close timestamps
        - `close` string, date-time, required — Session close timestamp with timezone offset
        - `open` string, date-time, required — Session open timestamp with timezone offset
        - `time_until_close` string, duration, nullable — ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.
        - `time_until_open` string, duration, nullable — ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

---

[API](https://skmtc.net/clear-street/apis/clear-street-trading-api.md) · [All operations](https://skmtc.net/clear-street/apis/clear-street-trading-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clear-street/clear-street-trading-api/revisions/80e6fb2644e0/schema)
