← Viva Grafix · WorkStart a project →

FestivosAPI — Spain public-holidays JSON API, designed and built by Viva Grafix

Data product · API — Studio product, 2026
FestivosAPI

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.

festivos.dsl4.com
FestivosAPI — live site, designed and built by Viva Grafix
ProjectFestivosAPI — holidays data feed
ScopeData engineering · API design · Build
MarketDevelopers · HR · payroll
ModelFree tier (€0) · API plans €9 & €19/mo
YearEspaña · 2026

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.

What we designed & built

A boring API on top of heroic data work.

The product is deliberately dull to integrate — one key, one call, correct answers. The effort lives underneath.

01

Complete coverage

National → 17 CCAA → 8,132 municipios in one API — the level of granularity Spanish payroll actually runs on.

02

Developer-first

An OpenAPI 3 spec, an llms.txt for AI agents, tiered rate limiting and API-key plans from €9–19/mo.

03

It maintains itself

Unattended quarterly and annual refresh crons re-parse the gazettes, so next year’s data arrives without anyone remembering to fetch it.

FestivosAPI — per-region local fiesta coverage bars with accounted and complete states
The coverage board we built — every Spanish region's local fiestas accounted for, with the live /v1/coverage endpoint behind it.
The tech

Under the hood.

Gazette PDFs and provincial bulletins in, deterministic JSON out.

Cloudflare Worker (zero deps)D1WebCrypto Stripe (no SDK)SSR pagesCron Triggers
01

Name→INE exact matching

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.

02

Zero-dependency edge

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.

03

Trustworthy plumbing

Tiered rate limiting, bilingual RGPD-correct legal pages, and 16 node test files guarding the parsers and the API surface.

On the work · Viva Grafix, 2026

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.

Viva Grafix · Tenerife · 2026