Free events calendar for your website

Pick your city and what to show, copy the code, paste it into your site. A live list, calendar and map of local events. Free — no account, no API key.

1 · Where
Several cities or a region
AZ
CA
CO
CT
DC
FL
GA
IA
ID
IL
IN
LA
MA
MD
ME
MI
MN
MO
NC
NE
NH
NJ
NV
NY
OH
OK
OR
PA
RI
SC
TN
TX
UT
VA
VT
WA
WI
UK

2 · What to show
More options
3 · How it looks
Advanced

Your code

Where do I paste this?
  • WordPress — add a Custom HTML block where the calendar should go.
  • Squarespace — add a Code block (Business plan or higher).
  • Wix — Add → Embed code → Embed HTML, then paste it as code.
  • Webflow — drag in an Embed element.
  • Anything else — paste it into the page's HTML. Stuck? We'll help.

Or start from an example

Copy one as it is, or press Customize to load it into the builder above.

Reference

Every data-* attribute
AttributeValuesNotes
data-widgetliterary-new-england · literary-new-england-authors · new-england · free-this-weekend · live-music · familyA catalog preset. Explicit attributes override it.
data-cityboston · boston,providence,hartfordOne city, or a comma list of up to 25. Defaults to Boston.
data-venueA venue id (from its findlocal.community/venue/… page)Only that venue's events — your own calendar on your own site. Pair it with the venue's data-city.
data-regionnew-england · uk-irelandA named group of cities. Wins over data-city.
data-catComma list of category slugsPins the calendar to those categories (the category chips disappear).
data-authors1Only events with a known author on the bill.
data-whentoday · tomorrow · weekend · week · monthOpening date window. Default: everything upcoming.
data-from, data-toYYYY-MM-DDA fixed window — a festival week, a season. Wins over data-when.
data-free1Free events only.
data-filtersoffHides the visitor filter toolbar. Visitors can also collapse it themselves.
data-near, data-radius<lat>,<lng> · km (1–200)Open on a proximity search around a point, e.g. your shop. Default radius 25 km.
data-viewlist · calendar · map · compact · stripOpening view. The calendar pages six months ahead. compact (a short sidebar list, 5 events) and strip (a row of thumbnails, 8) are small placements for the rest of your site: no filters.
data-morehttps://your-site/eventsYour full events page. compact and strip show "See all events" and open a clicked event there.
data-seoon · offschema.org Event data for these events on your page, for search engines. On for list/calendar/map, off for compact/strip (so a sidebar on every page does not repeat it).
data-themeauto · light · darkauto follows the visitor's OS.
data-limit1–300Rows in the list view (default 100). The calendar is not limited by it.
data-heightPixelsHeight before the calendar reports its real one (default 320).
data-max-heightPixels · noneThe calendar grows with its content up to this, then scrolls inside itself (default: 85% of the visitor's window, 420–900 px). none = always grow.
data-partnerShort idNames your site in our referral stats (utm_content on the in-frame credit link).
How it works
  • widget.js (~2 KB, no dependencies) inserts an <iframe> after the script tag. Styles never leak either way; several calendars on a page work independently.
  • The frame sizes itself over postMessage, up to a height cap (data-max-height); past it the calendar scrolls inside itself, so a long list never stretches your page and opening an event never leaves the visitor scrolled past it. Filtering re-renders inside the frame — your page never reloads.
  • No cookies, no tracking. geolocation is delegated only for the "Use my location" button, and not at all with data-filters="off".
  • Server-rendered and cached 20 minutes at the edge. Listings refresh daily.
  • Search engines: the frame itself is not indexed, so the script also adds schema.org Event data for the listed events to your page, each pointing at your page. Turn it off with data-seo="off".
  • Visitors stay on your site. Clicking an event opens its details inside the calendar: date, venue, description, add-to-calendar, and a button to the venue's own ticket or event page (new tab). The open event is kept in your page's address as #fl-event=…, so it can be shared.
  • The "Powered by FindLocal" line sits on your page, just under the frame. The code includes it so it works without JavaScript; restyle it freely (keep it right after the script tag), just keep it visible.
Terms
  • Free for any site. Keep the "Powered by FindLocal" credit line that comes with the code visible (the calendar adds it if you leave it out).
  • Event details come from venue calendars — confirm with the venue. See the terms.
  • Run a venue we list? Open its page on findlocal.community and use "Embed this venue's calendar" — the builder opens with only your events (data-venue).
  • Heavy traffic, a custom preset, or a calendar built to match your site? Tell us what you need.

FAQ

How do I add an events calendar to my website?

Build one above, press Copy code and paste it where the calendar should appear. It works on any site that accepts HTML: WordPress, Squarespace, Wix, Webflow, Ghost, or hand-written pages.

Is the calendar really free?

Yes. No API key, no account, no limit on page views. Keep the small "Powered by FindLocal" credit visible under it.

Can it show only my venue's events?

Yes. Pin a venue with data-venue (venue pages link here with it preselected) and the calendar becomes that venue's own calendar.

Which places are covered?

85 cities in the US and the UK. One calendar can cover a city, a list of up to 25, a region like New England, or everything near a point.

Does it help my SEO?

The script adds schema.org Event data for the listed events to your page, each pointing back at your page, so search engines can show them. Turn it off with data-seo="off".

More: how the calendars work, the local events API and the events MCP server.

Need the raw data instead? Create a free API key. Want a calendar built to match your site? Get a quote.