Alpaca Calendar API

The Calendar API from Alpaca — 2 operation(s) for calendar.

Operations 6

GET /v2/calendar/{market} Get Market Calendar #
GET /v2/clock Get Market Clock #
GET /v1/calendar Get US Market Calendar #
GET /v1/clock Get US Market Clock #
GET /v2/calendar Get US Market Calendar #
GET /v3/calendar/{market} Get Market Calendar #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/alpaca:alpaca-calendar-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

alpaca-calendar-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Alpaca Calendar API
  contact:
    email: support@alpaca.markets
    name: Alpaca Support
    url: https://alpaca.markets/support
  version: '1.0'
  description: 'Operations tagged Calendar across 3 of this provider''s published API definitions: alpaca-eu-broker-api-openapi.json, alpaca-us-broker-api-openapi.json, alpaca-us-trading-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- description: Sandbox endpoint
  url: https://broker-api.sandbox.eu.alpaca.markets
- description: Production endpoint
  url: https://broker-api.eu.alpaca.markets
- description: Sandbox endpoint
  url: https://broker-api.sandbox.alpaca.markets
- description: Production endpoint
  url: https://broker-api.alpaca.markets
- description: Paper
  url: https://paper-api.alpaca.markets
- description: Live
  url: https://api.alpaca.markets
tags:
- name: Calendar
paths:
  /v2/calendar/{market}:
    get:
      description: This endpoint returns the market calendar.
      operationId: Calendar
      parameters:
      - $ref: '#/components/parameters/market'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/timezone'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/public_calendar_resp'
          description: OK
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/ratelimit_limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/ratelimit_remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/ratelimit_reset'
        '400':
          $ref: '#/components/responses/400'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      summary: Get Market Calendar
      tags:
      - Calendar
      security:
      - BasicAuth: []
    servers:
    - description: Sandbox endpoint
      url: https://broker-api.sandbox.eu.alpaca.markets
    - description: Production endpoint
      url: https://broker-api.eu.alpaca.markets
  /v2/clock:
    get:
      description: 'This API serves information about multiple markets: the current time, if it''s a market day, the current phase of the market, etc.'
      operationId: Clock
      parameters:
      - $ref: '#/components/parameters/markets'
      - $ref: '#/components/parameters/time'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/clock_resp'
          description: OK
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/ratelimit_limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/ratelimit_remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/ratelimit_reset'
        '400':
          $ref: '#/components/responses/400'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      summary: Get Market Clock
      tags:
      - Calendar
      security:
      - BasicAuth: []
    servers:
    - description: Sandbox endpoint
      url: https://broker-api.sandbox.eu.alpaca.markets
    - description: Production endpoint
      url: https://broker-api.eu.alpaca.markets
  /v1/calendar:
    get:
      description: The calendar API serves the full list of market days from 1970 to 2029. It can also be queried by specifying a start and/or end time to narrow down the results. In addition to the dates, the response also contains the specific open and close times for the market days, taking into account early closures.
      operationId: LegacyCalendar
      parameters:
      - $ref: '#/components/parameters/legacy_start'
      - $ref: '#/components/parameters/legacy_end'
      - $ref: '#/components/parameters/legacy_date_type'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/legacy_public_calendar_resp'
          description: OK
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/ratelimit_limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/ratelimit_remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/ratelimit_reset'
        '400':
          $ref: '#/components/responses/400'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      summary: Get US Market Calendar
      tags:
      - Calendar
      security:
      - BasicAuth: []
    servers:
    - description: Sandbox endpoint
      url: https://broker-api.sandbox.alpaca.markets
    - description: Production endpoint
      url: https://broker-api.alpaca.markets
  /v1/clock:
    get:
      description: The clock API serves the current market timestamp, whether or not the market is currently open, as well as the times of the next market open and close.
      operationId: LegacyClock
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/legacy_clock'
          description: OK
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/ratelimit_limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/ratelimit_remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/ratelimit_reset'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      summary: Get US Market Clock
      tags:
      - Calendar
      security:
      - BasicAuth: []
    servers:
    - description: Sandbox endpoint
      url: https://broker-api.sandbox.alpaca.markets
    - description: Production endpoint
      url: https://broker-api.alpaca.markets
  /v2/calendar:
    get:
      description: The calendar API serves the full list of market days from 1970 to 2029. It can also be queried by specifying a start and/or end time to narrow down the results. In addition to the dates, the response also contains the specific open and close times for the market days, taking into account early closures.
      operationId: getV2Calendar
      parameters:
      - $ref: '#/components/parameters/legacy_start'
      - $ref: '#/components/parameters/legacy_end'
      - $ref: '#/components/parameters/legacy_date_type'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/legacy_public_calendar_resp'
          description: OK
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/ratelimit_limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/ratelimit_remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/ratelimit_reset'
        '400':
          $ref: '#/components/responses/400'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      summary: Get US Market Calendar
      tags:
      - Calendar
      security:
      - API_Key: []
        API_Secret: []
      x-operation-id-source: normalized
      x-operation-id-original: LegacyCalendar
    servers:
    - description: Paper
      url: https://paper-api.alpaca.markets
    - description: Live
      url: https://api.alpaca.markets
  /v3/calendar/{market}:
    get:
      description: This endpoint returns the market calendar.
      operationId: getV3CalendarByMarket
      parameters:
      - $ref: '#/components/parameters/market'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/timezone'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/public_calendar_resp'
          description: OK
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/ratelimit_limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/ratelimit_remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/ratelimit_reset'
        '400':
          $ref: '#/components/responses/400'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      summary: Get Market Calendar
      tags:
      - Calendar
      security:
      - API_Key: []
        API_Secret: []
      x-operation-id-source: normalized
      x-operation-id-original: Calendar
    servers:
    - description: Paper
      url: https://paper-api.alpaca.markets
    - description: Live
      url: https://api.alpaca.markets
