The business-day API

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.

279calendars
119,971holiday records
2000–2040rail & exchange coverage
<50 msserved from 300+ edge locations

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?

Fintech & payments

ACH effective dates, payout ETAs shown to customers, retry scheduling, cut-off messaging.

Payroll & HR

Pay-date shifting when payday lands on a bank holiday, in every country you employ people.

Lending & billing

Due dates, grace periods, late-fee eligibility and autopay pull dates that don't fall on closed days.

Trading & treasury

T+1 settlement, FX value dates, exchange trading days, coupon date adjustment.

Logistics & SaaS

SLA clocks and delivery promises counted in business days, per customer country.

AI agents

Give assistants a reliable tool for "what's 10 business days from today in Germany?"

Simple pricing that scales with usage

Free
$0/mo
1,000 requests/month included
Overage: Hard cap
  • All 279 calendars
  • All endpoints incl. FX & ACH
  • MCP server access
  • Community support
Start free
Developer
$19/mo
100,000 requests/month included
Overage: $0.25 per 1,000
  • Everything in Free
  • Usage-based overage, never cut off
  • Email support
Choose Developer
Scale
$399/mo
10,000,000 requests/month included
Overage: $0.04 per 1,000
  • Everything in Business
  • 99.9% uptime SLA
  • Bulk dataset export (CSV/JSON)
  • Invoice billing
Choose Scale

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.

Popular calendars