Holidays by month
GET
/v1/holidays/matrixEvery country against the twelve months of a year: how many national holidays fall in each month, and the year's total.
On every plan, Free includedKey requiredJSON or CSVCached until the next release
Parameters
| Name | Type | Description |
|---|---|---|
| yearoptional | integer query | Calendar year e.g. 2026 |
| limitoptional | integer query | Rows per page, 1 to 1000 e.g. 100 |
| cursoroptional | string query | The next value from the previous page |
Request
# National holidays per country per month
curl "https://api.tourismapi.com/v1/holidays/matrix" \
-H "X-API-Key: $TOURISM_API_KEY"const res = await fetch("https://api.tourismapi.com/v1/holidays/matrix", {
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/matrix",
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/matrix");
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_acbdf32530",
"data_as_of": "2026-10-21T17:42:32Z",
"count": 247,
"year": 2026,
"months": "national holidays (distinct dates) in January to December, in order"
},
"data": [
{
"iso": "AF",
"name": "Afghanistan",
"months": [
0,
0,
0
],
"total": 14
},
{
"iso": "AL",
"name": "Albania",
"months": [
0,
5,
3
],
"total": 23
},
{
"iso": "DZ",
"name": "Algeria",
"months": [
0,
1,
0
],
"total": 14
}
]
}Response fields
| Field | Type | Example |
|---|---|---|
| iso | string | AF |
| name | string | Afghanistan |
| months | array | 3 items |
| total | number | 14 |