Business days between two dates

Count the business days between two dates for a country or subdivision, and list the public holidays skipped.

CHF 0.002 / callCall itTry it
Portable diptych sundial, 1518
Portable diptych sundial1518

Details

Covers: public holidays 2000–2035 for CH (all 26 cantons), DE (16 states), AT (9 states), FR, IT, LI, GB, ES, US (states) and 23 more European countries.

Does not cover: half days, bank-only or school holidays. Add company closing days with closed_dates.

Counting: the start date is excluded and the end date included, like counting "days after". If to is before from, the count is negative.

Price: CHF 0.002 per call (first 100 calls per day free).

Example: {"from":"2026-12-23","to":"2027-01-05","region":"CH-ZH"} → 7 business days, skipping Christmas Day, Saint Stephen's Day and New Year's Day.

Call it

REST
curl -X POST https://api.tausendwerk.xyz/v1/business-days \
  -H "Content-Type: application/json" \
  -d '{"from":"2026-12-23","to":"2027-01-05","region":"CH-ZH"}'
MCP tool name
business_days

After the free 100 calls per day, add a key: Authorization: Bearer tw_live_…. Pricing

Try it

Runs against the live API with the free allowance.

Input schema JSON Schema
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "from",
    "to",
    "region"
  ],
  "properties": {
    "from": {
      "type": "string",
      "format": "date",
      "description": "ISO date, YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "format": "date",
      "description": "ISO date, YYYY-MM-DD"
    },
    "region": {
      "type": "string",
      "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
      "description": "Country code (CH, DE, AT, FR, IT, LI, GB, US, ES and 23 more EU/EEA codes) or subdivision: CH-ZH, DE-BY, AT-9, GB-SCT, US-CA, FR-57"
    },
    "weekend": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 7
      },
      "uniqueItems": true,
      "maxItems": 6,
      "default": [
        6,
        7
      ],
      "description": "ISO weekdays that are not working days. 1 = Monday, 7 = Sunday."
    },
    "closed_dates": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "date",
        "description": "ISO date, YYYY-MM-DD"
      },
      "maxItems": 366,
      "description": "Extra closed days, such as company holidays."
    }
  },
  "examples": [
    {
      "from": "2026-12-23",
      "to": "2027-01-05",
      "region": "CH-ZH"
    }
  ]
}

More in Dates and deadlines