---
title: "Nager.Date public holidays: spec vs live"
date: 2026-10-30
canonical: https://apidrifter.com/research/public-api-spec-drift-2026-11/nager-date/
part_of: https://apidrifter.com/research/public-api-spec-drift-2026-11/
---

# Nager.Date public holidays: spec vs live

Part of [We checked 13 public APIs against their own OpenAPI specs. 9 had hard mismatches.](https://apidrifter.com/research/public-api-spec-drift-2026-11/).

## Summary

- Spec: https://date.nager.at/openapi/community-v3.json (OpenAPI 3)
- Base URL: `https://date.nager.at`
- Run: 2026-10-30, read-only GET requests, no credentials
- Coverage: 8 operations in the spec, 8 requests sent, 7 successful, 8 operations observed
- Hard violations: 0 distinct schema locations
- Reviewer note: One 502 on LongWeekend during the run; transient, not drift.

## Server errors (1)

5xx responses during the run; transient until reproduced.

- `undocumented-status` (server, breaking) at `GET /api/v3/LongWeekend/{year}/{countryCode} > response 502`
  - status 502 is not documented for "GET /api/v3/LongWeekend/{year}/{countryCode}"
  - Request: `GET /api/v3/LongWeekend/2024/US?availableBridgeDays=1 -> 502 text/html; charset=UTF-8`
  - Expected: `["200","404"]`
  - Actual: `502`
  - If the spec is the source of truth: Return one of the documented statuses (200, 404) from GET /api/v3/LongWeekend/{year}/{countryCode}.
  - If the implementation is the source of truth: Add a "502" response under paths["/api/v3/LongWeekend/{year}/{countryCode}"].get.responses.

## Data

- Findings: https://github.com/apidrifter/apidrifter/tree/main/tools/survey/results/nager-date.findings.json
- Requests sent: https://github.com/apidrifter/apidrifter/tree/main/tools/survey/results/nager-date.observations.json
- Tool: https://apidrifter.com/docs/cli/ (reproduce with apidrifter run; target definition in tools/survey/targets.json)
