Search concerts and events with dates, venues and ticket availability.
Searches Eventim Germany for concerts, shows, comedy and sports events by artist, tour or keyword: event name, artist, date and time, venue, city, ticket availability, fan-resale flag, rating and the event page to buy tickets. Optional city and date range filters. Runs only in the user's browser: Eventim's Akamai rejects non-browser clients.
- Site
- Eventim, Germany
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- d58e6513ef8b…
Requests
sent from your browser, in order- 1GETpublic-api.eventim.com/websearch/search/api/exploration/v2/productGroups?language&page&search_term&webIdEventim's public search API (the site's own search widget). Cross-origin from www.eventim.de; CORS without credentials.
Parameters
from your agentcitystringOnly events in this city (text match, e.g. 'Köln', 'Hamburg')
date_fromstringOnly events on or after this date
date_tostringOnly events on or before this date
pageinteger = 1
querystringrequiredArtist, tour, show or keyword, e.g. 'Die Ärzte', 'Coldplay', 'Disney on Ice'
Returns
to your agenteventsobject[]artist, available, city, event, rating, rating_count, resale, start, status, tour, url, venue, zip
querystring
total_groupsintegerMatching artists/tours on Eventim
toursobject[]Matching artists/tours with their date range and number of events
Where it can send
- public-api.eventim.com
Anything else is blocked by the extension.
Reads from your session
Nothing. Your browser attaches the site's cookies by itself.
Used only in requests to the addresses on the left. Never sent to wield.run or your agent.
Checks
a run passes when- length(output.events) > `0`
- output.total_groups > `0`
- starts_with(output.events[0].url, 'https://www.eventim.de/')
- output.events[0].start != `null`
Raw recipe
Served as canonical JSON from /api/v1/recipes/eventim.de/search-events, so its sha256 matches the ETag and the index.
Check it yourself
curl -s https://wield.run/api/v1/recipes/eventim.de/search-events | shasum -a 256 # d58e6513ef8b099617f353b9698386ebb830e09a81cb4656e5c59892be3e913c
eventim.de/search-events.json, v1
{ "description": "Searches Eventim Germany for concerts, shows, comedy and sports events by artist, tour or keyword: event name, artist, date and time, venue, city, ticket availability, fan-resale flag, rating and the event page to buy tickets. Optional city and date range filters. Runs only in the user's browser: Eventim's Akamai rejects non-browser clients.", "effect": "read", "id": "eventim.de/search-events", "keywords": [ "eventim", "tickets", "konzert", "konzertkarten", "veranstaltungen", "tour", "comedy", "festival", "event", "concert", "concert tickets", "live music", "shows" ], "output": { "schema": { "properties": { "events": { "items": { "properties": { "artist": { "type": "string" }, "available": { "description": "Tickets on sale", "type": "boolean" }, "city": { "type": [ "string", "null" ] }, "event": { "type": "string" }, "rating": { "type": [ "number", "null" ] }, "rating_count": { "type": [ "integer", "null" ] }, "resale": { "description": "Official fan resale (fanSALE) offered", "type": "boolean" }, "start": { "description": "ISO 8601 with offset", "type": [ "string", "null" ] }, "status": { "type": "string" }, "tour": { "type": "string" }, "url": { "format": "uri", "type": "string" }, "venue": { "type": [ "string", "null" ] }, "zip": { "type": [ "string", "null" ] } }, "type": "object" }, "type": "array" }, "query": { "type": "string" }, "total_groups": { "description": "Matching artists/tours on Eventim", "type": "integer" }, "tours": { "description": "Matching artists/tours with their date range and number of events", "items": { "type": "object" }, "type": "array" } }, "required": [ "query", "events" ], "type": "object" }, "value": "let $c = lower(params.city || ''), $from = to_number(replace(params.date_from || '0', '-', '')), $to = to_number(replace(params.date_to || '99999999', '-', '')) in {query: params.query, total_groups: steps.search.total, tours: steps.search.groups, events: sort_by(steps.search.events[?($c == '' || contains(lower(city || ''), $c)) && to_number(replace(split(start || '0', 'T')[0], '-', '')) >= $from && to_number(replace(split(start || '99999999', 'T')[0], '-', '')) <= $to], &start || '')}" }, "params": { "additionalProperties": false, "properties": { "city": { "description": "Only events in this city (text match, e.g. 'Köln', 'Hamburg')", "maxLength": 60, "type": "string" }, "date_from": { "description": "Only events on or after this date", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "date_to": { "description": "Only events on or before this date", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "page": { "default": 1, "maximum": 10, "minimum": 1, "type": "integer" }, "query": { "description": "Artist, tour, show or keyword, e.g. 'Die Ärzte', 'Coldplay', 'Disney on Ice'", "maxLength": 100, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "browser-inspect", "notes": "spikes/eventim.md. public-api.eventim.com is Akamai-protected: curl gets 403 'Access Denied'; from a www.eventim.de tab the same GET returns 200 with credentials omit and no custom headers. The search returns product groups (artist/tour) with their events (products); no prices in this API. City and date filters are applied to the returned events (the facet ids such as 'koeln-9' are not wired as query params yet).", "recorded_at": "2026-11-07T12:20:00+01:00", "recorded_by": "C4" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "DE", "id": "eventim.de", "language": "de", "login_url": "https://www.eventim.de/mypage/", "name": "Eventim", "origin": "https://www.eventim.de", "origins": [ "https://public-api.eventim.com" ] }, "steps": [ { "description": "Eventim's public search API (the site's own search widget). Cross-origin from www.eventim.de; CORS without credentials.", "expect": { "assert": "body.productGroups != null", "content_type": "json", "status": [ 200 ] }, "extract": { "json": { "events": "map(&(let $g = @ in products[].{event: name, artist: $g.mainAttraction.name || $g.name, tour: $g.name, start: typeAttributes.liveEntertainment.startDate || `null`, venue: typeAttributes.liveEntertainment.location.name || `null`, city: typeAttributes.liveEntertainment.location.city || `null`, zip: typeAttributes.liveEntertainment.location.postalCode || `null`, available: status == 'Available', status: status, resale: contains(tags || `[]`, 'RESALE') || contains(tags || `[]`, 'FANTICKET'), rating: rating.average && floor(rating.average * `10` + `0.5`) / `10` || `null`, rating_count: rating.count || `null`, url: link}), productGroups || `[]`)[]", "groups": "productGroups[].{name: name, artist: mainAttraction.name || name, first: startDate, last: endDate, events: productCount, url: link}", "pages": "totalPages", "total": "totalResults" } }, "id": "search", "request": { "credentials": "omit", "headers": { "Accept": "application/json" }, "method": "GET", "query": { "language": "de", "page": "{{params.page}}", "search_term": "{{params.query}}", "webId": "web__eventim-de" }, "url": "https://public-api.eventim.com/websearch/search/api/exploration/v2/productGroups" } } ], "task": "Search concerts and events with dates, venues and ticket availability", "tos": { "notes": "Eventim's terms prohibit automated access to its systems. One user-initiated search at a time from the user's own browser (1 request). Buying tickets stays on eventim.de; never automate queueing or purchase.", "reviewed": false }, "verify": { "checks": [ "length(output.events) > `0`", "output.total_groups > `0`", "starts_with(output.events[0].url, 'https://www.eventim.de/')", "output.events[0].start != `null`" ], "example_params": { "query": "Die Ärzte" }, "max_ms": 4000 }, "version": 1 }