When does the money actually move?
Bankday answers the question every payments, payroll, lending and trading system gets wrong: is this a business day, and what's the next one? Holidays, settlement days and value dates for ACH, Fedwire, TARGET2, Bacs, 28 stock exchanges and 247 countries, in one JSON API.
1,000 free requests/month · no credit card · from $19/mo after that
Live API. Keyless playground, 50 calls/day.
Built for the dates that cost you money
Payment rails, not just "holidays"
The Fed is closed on Veterans Day; the NYSE isn't. TARGET2 is closed on Easter Monday; most US banks aren't. Bankday models FedACH/Fedwire, TARGET2/SEPA, Bacs/CHAPS and FedNow separately.
Business-day math
Add or subtract N business days, count the days between two dates, list business days in a range, or roll a date with following / modified-following conventions.
Joint calendars & FX value dates
Combine calendars (us-fed,eu-target2) for cross-border payouts. Get correct T+2 / T+1 FX spot dates with USD-holiday rules built in.
ACH settlement estimates
"If I submit this Same Day ACH at 3:10 p.m. ET on a Friday before a holiday, when does it settle?" One call, using the FedACH window schedule.
28 exchanges, 247 countries
NYSE, Nasdaq, LSE, TSX, JPX, HKEX and more, plus national public holidays with correct local weekends.
MCP server for AI agents
LLMs are bad at calendars. Plug Bankday's remote MCP server into Claude, Cursor or your own agent so it stops inventing due dates.
One request. No dependencies to maintain.
Holiday rules change: new federal holidays (Juneteenth, 2021), days of mourning (NYSE, January 2025), substitute days, moved bank holidays. Libraries pinned in your repo go stale silently. Bankday updates centrally and versions nothing you need to redeploy.
- Plain HTTPS + JSON, works from any language
- Clear errors instead of silently wrong dates outside coverage
- Bearer-token auth, CORS enabled, OpenAPI spec
- Usage headers on every response
curl "https://bankday.jacklehoff4866.workers.dev/v1/business-days/add?calendar=us-fed&date=2026-11-25&days=2" \
-H "Authorization: Bearer $BANKDAY_KEY"
{
"calendar": "us-fed",
"date": "2026-11-25",
"days": 2,
"result": "2026-11-30",
"result_status": { "weekday": "Monday", "business_day": true, ... }
}
// Node / browser
const r = await fetch("https://bankday.jacklehoff4866.workers.dev/v1/fx/spot?pair=EURUSD&trade_date=2026-11-25",
{ headers: { Authorization: `Bearer ${process.env.BANKDAY_KEY}` } });
const { spot_date } = await r.json(); // "2026-11-27"
Who uses a business-day API?
ACH effective dates, payout ETAs shown to customers, retry scheduling, cut-off messaging.
Pay-date shifting when payday lands on a bank holiday, in every country you employ people.
Due dates, grace periods, late-fee eligibility and autopay pull dates that don't fall on closed days.
T+1 settlement, FX value dates, exchange trading days, coupon date adjustment.
SLA clocks and delivery promises counted in business days, per customer country.
Give assistants a reliable tool for "what's 10 business days from today in Germany?"
Simple pricing that scales with usage
Overage: Hard cap
- All 279 calendars
- All endpoints incl. FX & ACH
- MCP server access
- Community support
Overage: $0.25 per 1,000
- Everything in Free
- Usage-based overage, never cut off
- Email support
Overage: $0.10 per 1,000
- Everything in Developer
- Ad-hoc closure alerts by email
- Priority support (1 business day)
Overage: $0.04 per 1,000
- Everything in Business
- 99.9% uptime SLA
- Bulk dataset export (CSV/JSON)
- Invoice billing
Need on-prem data, a custom calendar (e.g. your bank's own processing days) or annual invoicing? Talk to us; Enterprise and dataset licences start at $5,000/year.
Frequently asked
What counts as a business day?
A day that is not a weekend day and not a holiday on the calendar you choose. Weekends are calendar-specific (e.g. Friday–Saturday in Saudi Arabia). For payment rails, a business day is a day the system settles; for exchanges, a full trading day.
Why not just use a list of public holidays?
Because money doesn't follow public holidays. The Federal Reserve is closed on Columbus Day and Veterans Day while the NYSE trades; the NYSE closes on Good Friday while Fedwire settles; when a US holiday falls on Saturday the Fed stays open on Friday but federal offices close. Bankday models each system separately.
Can I combine calendars?
Yes. Pass several ids, e.g. calendar=us-fed,eu-target2, and a day only counts as a business day if it is one on every calendar. This is how FX value dates and cross-border payouts work.
How accurate is the data?
Payment-rail calendars are rule-coded and checked against the operator's published schedules (Federal Reserve, ECB, gov.uk) at every build. Exchange and country calendars come from the open-source python-holidays project. Ad-hoc closures (e.g. national days of mourning) are added as soon as they are announced.
How far ahead does the data go?
Payment rails and most exchanges: 2000–2040. Countries: 2010–2040 (a few have shorter coverage, shown on each calendar page). Requests outside coverage return a clear error rather than a silently wrong answer.
Do you support AI agents?
Yes. Bankday ships a remote MCP server at /mcp. Add it to Claude, Cursor or any MCP client with your API key and the model can compute business days and settlement dates instead of guessing.
What happens if I go over my plan?
Free accounts stop at 1,000 requests until the next month. Paid plans never stop: extra requests are billed per 1,000 at your plan's overage rate.
Get a free API key
1,000 requests/month free. No credit card. Your key appears instantly.