Free concert agenda widget

Put a live concert agenda on your site — in one line

Tourspider tracks every upcoming concert and festival in the Netherlands and Belgium. Embed that agenda on your own website, filtered to your city, venue or genre — always up to date, on brand, and free. No database, no maintenance, no API keys.

The deal: €0 forever

A fully hosted, self-updating concert agenda for your audience. In exchange you keep one small “powered by Tourspider” link visible. That’s the whole contract.

  • You get: a beautiful, real-time agenda widget — filtered however you like.
  • We get: one credit link back to Tourspider on your page.
  • Setup: about 60 seconds — paste one <script> tag.
  • Ongoing work: none. New shows appear automatically.

What it is

The Tourspider Agenda Widget is a small, embeddable block that shows a chronological list of upcoming live-music events — grouped by day, with artist, venue, city, genre and date/time. Each show links through to its full page on Tourspider.

You decide which shows it displays: all of them, or narrowed to a single city, a specific venue, a genre, or a search term. It renders in Tourspider’s look (dark or light), is fully responsive, and resizes itself to fit your layout.

Why embed it

Fresh content, zero effort

Your agenda is always current. We add new concerts the moment they’re announced; your page updates with no work from you.

Keeps visitors longer

A living events list gives people a reason to come back. More engagement, a stickier site.

Hyper-relevant

Filter to your city, venue or genre so the agenda matches your audience exactly.

Truly one line

No CMS plugin, no backend, no API key, no cron jobs. Paste one tag and you’re done.

On brand, responsive

Dark or light theme, fluid width, auto height. Looks at home in a sidebar or full-width.

Free, forever

No fees, no tiers. The only cost is keeping the credit link, which also helps your visitors discover more shows.

How it works

You add one <script> tag. That script does two things:

  1. Inserts the agenda as a style-isolated iframe that auto-sizes to its content (no inner scrollbar).
  2. Adds a small “Concertagenda powered by Tourspider” link into your page, just under the agenda — a real, crawlable backlink.

Quick start

Paste this where you want the agenda to appear. That’s the entire installation:

<script async src="https://www.tourspider.nl/embed.js"
  data-city="amsterdam"
  data-genre="metal"
  data-theme="dark"
  data-lang="en"></script>

Want everything, unfiltered? Just drop the filter attributes:

<script async src="https://www.tourspider.nl/embed.js"></script>

You can place several widgets on one page (e.g. one per city) — each runs independently.

Configuration options

All options are plain HTML data-* attributes on the <script> tag. Every one is optional.

AttributeValuesWhat it does
data-citycity slug (e.g. amsterdam)Show only events in this city.
data-genregenre slug (e.g. metal)Show only events in this genre group.
data-venuetextShow only events at venues whose name contains this text.
data-qtextFree-text filter on the artist or event title (incl. support acts).
data-limit1–50 (default 10)How many upcoming shows to display.
data-themedark · light (default dark)Colour scheme of the widget.
data-langnl · en · de (default nl)Interface language (day labels, badges).
data-titletextOptional heading rendered above the list.
data-heightnumber px (default 600)Initial iframe height before auto-resize.

Slugs are the lowercase, dash-separated form used in Tourspider URLs — the last part of the URL is the slug. An unknown slug simply shows an empty list rather than erroring.

Browse city slugs · Browse genre slugs

Prefer your own design? Use the JSON API

Fetch the same data as JSON and render it in your own templates and CSS. This is also the most SEO-friendly option, because your event links live directly in your page’s HTML. Keep the “powered by Tourspider” credit link the response provides.

GET https://www.tourspider.nl/api/public/agenda?city=amsterdam&genre=metal&limit=10&lang=en
  • CORS is open (Access-Control-Allow-Origin: *) — call it straight from the browser.
  • Responses are cacheable for 5 minutes; the rate limit is ~120 requests per minute per IP plus a burst guard.
  • Query params mirror the widget: q, city, genre, venue, limit, lang.

What you need to do

  1. Add the snippet (or call the API) on a public, HTTPS web page.
  2. Keep the credit link visible. The widget adds “Concertagenda powered by Tourspider” automatically — please don’t hide or remove it.
  3. Don’t scrape at scale. The data is for display to your visitors. Respect the rate limit; cache rather than hammer.

Technical details

DeliveryOne async script from /embed.js (a few KB, no dependencies). It injects an <iframe> pointing at /{lang}/embed/agenda.
Auto-resizeThe iframe posts its height to the parent via postMessage; the loader verifies the origin and sizes the frame to fit. No inner scrollbar.
FramingThe embed route is served without X-Frame-Options and with frame-ancestors *, so it can be embedded on any domain. The rest of the site stays frame-protected.
IsolationThe widget runs inside an iframe, so its CSS/JS can never collide with your page, and vice-versa.
SEOThe embed page is noindex; the credit link sits in your page’s HTML so it is a normal, crawlable backlink.
PrivacyNo cookies are set by the widget and it asks for no permissions. Event clicks open Tourspider in a new tab.
Anti-scrapingNo pagination (max 50 upcoming shows per call) and per-IP burst + sustained rate limits on both the widget and the API.
API limits~120 req/min per IP plus a burst guard; 5-minute cache; open CORS; GET and OPTIONS only.

Plain iframe (no script)

If your CMS blocks <script> tags, embed the frame directly. You lose automatic height and the in-page credit link, so please add a credit link yourself:

<iframe src="https://www.tourspider.nl/en/embed/agenda?city=amsterdam&limit=10&theme=dark"
  style="width:100%;border:0;height:700px" loading="lazy" title="Concertagenda"></iframe>

FAQ

Is it really free?
Yes. There’s no fee and no usage tier. We just ask you to keep the credit link.
Will it slow my page down?
No. The script is tiny and loads async; the iframe loads lazily. It never blocks your page from rendering.
Can I style it to match my site?
You can pick a dark or light theme. For full control over markup and styling, use the JSON API and render it yourself.
What if there are no matching shows?
The widget shows a tidy “no upcoming concerts yet” message rather than an empty box or an error.
Can I show multiple cities on one page?
Yes — add multiple snippets, each with its own filters. They run independently.
Where does the data come from?
From Tourspider’s live event database — the same source as the public agenda. New shows appear automatically; past shows drop off.

Contact

Questions, a custom integration, or want to be featured as a launch partner?