Skip to content

Holidays

Get market holidays for a specific year including special trading sessions.

Endpoint URL

http
Local Host   :  POST http://127.0.0.1:5000/api/v1/market/holidays
Ngrok Domain :  POST https://<your-ngrok-domain>.ngrok-free.app/api/v1/market/holidays
Custom Domain:  POST https://<your-custom-domain>/api/v1/market/holidays

Sample API Request

json
{
  "apikey": "<your_app_apikey>",
  "year": 2026
}

Sample cURL Request

bash
curl -X POST http://127.0.0.1:5000/api/v1/market/holidays \
  -H 'Content-Type: application/json' \
  -d '{
  "apikey": "<your_app_apikey>",
  "year": 2026
}'

Sample API Response

json
{
  "status": "success",
  "year": 2026,
  "timezone": "Asia/Kolkata",
  "data": [
    {
      "date": "2026-01-26",
      "description": "Republic Day",
      "holiday_type": "TRADING_HOLIDAY",
      "closed_exchanges": ["NSE", "BSE", "NFO", "BFO", "CDS", "BCD", "MCX"],
      "open_exchanges": []
    },
    {
      "date": "2026-02-19",
      "description": "Chhatrapati Shivaji Maharaj Jayanti",
      "holiday_type": "SETTLEMENT_HOLIDAY",
      "closed_exchanges": [],
      "open_exchanges": []
    },
    {
      "date": "2026-03-10",
      "description": "Holi",
      "holiday_type": "TRADING_HOLIDAY",
      "closed_exchanges": ["NSE", "BSE", "NFO", "BFO", "CDS", "BCD"],
      "open_exchanges": [
        {
          "exchange": "MCX",
          "start_time": 1741624200000,
          "end_time": 1741677900000
        }
      ]
    },
    {
      "date": "2026-08-15",
      "description": "Independence Day",
      "holiday_type": "TRADING_HOLIDAY",
      "closed_exchanges": ["NSE", "BSE", "NFO", "BFO", "CDS", "BCD", "MCX"],
      "open_exchanges": []
    }
  ]
}

Request Body

ParameterDescriptionMandatory/OptionalDefault Value
apikeyYour Tradeboard API keyMandatory-
yearYear to get holidays for, integer between 2020 and 2050OptionalCurrent year

MarketHolidaysSchema declares only these two fields. Any other field, including an exchange filter, returns HTTP 400: this endpoint always returns every exchange's status for each holiday. Filter closed_exchanges and open_exchanges on the client.

Response Fields

FieldTypeDescription
statusstring"success" or "error"
yearnumberYear for which holidays are returned
timezonestringTimezone (Asia/Kolkata)
dataarrayArray of holiday objects

Holiday Object Fields

FieldTypeDescription
datestringHoliday date (YYYY-MM-DD)
descriptionstringHoliday name/reason
holiday_typestringType of holiday
closed_exchangesarrayExchanges fully closed
open_exchangesarrayExchanges with special sessions

Open Exchanges Object Fields

FieldTypeDescription
exchangestringExchange code
start_timenumberSession start (epoch milliseconds)
end_timenumberSession end (epoch milliseconds)

Holiday Types

TypeDescription
TRADING_HOLIDAYFull market closure
SETTLEMENT_HOLIDAYSettlement closed, trading may be open
SPECIAL_SESSIONModified trading hours (e.g., Muhurat)

Notes

  • Year must be between 2020 and 2050
  • closed_exchanges lists exchanges that are completely closed
  • open_exchanges lists exchanges with special/partial sessions
  • Times are in epoch milliseconds
  • MCX often has evening sessions on NSE/BSE holidays
  • The calendar tracks nine exchanges: NSE, BSE, NFO, BFO, MCX, BCD, CDS, NCO, and CRYPTO. CRYPTO trades continuously, so it does not appear in closed_exchanges for ordinary trading holidays.

Use Cases

  • Calendar planning: Know trading days in advance
  • Strategy scheduling: Adjust strategies for holidays
  • Risk management: Plan for reduced liquidity days

Back to: API Documentation