Provider shortlist
Every figure comes from the vendor's own pages, read on 3 November 2026. Settlement conventions belong to each venue, and none of these sources replaces its rulebook. Narwhal API is owned and operated by Nusantara Ventures, LLC.
Narwhal API
Skipping each country's public holidays when you count T+N business days in your own code.
EODHD
Exchange holidays with early closes and their closing times, across 73 verified exchanges.
Massive (formerly Polygon.io)
US closures and early closes with open and close times, plus futures session schedules.
Finnhub
A per-exchange holiday list with trading hours on partial days, beside an open-or-closed status call.
Financial Modeling Prep
A holiday list per exchange from a vendor you may already use for prices and filings.
Twelve Data
A live open-or-closed check across 250+ exchanges, and session times for one day.
Federal Reserve Financial Services
US dollar payment-system closed days for FedCash and FedACH.
ECB T2 (TARGET)
Closed days for euro payment settlement.
Compare the options
Best fit is not feature parity. Check the evidence and limitation together.
| Provider | Best for | Evidence checked | Important limitation |
|---|---|---|---|
| Narwhal API | Skipping each country's public holidays when you count T+N business days in your own code. | Public holidays for 37 countries from official government sources, by year, by date, and the next holiday from a date. Free is 5,000 calls a month; Basic is $59 for 100,000. | No exchange trading calendar, early closes or half days. A country's public holidays can differ from an exchange's or a payment system's closed days. |
| EODHD | Exchange holidays with early closes and their closing times, across 73 verified exchanges. | Each holiday is typed Official, Bank or EarlyClose, with a time such as 13:00:00. The docs name the All-In-One plan at $99.99 a month; Market Status add-ons start at $50. | Version 2 returns the current year only. The exchange count reads 73 on one page and 60+ on another, and the plan or add-on that gates this call is unclear. |
| Massive (formerly Polygon.io) | US closures and early closes with open and close times, plus futures session schedules. | The upcoming endpoint returns date, exchange, name and a closed or early-close status. It is included in every Stocks plan, from Free to Advanced at $199 a month. | Forward-looking only, with no stated window and no history. The sample shows NYSE, NASDAQ and OTC, and the full exchange list is not stated. |
| Finnhub | A per-exchange holiday list with trading hours on partial days, beside an open-or-closed status call. | The market-holiday call returns event name, date and tradingHour, such as 09:30-13:00. The specification does not mark it premium. | Pricing, exchange list, date range and rate limits could not be read, because those pages render in JavaScript. |
| Financial Modeling Prep | A holiday list per exchange from a vendor you may already use for prices and filings. | The call takes an exchange and a from and to date. The plan table appears to include it from the free Basic plan, which allows 250 calls a day. | The docs page shows no response fields, early closes are not documented, and the page data marks the endpoint as staging. |
| Twelve Data | A live open-or-closed check across 250+ exchanges, and session times for one day. | Market state costs 1 credit. The exchange schedule costs 100 credits per request and needs the Ultra plan at $999 or Enterprise. | No holiday list or early-close endpoint is documented, and the pricing page shows two conflicting sets of per-minute limits. |
| Federal Reserve Financial Services | US dollar payment-system closed days for FedCash and FedACH. | A 2026 to 2030 FedCash schedule lists 11 closed days for 2026, from 1 January to 25 December. A FedACH table adds processing end and resume timestamps. | A web page, not an API. It describes payment systems and says nothing about securities T+N settlement. |
| ECB T2 (TARGET) | Closed days for euro payment settlement. | T2 is open Monday to Friday. For euro settlement it is also closed on 1 January, Good Friday, Easter Monday, 1 May, 25 December and 26 December. | The page gives the rule, not a year-by-year list, so you work out the Easter dates. The Danish krone follows its own schedule. |
Choose by requirement
No vendor documents T+1 or T+2
We searched every saved holiday and market-hours page, and each llms.txt, for settlement, T+1 and T+2. The only hits were on the Federal Reserve and ECB pages, and those describe payment-system closed days. Massive's futures docs mention settlement prices, which are a price field and not a date.
Get a settlement date from a holiday list
Start at the trade date and move forward one calendar day at a time. Count a day only when it is a weekday and no relevant country has a holiday. Stop when the count reaches N. A US stock trade on Wednesday 25 November 2026 settles T+1 on Friday 27 November, because Thursday 26 November is a US holiday. A USD/JPY T+2 trade needs both countries' holidays. Narwhal's settlement how-to runs this loop in Python.
Pick the closed-day list that matches the venue
Public holidays are not the same list as exchange closures or payment-system closed days. An exchange API such as EODHD, Massive or Finnhub answers for a named exchange. A public holiday API answers for a country, and the Fed and ECB pages answer for their payment systems. Use the list your venue's rules name. If you cannot tell which, ask the venue and keep the answer in a config table.
Early closes and cutoffs
An early close changes the time a market shuts that day. Whether it moves your settlement date or only your cutoff depends on the venue's rules. EODHD types them EarlyClose with a time, Massive returns an early-close status with open and close times, and Finnhub gives tradingHour on partial days. FMP does not document early closes, Twelve Data lists none, and Narwhal does not publish them.
Plans and price for exchange schedules
Massive includes market holidays in every Stocks plan, from Free to $199 a month. EODHD points to All-In-One at $99.99 a month, and its Market Status add-ons start at $50. FMP appears to include it on the free Basic plan. Twelve Data charges 100 credits per schedule request on Ultra at $999. Finnhub lists market holidays on its Free plan. Check the plan gate in a test call before you commit.
Payment-system closures
The Fed lists 11 closed days for 2026 and says a Saturday holiday leaves Reserve Banks open the Friday before, while a Sunday holiday closes them the Monday after. FedACH adds exact processing end and resume times. The ECB says T2 is open Monday to Friday and closed on six named days for euro settlement.
Currency pairs need two calendars
A cross-border trade skips the holidays of every country involved. Narwhal covers 37 countries, so a pair outside that list needs another source. Calendarific lists 230+ countries and HolidayAPI 250. HolidayAPI's /workday returns the date N working days after a start for a country's workweek. Test whether it skips that country's public holidays before you use it for T+N.
Open now is not a calendar
Twelve Data's market state costs 1 credit and reports whether an exchange is open. Finnhub's market status returns isOpen, the session and a holiday flag. Massive has a market-status call too. These answer for the present moment and cannot tell you the date a trade settles. Use them to guard an order screen, then use a holiday list for dates ahead.
Quick pick by job
For US stock closures with early-close times, start with Massive, since every Stocks plan includes it. For global exchanges with typed early closes, EODHD is the most explicit about early closes. For a country's public holidays across a trade date, use a holiday API. For ACH or euro payments, read the Fed and ECB pages.
Futures and what Narwhal gives
Massive's futures schedules show session opens, closes and breaks, with adjustments for holidays and two years of history. Narwhal offers no equivalent. What Narwhal gives is the public holidays of 37 countries, a whole-year call, a single-date call and a next-holiday lookup. Fetch each country's year once and keep it, which costs a handful of calls against a 5,000 monthly Free allowance.
Each detailed provider page lists the first-party documentation used, its evidence boundaries, and its review date. Reviewed:
