77trust / 100

Calendar Business Days

by toolvend.dev in Productivity & SaaS

x402 APIPassing, checked 2 h ago

Add/subtract, count or find business days across countries and subdivisions; list public holidays. Bundled 2024–2030 calendars, inclusive ranges, explicit weekends and closures, source attribution and coverage warnings. See /calendar/coverage.

POST https://toolvend.dev/calendar/business-days

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
384 ms typical, 685 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://toolvend.dev/calendar/business-days" \
  -H "content-type: application/json" \
  -d '{"countries":["GB-ENG","DE-BY"],"end":"2027-01-07","operation":"intersection","start":"2027-01-01"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ftoolvend.dev%2Fcalendar%2Fbusiness-days
const res = await pay("https://toolvend.dev/calendar/business-days", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"countries":["GB-ENG","DE-BY"],"end":"2027-01-07","operation":"intersection","start":"2027-01-01"}),
});
console.log(await res.json());

Example input

{
  "countries": [
    "GB-ENG",
    "DE-BY"
  ],
  "end": "2027-01-07",
  "operation": "intersection",
  "start": "2027-01-01"
}

Example output

{
  "asOf": "2026-09-30",
  "coverage": {
    "authoritative": false,
    "countries": [
      {
        "availableYears": [
          2024,
          2025,
          2026,
          2027,
          2028,
          2029,
          2030
        ],
        "emptyYears": [],
        "key": "GB-ENG",
        "name": "England",
        "scope": "subdivision"
      },
      {
        "availableYears": [
          2024,
          2025,
          2026,
          2027,
          2028,
          2029,
          2030
        ],
        "emptyYears": [],
        "key": "DE-BY",
        "name": "Bayern",
        "scope": "subdivision"
      }
    ],
    "end": "2030-12-31",
    "holidayTypes": [
      "public"
    ],
    "start": "2024-01-01"
  },
  "holidays": [
    {
      "country": "GB-ENG",
      "date": "2027-01-01",
      "names": [
        "New Year's Day"
      ]
    },
    {
      "country": "DE-BY",
      "date": "2027-01-01",
      "names": [
        "New Year's Day"
      ]
    },
    {
      "country": "DE-BY",
      "date": "2027-01-06",
      "names": [
        "Epiphany"
      ]
    }
  ],
  "input": {
    "additionalClosures": [],
    "countries": [
      "GB-ENG",
      "DE-BY"
    ],
    "end": "2027-01-07",
    "operation": "intersection",
    "start": "2027-01-01",
    "weekend": [
      6,
      7
    ]
  },
  "operation": "intersection",
  "result": {
    "count": 3,
    "date": null,
    "dates": [
      "2027-01-04",
      "2027-01-05",
      "2027-01-07"
    ]
  },
  "source": {
    "asOf": "2026-09-30",
    "attribution": "Python holidays contributors; see /calendar/coverage for the original licence and country-directory attribution.",
    "changes": "Public and observed holiday rules compiled into civil dates for 2024–2030 for all supported country/subdivision keys.",
    "license": "MIT",
    "licenseUrl": "https://github.com/vacanza/holidays/blob/v0.105/LICENSE",
    "name": "Python holidays",
    "url": "https://github.com/vacanza/holidays",
    "version": "[email protected]"
  },
  "trace": [
    {
      "date": "2027-01-01",
      "reasons": [
        "holiday:GB-ENG",
        "holiday:DE-BY"
      ],
      "working": false
    },
    {
      "date": "2027-01-02",
      "reasons": [
        "weekend"
      ],
      "working": false
    },
    {
      "date": "2027-01-03",
      "reasons": [
        "weekend"
      ],
      "working": false
    },
    {
      "date": "2027-01-04",
      "reasons": [],
      "working": true
    },
    {
      "date": "2027-01-05",
      "reasons": [],
      "working": true
    },
    {
      "date": "2027-01-06",
      "reasons": [
        "holiday:DE-BY"
      ],
      "working": false
    },
    {
      "date": "2027-01-07",
      "reasons": [],
      "working": true
    }
  ],
  "warnings": [
    "Community-maintained calendar rules are not authoritative. Local, employer, bank-only and emergency closures may be missing. Moon-sighting dates can differ. Verify critical schedules with the relevant

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402246 ms$0.01
6 h agoPassed402375 ms$0.01
10 h agoPassed402222 ms$0.01
13 h agoPassed402634 ms$0.01
17 h agoPassed402617 ms$0.01
21 h agoPassed402384 ms$0.01
24 h agoPassed402685 ms$0.01
29 h agoPassed402745 ms$0.01