National + regional (CCAA) + municipio-level fiestas patronales as one clean JSON feed. Built for payroll, HR, and scheduling software that needs to know: is this a working day in this specific town?
Get a free key instantly (no signup form, no email required):
curl -s -X POST https://festivos.dsl4.com/v1/signup
Then call the API with it:
curl -s "https://festivos.dsl4.com/v1/is-holiday?date=2026-05-15&municipio=28079" \ -H "X-API-Key: YOUR_KEY"
Try it right now with the public demo key (tight rate limit, for evaluation only):
curl -s "https://festivos.dsl4.com/v1/is-holiday?date=2026-05-15&municipio=28079" \ -H "X-API-Key: demo_key_festivos_2026"
/v1/holidays?municipio=&year=
Every holiday (national + regional + island + local) that applies to a municipio in a given year.
/v1/is-holiday?date=&municipio=
Is this exact date a holiday for this municipio? Returns matches + a local_coverage honesty flag.
/v1/next?municipio=&from=
The next upcoming holiday for a municipio (defaults from to today).
/v1/municipios?q=&ccaa=&province=
Search the full 8,000+ municipio registry by name/region -- to find an INE code.
/v1/ccaa · GET/v1/coverage
Reference data + the local-coverage honesty ledger below. No API key required.
/v1/signup
Instant free-tier API key, JSON response, no email required.
municipio accepts either a 5-digit INE code (e.g. 28079 = Madrid) or an
exact/prefix name match (e.g. San Cristóbal de La Laguna).
The moat is fiestas patronales at municipio granularity. National + all 19 regional calendars are 100% complete. Local (municipio) data is real, sourced from each region's official open-data portal where one exists -- we do not claim full national local coverage. Galicia and Región de Murcia are complete; several regions (Comunitat Valenciana outside Castellón, Cantabria, La Rioja, and -- notably -- Canarias, where no open-data feed exists and data is curated from the official gazette) are partial or not yet loaded. See /v1/coverage for the live, machine-readable version of this table.
| Region | Municipios covered | Status |
|---|---|---|
| Castilla y León | 2070/2248 | partial |
| Cataluña | 909/947 | partial |
| Aragón | 566/731 | partial |
| Galicia | 313/313 | complete |
| Comunidad de Madrid | 165/179 | partial |
| Canarias | 87/88 | partial |
| Región de Murcia | 45/45 | complete |
| Andalucía | 0/785 | none |
| Principado de Asturias | 0/78 | none |
| Illes Balears | 0/67 | none |
| Cantabria | 0/102 | none |
| Castilla-La Mancha | 0/919 | none |
| Extremadura | 0/388 | none |
| Comunidad Foral de Navarra | 0/272 | none |
| País Vasco | 0/252 | none |
| La Rioja | 0/174 | none |
| Comunitat Valenciana | 0/542 | none |
| Ciudad de Ceuta | 0/1 | none |
| Ciudad de Melilla | 0/1 | none |
Already have a free key? Append
?client_reference_id=YOUR_KEY to the Payment Link before checkout to upgrade that
same key instead of minting a new one.