Holiday calendars & website widgets
In Festivo, your team can turn holiday data into named calendars, published snapshots, and customer-ready pages — without exposing full API keys on the web.
Holiday calendars
- Create calendars for things like “EMEA payroll” or “US trading”.
- Add countries and years, preview the merged list, optionally rename how a few holidays read.
- Publish so apps, exports, and embeds all point at the same frozen snapshot. Compare two publishes when you need a diff.
- Custom days: mark a date as a blackout or force it working; they flow through previews, feeds, and working-day logic.
- Profile: pick time zone, calendar type (holidays vs business flavour), and optional work hours for overlap tools.
- Business time lab: open
/calendars/{id}/business-timein the app to try working-day checks and related maths on your latest publish — read-only, nothing saves.
Calendar count follows your plan (Pricing).
Public pages & embeds
With a unique slug, Festivo serves a read-only merged list on the portal:
/calendars/{slug}— short link (redirects to the branded URL when your org has a public slug)./o/{orgSlug}/calendars/{calendarSlug}— branded path for visitors.
Add /widget, /week, or /agenda for compact layouts you can iframe. For a script-based drop-in, use /embed/calendar-widget.js on the portal with data-calendar-slug, optional data-org-slug, and optional data-view (month | week | agenda).
On the list public page, use Subscribe in your calendar app to copy the HTTPS feed URL (same published merge as the page). Paste it into Apple Calendar, Google Calendar (“From URL”), or Outlook to keep the subscription updated when you publish a new version (clients poll on their own schedule).
Plans: anonymous public pages, embed consumption, and some exports need Growth or higher — see Pricing.
Website widgets
Widgets use scoped publish tokens so marketing and internal pages get read-only holiday JSON or ICS without pasting team API keys in the browser.
- Point a widget at a published calendar or a saved view.
- Allowlist domains; prefer Festivo’s hosted iframe or loader so the token stays out of your source repo.
- Theme colours, fonts, and date style in the portal, or pass one-off query overrides on the hosted URL.
Widget reads are counted separately from your core Public Holidays API daily allowance — see Pricing for caps (e.g. Explorer: widget reads vs API calls per UTC day).
Saved views
Saved views freeze Explorer / Playground filters so the team shares one lens — handy alongside widgets.
Get started
- Sign in to Festivo.
- Calendars → add countries → Publish.
- Widgets → new widget → pick version or saved view → allowlist domains → copy snippet.
API-only? Start with the Public Holidays API and Authentication.