Business Days & Holidays Calculator avatar

Business Days & Holidays Calculator

Pricing

$0.40 / 1,000 calculation requests

Go to Apify Store
Business Days & Holidays Calculator

Business Days & Holidays Calculator

Count business days, add/subtract working days, check dates and list public holidays for 200+ countries and their states/regions, with custom weekends and company holidays. Batch, fast, no scraping.

Pricing

$0.40 / 1,000 calculation requests

Rating

0.0

(0)

Developer

Arman

Arman

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Count business days, add or subtract working days, check whether a date is a business day, and list public holidays. It covers 251 countries and territories and 628 states/regions (US states, UK nations, German Länder, Canadian provinces, Australian states and more). Send thousands of calculations in one run.

It uses the open-source holidays dataset. Observed substitute days are handled, e.g. Friday when July 4 falls on a Saturday. No scraping and no external API calls, so it's fast and deterministic.

Operations

operationFieldsReturns
business_days_betweenstartDate, endDate (+ includeStartDate, includeEndDate)businessDays, calendarDays, weekendDays, holidaysOnWorkdays, holidays
add_business_daysdate, days (negative to subtract)resultDate, resultWeekday, holidaysSkipped
is_business_daydateisBusinessDay, reason
list_holidaysyearcount, holidayList
next_business_day / previous_business_daydate (+ inclusive)resultDate

Options apply to all requests and can be overridden in each request:

  • country, which is an ISO 3166-1 alpha-2 code
  • subdivision, e.g. NY, CA, ENG, SCT, BY
  • weekend, e.g. ["FRI","SAT"]
  • extraHolidays for company shutdown days
  • observedHolidays

Example input

{
"country": "US",
"requests": [
{"operation": "business_days_between", "startDate": "2026-11-01", "endDate": "2026-11-30"},
{"operation": "add_business_days", "date": "2026-12-23", "days": 3},
{"operation": "is_business_day", "date": "2026-07-03"},
{"operation": "next_business_day", "date": "2026-12-24", "country": "GB", "subdivision": "ENG"},
{"operation": "list_holidays", "year": 2026, "subdivision": "NY"}
]
}

Example output

{"operation": "add_business_days", "country": "US", "resultDate": "2026-12-29", "resultWeekday": "Tuesday",
"holidaysSkipped": [{"date": "2026-12-25", "reason": "holiday: Christmas Day"}], "error": null}

You get one dataset item per request. An invalid request returns an error message instead of failing the whole run, and errored requests are free.

Safety circuit breaker

To avoid wasting your compute on a broken batch, a run stops early after 5 consecutive errored requests or when more than 50% of the last 20 requests fail. Remaining requests are skipped and not charged, and the last dataset row (operation: "circuit_breaker", status: "paused") explains why. Fix the inputs and run again. Unexpected internal errors (errorType: "internal") also pause new runs in your account for 10 minutes (retryAfter). After that, the next run is a trial: it resets the breaker if it succeeds and pauses again if it fails. Input mistakes never cause that cooldown. You can tune or disable the breaker with the advanced circuitBreaker input field.

Conventions

  • business_days_between counts both ends by default, like Excel NETWORKDAYS. The result is negative if endDate is before startDate.
  • add_business_days doesn't count the start date, like Excel WORKDAY. days: 0 returns the date unchanged.

Pricing

$0.40 per 1,000 requests: you pay per successful result row, with no monthly subscription. Requests that return an error are not charged.

Limitations

  • Public and bank holidays only. Ad-hoc closures, such as government-declared extra days, appear only after the holiday dataset is updated.
  • Religious holidays based on lunar calendars are calculated and can differ by a day from local announcements.
  • Stock-exchange and financial-market calendars are not included.