# OpenHolidays school holidays

School holiday periods of one country between two dates (at most 1,095 days apart, 400 otherwise): start and end dates, name, and the subdivisions or school. Needs country, date from and date to.

School holiday periods of one country between two dates (at most 1,095 days apart, 400 otherwise): start and end dates, name, and the subdivisions or school zones concerned (e.g. French zones FR-ZA, FR-ZB, FR-ZC). Same countries as openholidays/public-holidays; BR, LV, SE and VA had no school data for 2026, and countries outside the list return an empty list. Pass subdivision to narrow a federal country (Switzerland and Germany return over 100 periods a year). Use for travel, retail and family-audience campaign timing.

- Tool ID: `openholidays/school-holidays`
- Provider: [OpenHolidays](/providers/openholidays.md)
- Capability: [Knowledge & research](/tools/knowledge.md)
- Price: no charge per call
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

No charge per call. A workspace is still needed so your agent can call it.


```json
{
  "model": "per_call",
  "amountUsd": 0
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO 3166-1 alpha-2 country code, e.g. 'FR'"
    },
    "date_from": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
      "description": "First day, e.g. '2026-01-01'"
    },
    "date_to": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
      "description": "Last day, at most 1,095 days after date_from, e.g. '2026-12-31'"
    },
    "subdivision": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}-[A-Za-z0-9-]{1,20}$",
      "description": "Only periods valid in this subdivision, e.g. 'DE-BY'"
    },
    "language": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "default": "EN",
      "description": "ISO 639-1 language of the names, e.g. 'EN'"
    }
  },
  "required": [
    "country",
    "date_from",
    "date_to"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "openholidays/school-holidays",
  "input": {
    "country": "DE",
    "date_from": "2026-01-01",
    "date_to": "2026-12-31",
    "subdivision": "DE-BY"
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

Licence: ODbL 1.0.

Attribution: Holiday data from the OpenHolidays API project (openholidaysapi.org), ODbL.

[Provider documentation](https://www.openholidaysapi.org/en/)

[REST inspection](https://api.agentik.cc/v1/tools/openholidays/school-holidays) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/openholidays/school-holidays) · [Agent index](/llms.txt)