components:
  schemas:
    market_acronym:
      description: The acronym of the market.
      example: NYSE
      type: string
    market:
      description: The market identifier (MIC, BIC, or acronym).
      enum:
      - BMO
      - BNYM
      - BOATS
      - CEUX
      - CHIX
      - HKEX
      - IEX
      - IEXG
      - ISE
      - LSE
      - MTA
      - MTAA
      - NASDAQ
      - NYSE
      - OCEA
      - OPRA
      - OTC
      - OTCM
      - SIFMA
      - TADAWUL
      - XAMS
      - XBRU
      - XDUB
      - XETR
      - XETRA
      - XHKG
      - XLIS
      - XLON
      - XNAS
      - XNYS
      - XPAR
      - XSAU
      type: string
    phase:
      enum:
      - closed
      - pre
      - core
      - lunch
      - post
      type: string
    clock:
      properties:
        is_market_day:
          description: Whether the clock is on a market day.
          type: boolean
        market:
          $ref: '#/components/schemas/public_market'
        next_market_close:
          description: Next market close timestamp
          format: date-time
          type: string
        next_market_open:
          description: Next market open timestamp
          format: date-time
          type: string
        phase:
          $ref: '#/components/schemas/phase'
        phase_until:
          description: The end of the current phase.
          format: date-time
          type: string
        timestamp:
          description: The time on the clock.
          format: date-time
          type: string
      required:
      - market
      - timestamp
      - is_market_day
      - next_market_open
      - next_market_close
      - phase
      - phase_until
      type: object
    calendar_day:
      description: A calendar day.
      properties:
        core_end:
          description: The end time of the core market session.
          example: '2025-01-02T16:00:00-05:00'
          format: date-time
          type: string
        core_start:
          description: The start time of the core market session.
          example: '2025-01-02T09:30:00-05:00'
          format: date-time
          type: string
        date:
          description: The date of the calendar day.
          example: '2025-01-02'
          format: date
          type: string
        lunch_end:
          description: The end time of the lunch session.
          format: date-time
          type: string
        lunch_start:
          description: The start time of the lunch session.
          format: date-time
          type: string
        post_end:
          description: The end time of the after-hours session.
          example: '2025-01-02T20:00:00-05:00'
          format: date-time
          type: string
        post_start:
          description: The start time of the after-hours session.
          example: '2025-01-02T16:00:00-05:00'
          format: date-time
          type: string
        pre_end:
          description: The end time of the pre-market session.
          example: '2025-01-02T09:30:00-05:00'
          format: date-time
          type: string
        pre_start:
          description: The start time of the pre-market session.
          example: '2025-01-02T04:00:00-05:00'
          format: date-time
          type: string
        settlement_date:
          description: The settlement date.
          example: '2025-01-03'
          format: date
          type: string
      required:
      - date
      - core_start
      - core_end
      type: object
    mic:
      description: Market identifier code (ISO 10383).
      example: XNYS
      maxLength: 4
      minLength: 4
      pattern: ^[A-Z0-9]{4}$
      type: string
    bic:
      description: Business Identifier Code (BIC/SWIFT).
      example: IRVTUS3NXXX
      maxLength: 11
      minLength: 11
      pattern: ^[A-Z0-9]{11}$
      type: string
    market_name:
      description: The full name of the market.
      example: New York Stock Exchange
      type: string
    clock_resp:
      description: Clock response.
      properties:
        clocks:
          items:
            $ref: '#/components/schemas/clock'
          type: array
      required:
      - clocks
      type: object
    market_timezone:
      description: The timezone of the market.
      example: America/New_York
      type: string
    public_calendar_resp:
      description: Calendar response.
      properties:
        calendar:
          description: The market calendar.
          items:
            $ref: '#/components/schemas/calendar_day'
          type: array
        market:
          $ref: '#/components/schemas/public_market'
      required:
      - market
      - calendar
      type: object
    public_market:
      description: A market.
      properties:
        acronym:
          $ref: '#/components/schemas/market_acronym'
        bic:
          $ref: '#/components/schemas/bic'
        mic:
          $ref: '#/components/schemas/mic'
        name:
          $ref: '#/components/schemas/market_name'
        timezone:
          $ref: '#/components/schemas/market_timezone'
      required:
      - acronym
      - name
      - timezone
      type: object
    legacy_calendar_day:
      description: A calendar day.
      properties:
        close:
          description: The time the market closes at on this date in HH:MM format.
          example: '16:00'
          type: string
        date:
          description: Date string in YYYY-MM-DD format.
          example: '2025-01-02'
          format: date
          type: string
        open:
          description: The time the market opens at on this date in HH:MM format.
          example: 09:30
          type: string
        session_close:
          description: The time the session closes at on this date in HHMM format.
          example: '2000'
          type: string
        session_open:
          description: The time the session opens at on this date in HHMM format.
          example: '0400'
          type: string
        settlement_date:
          description: Date string in YYYY-MM-DD format. Representing the settlement date for the trade date.
          example: '2025-01-03'
          format: date
          type: string
      required:
      - date
      - open
      - close
      - session_open
      - session_close
      - settlement_date
      type: object
    legacy_public_calendar_resp:
      items:
        $ref: '#/components/schemas/legacy_calendar_day'
      type: array
    legacy_clock:
      example:
        is_open: true
        next_close: '2025-06-24T16:00:00-04:00'
        next_open: '2025-06-25T09:30:00-04:00'
        timestamp: '2025-06-24T14:15:22-04:00'
      properties:
        is_open:
          description: Whether or not the market is open.
          type: boolean
        next_close:
          description: Next market close timestamp.
          format: date-time
          type: string
        next_open:
          description: Next market open timestamp.
          format: date-time
          type: string
        timestamp:
          description: Current timestamp.
          format: date-time
          type: string
      required:
      - timestamp
      - is_open
      - next_open
      - next_close
      title: Clock
      type: object
  headers:
    ratelimit_remaining:
      description: Request limit per minute remaining.
      example: 90
      schema:
        type: integer
    ratelimit_reset:
      description: The UNIX epoch when the remaining quota changes.
      example: 1674044551
      schema:
        type: integer
    ratelimit_limit:
      description: Request limit per minute.
      example: 100
      schema:
        type: integer
  parameters:
    time:
      description: Instead of the current time, use this time for the clock.
      in: query
      name: time
      required: false
      schema:
        format: date-time
        type: string
    end:
      description: 'The last date to retrieve data for (inclusive). Default: one week from the start date.

        '
      example: '2030-01-01'
      in: query
      name: end
      required: false
      schema:
        format: date
        type: string
    markets:
      description: 'Comma-separated list of markets. Available market codes by region:


        **United States**

        - `BMO`: Bank of Montreal. US banking calendar (US operations).

        - `BNYM`: The Bank of New York Mellon. US banking calendar.

        - `BOATS`: Blue Ocean Alternative Trading System. US overnight trading.

        - `IEX`: Investors Exchange. US equities.

        - `IEXG`: Investors Exchange. US equities.

        - `NASDAQ`: National Association of Securities Dealers Automated Quotations. US equities.

        - `NYSE`: New York Stock Exchange. US equities.

        - `OCEA`: BlueOcean ATS. US overnight trading.

        - `OPRA`: Options Price Reporting Authority. US options.

        - `OTC`: Over-The-Counter. US OTC equities.

        - `OTCM`: OTC Markets. US OTC equities.

        - `SIFMA`: Securities Industry and Financial Markets Association. US bonds.

        - `XNAS`: NASDAQ. US equities.

        - `XNYS`: New York Stock Exchange. US equities.


        **Europe**

        - `CEUX`: Cboe CEUX Europe. European equities (Cboe Netherlands).

        - `CHIX`: Cboe CHIX Europe. European equities (Cboe UK).

        - `ISE`: Euronext Dublin. Irish equities.

        - `LSE`: London Stock Exchange. UK equities.

        - `MTA`: Euronext Milan. Italian equities.

        - `MTAA`: Euronext Milan. Italian equities.

        - `XAMS`: Euronext Amsterdam. Dutch equities.

        - `XBRU`: Euronext Brussels. Belgian equities.

        - `XDUB`: Euronext Dublin. Irish equities.

        - `XETR`: Frankfurt Stock Exchange. German equities.

        - `XETRA`: Frankfurt Stock Exchange. German equities.

        - `XLIS`: Euronext Lisbon. Portuguese equities.

        - `XLON`: London Stock Exchange. UK equities.

        - `XPAR`: Euronext Paris. French equities.


        **Asia & Middle East**

        - `HKEX`: Hong Kong Stock Exchange. Hong Kong equities.

        - `JPX`: Japan Exchange Group. Japanese equities.

        - `TADAWUL`: Saudi Stock Exchange. Saudi equities.

        - `XHKG`: Hong Kong Stock Exchange. Hong Kong equities.

        - `XSAU`: Saudi Stock Exchange. Saudi equities.

        - `XTKS`: Japan Exchange Group. Japanese equities.

        '
      example: NYSE,LSE
      in: query
      name: markets
      schema:
        type: string
    market:
      description: 'The market identifier. MIC, BIC, or acronym.


        Available market codes by region:


        **United States**

        - `BMO`: Bank of Montreal. US banking calendar (US operations).

        - `BNYM`: The Bank of New York Mellon. US banking calendar.

        - `BOATS`: Blue Ocean Alternative Trading System. US overnight trading.

        - `IEX`: Investors Exchange. US equities.

        - `IEXG`: Investors Exchange. US equities.

        - `NASDAQ`: National Association of Securities Dealers Automated Quotations. US equities.

        - `NYSE`: New York Stock Exchange. US equities.

        - `OCEA`: BlueOcean ATS. US overnight trading.

        - `OPRA`: Options Price Reporting Authority. US options.

        - `OTC`: Over-The-Counter. US OTC equities.

        - `OTCM`: OTC Markets. US OTC equities.

        - `SIFMA`: Securities Industry and Financial Markets Association. US bonds.

        - `XNAS`: NASDAQ. US equities.

        - `XNYS`: New York Stock Exchange. US equities.


        **Europe**

        - `CEUX`: Cboe CEUX Europe. European equities (Cboe Netherlands).

        - `CHIX`: Cboe CHIX Europe. European equities (Cboe UK).

        - `ISE`: Euronext Dublin. Irish equities.

        - `LSE`: London Stock Exchange. UK equities.

        - `MTA`: Euronext Milan. Italian equities.

        - `MTAA`: Euronext Milan. Italian equities.

        - `XAMS`: Euronext Amsterdam. Dutch equities.

        - `XBRU`: Euronext Brussels. Belgian equities.

        - `XDUB`: Euronext Dublin. Irish equities.

        - `XETR`: Frankfurt Stock Exchange. German equities.

        - `XETRA`: Frankfurt Stock Exchange. German equities.

        - `XLIS`: Euronext Lisbon. Portuguese equities.

        - `XLON`: London Stock Exchange. UK equities.

        - `XPAR`: Euronext Paris. French equities.


        **Asia & Middle East**

        - `HKEX`: Hong Kong Stock Exchange. Hong Kong equities.

        - `JPX`: Japan Exchange Group. Japanese equities.

        - `TADAWUL`: Saudi Stock Exchange. Saudi equities.

        - `XHKG`: Hong Kong Stock Exchange. Hong Kong equities.

        - `XSAU`: Saudi Stock Exchange. Saudi equities.

        - `XTKS`: Japan Exchange Group. Japanese equities.

        '
      in: path
      name: market
      required: true
      schema:
        $ref: '#/components/schemas/market'
    timezone:
      description: 'Timezone of the times. Default: the timezone of the market.

        '
      in: query
      name: timezone
      required: false
      schema:
        enum:
        - UTC
        type: string
    start:
      description: 'The first date to retrieve data for (inclusive). Default: today.

        '
      example: '2025-01-01'
      in: query
      name: start
      required: false
      schema:
        format: date
        type: string
    legacy_start:
      description: The first date to retrieve data for (inclusive).
      in: query
      name: start
      schema:
        format: date-time
        type: string
    legacy_date_type:
      description: 'Indicates what start and end mean. Default: TRADING. If TRADING is specified, returns a calendar whose trading date matches start, end. If SETTLEMENT is specified, returns the calendar whose settlement date matches start and end.

        '
      in: query
      name: date_type
      schema:
        enum:
        - TRADING
        - SETTLEMENT
        type: string
    legacy_end:
      description: The last date to retrieve data for (inclusive).
      in: query
      name: end
      schema:
        format: date-time
        type: string
  responses:
    '400':
      description: 'One of the request parameters is invalid. See the returned message for details.

        '
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/ratelimit_limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/ratelimit_remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/ratelimit_reset'
    '500':
      description: 'Internal server error. We recommend retrying these later. If the issue persists, please contact us on Slack or on the Community Forum.

        '
    '429':
      description: 'Too many requests. You hit the rate limit. Use the X-RateLimit-... response headers to make sure you''re under the rate limit.

        '
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/ratelimit_limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/ratelimit_remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/ratelimit_reset'
  securitySchemes:
    BasicAuth:
      scheme: basic
      type: http
    API_Key:
      description: ''
      in: header
      name: APCA-API-KEY-ID
      type: apiKey
    API_Secret:
      description: ''
      in: header
      name: APCA-API-SECRET-KEY
      type: apiKey
x-refined-from:
- alpaca-eu-broker-api-openapi.json
- alpaca-us-broker-api-openapi.json
- alpaca-us-trading-api-openapi.json
x-readme:
  explorer-enabled: true
  proxy-enabled: false