# TickerLayer Market Holidays Calendar

> TickerLayer Market Holidays Calendar is a paid API for AI agents from x402.tickerlayer.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Returns the market holiday and early-close calendar for a specified market and year or date range.

## Facts

- Endpoint: GET https://x402.tickerlayer.com/v1/markets/holidays
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tickerlayer-market-holidays-calendar-1b9c0a61
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-7CFL3Qj-Mfz309yWiY5Q

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tickerlayer-market-holidays-calendar-1b9c0a61
```

Example prompt: Can you pull the full holiday and early-close calendar for the US stocks market for 2025, so I know which days trading will be suspended or shortened?

## When to prefer this

Choose this endpoint when you need a complete, authoritative list of market holidays and early-close days for a specific exchange or asset class, particularly for scheduling automated trading, backtesting, or portfolio management workflows. It is preferable over generic financial data APIs when you need timezone-aware, market-specific calendar data with early-close granularity.

## Known failure modes

- Invalid market identifier returns an error or empty result
- Year outside supported range (before 2000 or after 2100) returns a validation error
- Incompatible combination of year and start/end date parameters may cause a request error
- Partial data availability for future years returns completeness='partial' flag
- Unsupported asset class enum value returns a schema validation error
- Missing required query parameters (market or year/date range) results in a 400-level error

## How this service works

Get the market holiday and early-close calendar for a requested market and year or date range.

## Output

Returns a structured calendar object containing the market identifier, year, timezone, and an array of holiday entries (each with date, holiday name, and close type such as full close or early close), plus metadata including calendar version, date range covered, and completeness status (full or partial).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "end": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
      },
      "year": {
       "type": "string",
       "pattern": "^20\\d{2}$"
      },
      "asset": {
       "enum": [
        "stocks",
        "forex",
        "crypto",
        "commodities",
        "indices",
        "etfs",
        "bonds"
       ],
       "type": "string"
      },
      "start": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
      },
      "market": {
       "type": "string",
       "maxLength": 20,
       "minLength": 2
      },
      "symbol": {
       "type": "string",
       "description": "Use COUNTRY_OR_MARKET:SYMBOL for stocks, for example US:AAPL."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "market",
      "year",
      "timezone",
      "holidays",
      "meta"
     ],
     "properties": {
      "meta": {
       "type": "object",
       "required": [
        "calendar_version",
        "start",
        "end",
        "data_notice",
        "completeness"
       ],
       "properties": {
        "end": {
         "type": "string",
         "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "start": {
         "type": "string",
         "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "data_notice": {
         "type": "string"
        },
        "completeness": {
         "enum": [
          "full",
          "partial"
         ],
         "type": "string"
        },
        "calendar_version": {
         "type": "string"
        }
       },
       "additionalProperties": true
      },
      "year": {
       "type": "integer",
       "maximum": 2100,
       "minimum": 2000
      },
      "market": {
       "type": "string"
      },
      "holidays": {
       "type": "array",
       "items": {
        "type":
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tickerlayer-market-holidays-calendar-1b9c0a61/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.tickerlayer.com](https://www.zero.xyz/host/x402.tickerlayer.com/llms.txt)
