Insights · 4 min read
How to check market holidays and settlement dates in code
By Austin Hunter ·
Short answer
SettleDate is a JSON API for exchange holidays, trading hours and settlement dates across 29 exchanges, 52 countries and the US, euro and UK payment calendars, 2020 to 2030. Its free plan covers 5,000 calls a month, and free calendars answer 60 keyless calls an hour. It also builds in the EU move to T+1 settlement on 11 October 2027.
The questions it answers
- Is a given day a trading day, and is the market open right now (or on lunch break)?
- What's the next or previous trading day, or the date N trading days from now?
- When does a trade settle (T+1, T+2), using the market calendar and the cash-leg calendar together?
- What are the session hours, including early closes, in local time and UTC?
Why settlement dates are tricky
A US trade can't settle on a day the Fed is closed, even when the NYSE is open (Columbus Day and Veterans Day). From 11 October 2027, EU trades move from T+2 to T+1, so trades on Friday the 8th and Monday the 11th both settle on Tuesday the 12th. SettleDate joins the right calendars and picks the cycle by trade date.
Where the data comes from
Exchange sessions come from the open-source exchange_calendars project, country holidays from python-holidays, and the Fed calendar from the Federal Reserve's published rule. Core exchanges are checked against the exchange's own holiday notices, and every calendar lists its source.
Questions
Is there a free tier?
Yes. 5,000 calls a month with all country calendars plus NYSE, Nasdaq, LSE, Xetra, Tokyo and the US Fed, TARGET2 and UK payment calendars. Free calendars also answer 60 keyless calls an hour.
What happens at my limit?
The API returns 429 until the 1st of the month. Nothing is billed automatically beyond your plan.
Can I get it through RapidAPI?
SettleDate is also listed on RapidAPI if you already bill through it, or you can get a free key directly on settledate.dev.