Market calendar API
Exchange holidays, trading hours and settlement dates in one API
Is the market open? When does this trade settle? How many trading days until expiry? SettleDate answers with JSON for 29 exchanges, 52 countries and the US, euro and UK payment calendars, 2020 to 2030, including early closes, lunch breaks and the EU/UK/Swiss move to T+1 on 11 October 2027.
No key needed to try it: free calendars answer 60 keyless calls an hour.
curl "https://www.elcodev.com/apps/settledate/v1/settlement-date?market=XNYS&trade_date=2026-10-09"
import requests
r = requests.get(
"https://www.elcodev.com/apps/settledate/v1/settlement-date",
params={"market": "XNYS", "trade_date": "2026-10-09"},
headers={"X-API-Key": "sd_..."}, # optional for free calendars
)
print(r.json()["settlement_date"]) # 2026-10-13 (Columbus Day: NYSE open, Fed closed)
const r = await fetch(
"https://www.elcodev.com/apps/settledate/v1/markets/XNYS/status",
{ headers: { "X-API-Key": process.env.SETTLEDATE_KEY } }
);
const s = await r.json();
console.log(s.status, s.next_open ?? s.next_close);
{
"market": "XNYS",
"trade_date": "2026-10-09",
"settlement_date": "2026-10-13",
"cycle": "T+1",
"basis": "market_rule",
"status": "in_effect",
"effective_from": "2024-05-28",
"rule": "SEC Rule 15c6-1 amendments (T+1)",
"source": "https://www.sec.gov/newsroom/press-releases/2023-29",
"calendars_used": [
"XNYS",
"us-fed"
],
"skipped_days": [
{
"date": "2026-10-12",
"reasons": [
{
"calendar": "us-fed",
"type": "holiday",
"name": "Columbus Day"
}
]
}
]
}
What it answers
Is it a trading day?
Weekends, holidays and ad hoc closures (like the 9 January 2025 national day of mourning) for each exchange, payment rail or country. Combine calendars: XNYS,XLON is open only when both are.
Next, previous, add N
Roll a date to the next trading day, shift it by N trading days, or count trading days between two dates, with the inclusive/exclusive rule stated in the response.
Session hours
Open, close and lunch break in local time and UTC, DST handled, with early closes (13:00 the day after Thanksgiving), half days and schedule changes such as Tokyo's 15:30 close from 5 Nov 2024.
Open right now?
/status returns open, closed or lunch break at any instant, with the reason and the next open and close.
Settlement dates
T+1, T+2 or T+3 by market and trade date, on the market calendar joined with the cash-leg calendar: US trades skip Columbus and Veterans Day, euro trades skip TARGET2 closing days.
Provenance you can check
Every calendar lists its source and how it was verified. Core exchanges are checked against the exchange's own published holiday notice; corrections are logged at /v1/changes.
T+1 in Europe
The 11 October 2027 switch is built in
Trades on Friday 8 October 2027 still settle T+2 and trades on Monday 11 October settle T+1, so both land on Tuesday 12 October. The API picks the cycle from the trade date and says how sure the rule is.
| Market | Cycle from 11 Oct 2027 | Status | Basis |
|---|---|---|---|
| EU venues (Xetra, Euronext, Madrid, Nasdaq Nordics, Vienna…) | T+1 | confirmed in law | Regulation (EU) 2025/2075 |
| London Stock Exchange | T+1 | announced, not final | HM Treasury draft SI (Nov 2025), not yet made |
| SIX Swiss Exchange | T+1 | announced, not final | swissSPTC recommendation; SIX rule book change pending |
| Oslo (EEA) | T+1 | announced, not final | Expected via EEA incorporation |
Coverage
29 exchanges, 3 payment-rail calendars, 52 countries plus subdivisions (GB-ENG, GB-SCT, US-NY…). Range 2020-01-01 to 2030-12-31 (Shanghai through 2026, the last year its holidays are published). Free and keyless access covers every country calendar plus XNYS, XNAS, XLON, XETR, XTKS, us-fed, eu-target2, gb-bacs-chaps.
| MIC | Exchange | Time zone | Verification | Plan |
|---|---|---|---|---|
BVMF | B3 (Brasil Bolsa Balcao) | America/Sao_Paulo | library rules | Paid |
XAMS | Euronext Amsterdam | Europe/Amsterdam | library rules | Paid |
XASX | Australian Securities Exchange | Australia/Sydney | official notice 2026, 2027 | Paid |
XBOM | BSE (Bombay Stock Exchange) | Asia/Kolkata | library rules | Paid |
XBRU | Euronext Brussels | Europe/Brussels | library rules | Paid |
XCSE | Nasdaq Copenhagen | Europe/Copenhagen | library rules | Paid |
XDUB | Euronext Dublin | Europe/Dublin | library rules | Paid |
XETR | Xetra (Deutsche Boerse) | Europe/Berlin | official notice 2026, 2027 | Free |
XHEL | Nasdaq Helsinki | Europe/Helsinki | library rules | Paid |
XHKG | Hong Kong Exchanges (HKEX) | Asia/Hong_Kong | official notice 2026, 2027 | Paid |
XJSE | Johannesburg Stock Exchange | Africa/Johannesburg | library rules | Paid |
XKRX | Korea Exchange | Asia/Seoul | library rules | Paid |
XLIS | Euronext Lisbon | Europe/Lisbon | library rules | Paid |
XLON | London Stock Exchange | Europe/London | official notice 2026, 2027 | Free |
XMAD | Bolsa de Madrid | Europe/Madrid | library rules | Paid |
XMEX | Bolsa Mexicana de Valores | America/Mexico_City | library rules | Paid |
XMIL | Euronext Milan (Borsa Italiana) | Europe/Rome | library rules | Paid |
XNAS | Nasdaq Stock Market | America/New_York | official notice 2026 | Free |
XNYS | New York Stock Exchange | America/New_York | official notice 2026, 2027 | Free |
XNZE | NZX | Pacific/Auckland | library rules | Paid |
XOSL | Euronext Oslo | Europe/Oslo | library rules | Paid |
XPAR | Euronext Paris | Europe/Paris | official notice 2026 | Paid |
XSES | Singapore Exchange | Asia/Singapore | library rules | Paid |
XSHG | Shanghai Stock Exchange | Asia/Shanghai | library rules | Paid |
XSTO | Nasdaq Stockholm | Europe/Stockholm | library rules | Paid |
XSWX | SIX Swiss Exchange | Europe/Zurich | official notice 2026, 2027 | Paid |
XTKS | Tokyo Stock Exchange (JPX) | Asia/Tokyo | official notice 2026, 2027 | Free |
XTSE | Toronto Stock Exchange | America/Toronto | official notice 2026 | Paid |
XWBO | Wiener Boerse | Europe/Vienna | library rules | Paid |
Countries: United Arab Emirates, Argentina, Austria, Australia, Belgium, Brazil, Canada, Switzerland, Chile, China, Colombia, Czechia, Germany, Denmark, Egypt, Spain, Finland, France, United Kingdom, Greece, Hong Kong, Hungary, Indonesia, Ireland, Israel, India, Italy, Japan, Kenya, South Korea, Luxembourg, Mexico, Malaysia, Nigeria, Netherlands, Norway, New Zealand, Peru, Philippines, Pakistan, Poland, Portugal, Romania, Saudi Arabia, Sweden, Singapore, Thailand, Turkey, Taiwan, United States, Vietnam, South Africa.
Pricing
Free
- 5,000 calls a month
- All country calendars
- NYSE, Nasdaq, LSE, Xetra, Tokyo
- US Fed, TARGET2, UK bank-holiday rails
- Settlement dates on those markets
Starter
- 100,000 calls a month
- All 29 exchanges and every calendar
- Settlement dates on every market
- Use in internal tools and your own apps
- Cancel any time in the billing portal
Growth
- 1,000,000 calls a month
- All 29 exchanges and every calendar
- Settlement dates on every market
- Use in internal tools and your own apps
- Cancel any time in the billing portal
Business
- 5,000,000 calls a month
- All 29 exchanges and every calendar
- Settlement dates on every market
- Redistribution: show results to your own customers
- Cancel any time in the billing portal
Prices in USD. When you hit your monthly limit the API returns 429 until the 1st (UTC); nothing is billed automatically beyond your plan. Upgrading needs a free key first, so your key keeps working when you change plans. Need more volume, a file export or custom calendars? Email support@elcodev.com.
Get a free API key
Enter your email and the key appears right here. No card. One key per email.
Questions
Where does the data come from?
Exchange sessions come from the open-source exchange_calendars project (Apache-2.0), country holidays from python-holidays (MIT), the Fed calendar from the Federal Reserve's published rule, and everything for 10 core exchanges is checked against the exchange's own holiday notice. See data sources.
How far ahead is it right?
Exchanges publish official holiday lists one to three years ahead. Years beyond that are computed from each exchange's standing rules and can change when an exchange announces something new (ad hoc closures, new holidays). Each calendar shows which years were checked against an official notice.
Why not just use the libraries?
You can, and they're great. SettleDate is for teams that want one HTTP call from any language, settlement logic across calendars, a provenance trail, and someone else watching for exchange notices.
Is this investment or legal advice?
No. It's reference data with a stated source for each fact. For settlement-critical operations, confirm against your CSD, custodian or broker. See the terms.