apyhub
Back
▣ FINANCE · STANDARD DATA

Stock Exchange Calendars API

What it does

Stock Exchange Calendars lists the stock and financial exchanges that have a market-holiday calendar and returns the details of each one. Look up an exchange by its MIC code or acronym, such as XNYS or NYSE.

GET /v1/markets returns every supported exchange with its MIC code, aliases and name. GET /v1/markets/:market returns one exchange with its holiday categories (public closures and half_day early closes), default category, languages, weekend days, subdivisions and the years covered.

Use the results to find the exact code to pass to the other holiday and business-day endpoints, to show which exchanges your app supports, or to check how far ahead an exchange calendar goes before you request its holidays.

▣ ENDPOINT 01 / 03
GET
List Stock Exchanges
https://api.eu.apyhub.com/callable-labs/stock-exchange-calendars-api/v1/markets

QUICKSTART

GUIDE

Quickstart

List every stock exchange that has a market-holiday calendar.

curl -X GET "https://api.eu.apyhub.com/callable-labs/stock-exchange-calendars-api/v1/markets" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with count, the number of exchanges, calendar_version, and an items array with one object per exchange: its MIC code, aliases, name, holiday categories, weekend days and the years covered. Only the first exchange is shown here.

{
  "count": 28,
  "calendar_version": "2026.10",
  "items": [
    {
      "code": "XNYS",
      "aliases": ["NYSE"],
      "name": "New York Stock Exchange",
      "kind": "market",
      "categories": ["public", "half_day"],
      "default_category": "public",
      "languages": ["en"],
      "default_language": "en",
      "weekend": ["saturday", "sunday"],
      "subdivision_count": 0,
      "years": [2000, 2100]
    }
  ]
}
TRY ITLIVE · 5 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Lists every stock and financial exchange that has a market-holiday calendar, with its MIC code and acronyms. Use it to find the code to pass as market to the other endpoints.

Response

Returns a JSON object with the number of exchanges and one entry for each.

ParameterTypeDescription
countIntegerNumber of exchanges returned.
itemsObject ArrayOne object per exchange.
items[].codeStringMIC code of the exchange.
items[].aliasesString ArrayAcronyms the exchange is also known by.
items[].nameStringExchange name.
items[].kindStringmarket for an exchange.
items[].categoriesString ArrayHoliday categories available.
items[].default_categoryStringCategory used when none is given.
items[].languagesString ArrayLanguages available for holiday names.
items[].weekendString ArrayWeekend days of the exchange.
items[].yearsInteger ArrayFirst and last year with rules.
calendar_versionStringVersion of the calendar data used.
▣ ENDPOINT 02 / 03
GET
Get Stock Exchange Details
https://api.eu.apyhub.com/callable-labs/stock-exchange-calendars-api/v1/markets/:market

QUICKSTART

GUIDE

Quickstart

Get the calendar details of the New York Stock Exchange by its MIC code.

curl -X GET "https://api.eu.apyhub.com/callable-labs/stock-exchange-calendars-api/v1/markets/:market" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object describing the exchange: its code, aliases, name, holiday categories and default_category, languages, weekend days, subdivisions and the years covered.

{
  "code": "XNYS",
  "aliases": [
    "NYSE"
  ],
  "name": "New York Stock Exchange",
  "kind": "market",
  "categories": [
    "half_day",
    "public"
  ],
  "default_category": "public",
  "languages": [
    "en_US",
    "gu",
    "hi"
  ],
  "default_language": "en_US",
  "weekend": [
    "saturday",
    "sunday"
  ],
  "subdivision_count": 0,
  "years": [
    1900,
    2100
  ],
  "subdivisions": []
}
TRY ITLIVE · 5 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Exchange MIC or acronym

About this endpoint

What it does

Returns the details of one stock exchange: its holiday categories (public closures and half_day early closes), weekend days, the years covered and its subdivisions.

Path Parameter(s)

