Api Endpoint

2s

List the official holidays for a country and year, with exact observed dates including substitute days (e.g. a Saturday July 4th observed on Friday). Query: country (ISO 3166-1 alpha-2, 200+ supported), year, optional region (subdivision code like CA for US-California or BY for DE-Bavaria), optional types filter (public, bank, school, optional, observance — comma-separated), optional lang (ISO 639-1) for localized names. Returns one item per holiday: { date (YYYY-MM-DD), name, type, substitute, rule }. Dates are computed from maintained per-country rules — including movable feasts and lunar-calendar holidays — so they stay correct year over year. Use for scheduling, delivery estimates, payment terms, and SLA math.

Open interactive test console

Offering

Provider
2s.io
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
General Utilities
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://2s.io/api/calendar/holidays
MIME type
application/json
First seen
2026-10-16T01:54:06.400Z
Last seen
Tags
public-records, identifiers, AI-agents, us-gov-data, X402, upto-billing, ai-gateway, agent-infrastructure

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.0025 USDC
Atomic price: 2500 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.0025 USDC
Atomic price: 2500 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "2500",
    "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "2500",
    "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn"
  }
]

Observed health

Status
Healthy
Latest latency
97 ms
Average latency
551 ms
HTTP status
402
Last checked
Reachability
100% over 13 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "const": "http"
    },
    "method": {
      "const": "GET"
    },
    "queryParams": {
      "properties": {
        "country": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, JP."
        },
        "year": {
          "type": "string",
          "description": "Calendar year, e.g. 2026."
        },
        "region": {
          "type": "string",
          "description": "Optional subdivision code, e.g. CA (US-California), BY (DE-Bavaria)."
        },
        "types": {
          "type": "string",
          "description": "Optional comma-separated filter: public, bank, school, optional, observance."
        },
        "lang": {
          "type": "string",
          "description": "Optional ISO 639-1 language for holiday names."
        }
      },
      "required": [
        "country",
        "year"
      ]
    }
  },
  "required": [
    "type",
    "method",
    "queryParams"
  ]
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "const": "http"
        },
        "method": {
          "const": "GET"
        },
        "queryParams": {
          "properties": {
            "country": {
              "type": "string",
              "description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, JP."
            },
            "year": {
              "type": "string",
              "description": "Calendar year, e.g. 2026."
            },
            "region": {
              "type": "string",
              "description": "Optional subdivision code, e.g. CA (US-California), BY (DE-Bavaria)."
            },
            "types": {
              "type": "string",
              "description": "Optional comma-separated filter: public, bank, school, optional, observance."
            },
            "lang": {
              "type": "string",
              "description": "Optional ISO 639-1 language for holiday names."
            }
          },
          "required": [
            "country",
            "year"
          ]
        }
      },
      "required": [
        "type",
        "method",
        "queryParams"
      ]
    }
  },
  "required": [
    "input"
  ]
}