School holidays
GET
/v1/holidays/schoolSchool holidays for France and the Netherlands by region and zone, each with its first and last day off, from today to a year on unless a range is given.
On every plan, Free includedKey requiredJSON or CSVCached until the next release
Parameters
| Name | Type | Description |
|---|---|---|
| countryoptional | string query | One or more ISO codes, comma separated e.g. CL,BA,AT |
| regionoptional | string query | A region or zone by name, as it comes back in region or zone e.g. midden |
| fromoptional | period query | First period to return e.g. 2025-01 |
| tooptional | period query | Last period to return e.g. 2026-08 |
| limitoptional | integer query | Rows per page, 1 to 1000 e.g. 100 |
Request
# School holidays by region
curl "https://api.tourismapi.com/v1/holidays/school?country=NL&from=2027-02" \
-H "X-API-Key: $TOURISM_API_KEY"const res = await fetch("https://api.tourismapi.com/v1/holidays/school?country=NL&from=2027-02", {
headers: { "X-API-Key": process.env.TOURISM_API_KEY }
});
if (!res.ok) throw new Error(`Tourism API ${res.status}`);
const { meta, data } = await res.json();
console.log(meta.data_as_of, data);import os, requests
r = requests.get(
"https://api.tourismapi.com/v1/holidays/school?country=NL&from=2027-02",
headers={"X-API-Key": os.environ["TOURISM_API_KEY"]},
timeout=10,
)
r.raise_for_status()
body = r.json()
print(body["meta"]["data_as_of"], body["data"])$ch = curl_init("https://api.tourismapi.com/v1/holidays/school?country=NL&from=2027-02");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-API-Key: " . getenv("TOURISM_API_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
print_r($body["data"]);
Example response
{
"meta": {
"request_id": "req_99773e4f74",
"data_as_of": "2026-11-07T04:51:48Z",
"count": 11,
"countries_held": [
"AT",
"DE",
"ES",
"FR",
"IT",
"NL"
],
"from": "2027-02-01",
"to": "2028-02-01",
"note": "first_day and last_day are both days off, in local dates. A holiday is returned when any of its days falls in the range."
},
"data": [
{
"country": "NL",
"region": "zuid",
"zone": null,
"name": "Voorjaarsvakantie",
"name_en": "Spring holidays",
"school_year": "2026-2027",
"first_day": "2027-02-13",
"last_day": "2027-02-21",
"days": 9
},
{
"country": "NL",
"region": "midden",
"zone": null,
"name": "Voorjaarsvakantie",
"name_en": "Spring holidays",
"school_year": "2026-2027",
"first_day": "2027-02-20",
"last_day": "2027-02-28",
"days": 9
},
{
"country": "NL",
"region": "noord",
"zone": null,
"name": "Voorjaarsvakantie",
"name_en": "Spring holidays",
"school_year": "2026-2027",
"first_day": "2027-02-20",
"last_day": "2027-02-28",
"days": 9
}
]
}Response fields
| Field | Type | Example |
|---|---|---|
| country | string | NL |
| region | string | zuid |
| zone | null | null |
| name | string | Voorjaarsvakantie |
| name_en | string | Spring holidays |
| school_year | string | 2026-2027 |
| first_day | string | 2027-02-13 |
| last_day | string | 2027-02-21 |
| days | number | 9 |