AttributeTypeDescription
marketStringExchange MIC or acronym, such as XNYS or NYSE. Required.

Response

Returns a JSON object describing the exchange.

ParameterTypeDescription
codeStringMIC code of the exchange.
aliasesString ArrayAcronyms the exchange is also known by.
nameStringExchange name.
kindStringmarket for an exchange.
categoriesString ArrayHoliday categories available.
default_categoryStringCategory used when none is given.
languagesString ArrayLanguages available for holiday names.
default_languageStringLanguage used when none is given.
weekendString ArrayWeekend days of the exchange.
subdivision_countIntegerNumber of subdivisions.
subdivisionsObject ArraySubdivisions with their codes and names.
yearsInteger ArrayFirst and last year with rules.
▣ ENDPOINT 03 / 03
GET
List Stock Market Holidays by Year
https://api.eu.apyhub.com/callable-labs/stock-exchange-calendars-api/v1/market-holidays/:year/:market

QUICKSTART

GUIDE

Quickstart

List the days the New York Stock Exchange is closed in 2026.

curl -X GET "https://api.eu.apyhub.com/callable-labs/stock-exchange-calendars-api/v1/market-holidays/:year/:market" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with the year, the count of closures and a holidays array sorted by date. Each entry has its date, weekday, name, local_name, categories and an observed flag. Add categories=half_day to list early closes instead. Only the first closures are shown here.

{
  "year": 2026,
  "count": 10,
  "market": "XNYS",
  "categories": ["public"],
  "language": "en",
  "calendar_version": "2026.10",
  "holidays": [
    {
      "date": "2026-01-01",
      "weekday": "thursday",
      "name": "New Year's Day",
      "local_name": "New Year's Day",
      "categories": ["public"],
      "observed": false
    },
    {
      "date": "2026-01-19",
      "weekday": "monday",
      "name": "Martin Luther King Jr. Day",
      "local_name": "Martin Luther King Jr. Day",
      "categories": ["public"],
      "observed": false
    }
  ]
}
TRY ITLIVE · 5 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Year, 1900–2100
Exchange MIC or acronym
Language for `name`, e.g. `en_US`, `de`, `fr`. Default: English when available.
Include days off moved by observance rules (e.g. a Sunday holiday observed on Monday)
Comma-separated holiday categories, e.g. `public,bank`. Default: the calendar's main category (usually `public`).

About this endpoint

What it does

Returns the days an exchange is closed in a given year (NYSE, NASDAQ, LSE, TARGET2, JPX, HKEX, NSE and more). Set categories=half_day to list early closes instead of full closures.

Path Parameter(s)

AttributeTypeDescription
yearIntegerYear, 1900 to 2100. Required.
marketStringExchange MIC or acronym, such as XNYS or NYSE. Get the full list of codes and acronyms from the List Stock Exchanges endpoint (GET /v1/markets). Required.

Query Parameter(s)

AttributeTypeDescription
categoriesStringComma-separated holiday categories, such as public or half_day. Default: the calendar's main category (usually public).
subdivisionStringSubdivision code or name, if the calendar has them.
languageStringLanguage for the holiday names, such as en_US, de or fr. Default: English when available.
observedBooleanInclude days off moved by observance rules. Default: true.

Response

Returns a JSON object with the closures of the year.

ParameterTypeDescription
yearIntegerYear requested.
countIntegerNumber of closures returned.
holidaysObject ArrayThe closures, sorted by date.
holidays[].dateStringDate of the closure (YYYY-MM-DD).
holidays[].weekdayStringDay of the week.
holidays[].nameStringHoliday name in English or the requested language.
holidays[].local_nameStringHoliday name in the local language.
holidays[].categoriesString ArrayCategories of the closure.
holidays[].observedBooleanWhether an observance rule moved the day off.
marketStringExchange code of the calendar.
categoriesString ArrayCategories applied.
languageStringLanguage of the names.
calendar_versionStringVersion of the calendar data used.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.