Every Spanish public holiday — national, all 17 comunidades, down to each town’s fiestas patronales — as one clean JSON API for developers, HR and payroll.
Spain has 8,132 municipios. Every one has its own holidays.
National holidays are easy. The hard part is that every Spanish town adds its own fiestas patronales, published across a patchwork of official gazettes — and payroll, rotas and delivery promises break on exactly those days. FestivosAPI is the feed we wished existed: national plus all 17 comunidades autónomas plus municipio-level local holidays, served as a clean, versioned JSON API.
The moat is the dataset: all 8,132 municipios are 100% accounted for, 7,731 of them with real 2026 local-fiesta data, machine-parsed from the official BOE, BOC, DOGV and BOP gazettes.
The product is deliberately dull to integrate — one key, one call, correct answers. The effort lives underneath.
National → 17 CCAA → 8,132 municipios in one API — the level of granularity Spanish payroll actually runs on.
An OpenAPI 3 spec, an llms.txt for AI agents, tiered rate limiting and API-key plans from €9–19/mo.
Unattended quarterly and annual refresh crons re-parse the gazettes, so next year’s data arrives without anyone remembering to fetch it.
Gazette PDFs and provincial bulletins in, deterministic JSON out.
Local-holiday listings are machine-parsed from official gazettes and joined to the INE municipal registry through an exact name-matcher — the step that turns messy bulletins into a database you can bill for.
The entire product is one Cloudflare Worker with no runtime dependencies — Stripe is integrated over raw WebCrypto rather than an SDK, and pages are self-contained SSR.
Tiered rate limiting, bilingual RGPD-correct legal pages, and 16 node test files guarding the parsers and the API surface.
FestivosAPI is a data-engineering moat wearing a very plain jumper: the most complete Spanish holidays feed available, refreshed unattended, sold at a price a developer can expense without a meeting.