Find concerts and events on Ticketmaster.
Searches Ticketmaster UK for an artist, event or venue, like its search page: upcoming events by date with the venue, city, country and address, start time, artists, status (cancelled, postponed, rescheduled, sold out, few tickets left, date to be announced) and the link to buy tickets. Optionally only events in the UK or in one city. Ticketmaster's German search also lists events abroad; each is marked. Prices are not part of the search results.
- Site
- Ticketmaster Deutschland, United Kingdom
- Version
- v2 of 2
- Runs, last 7 days
- No reports yet
- sha256
- 05a8af390d05…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Find concerts and events on Ticketmaster.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "ticketmaster.co.uk/search-events", "params": { "national_only": true, "query": "rock" } } }
Requests
sent from your browser, in order- 1GET/search?page&qThe server-rendered search page; its Redux state (__NEXT_DATA__ props.pageProps.initialReduxState.api.queries, entry with endpointName 'searchEvents') holds the events. The page's own /api/search/events answers 400 to plain requests, so the page is read instead. The one-item foreach turns the page number into the 0-based index the URL uses.
Parameters
from your agentReturns
to your agentWhere it can send
- www.ticketmaster.co.uk
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) > `5`
- output.total > `20`
- length(output.events[?domestic]) == length(output.events)
- length(output.events[?starts_with(url, 'https://') && title != `null` && venue != `null`]) == length(output.events)
- length(output.events[?starts_with(url, 'https://www.ticketmaster.co.uk/')]) > `5`
- length(output.events[?start != `null` && ends_with(start, 'Z')]) > `0`
Raw recipe
Served as canonical JSON from /api/v1/recipes/ticketmaster.co.uk/search-events, so its sha256 matches the ETag and the index.
curl -s https://wield.run/api/v1/recipes/ticketmaster.co.uk/search-events | shasum -a 256 # 05a8af390d0597b46848725f6b4095bfc8cfe1f6963110b9d4ae135c9eeee064
{ "description": "Searches Ticketmaster UK for an artist, event or venue, like its search page: upcoming events by date with the venue, city, country and address, start time, artists, status (cancelled, postponed, rescheduled, sold out, few tickets left, date to be announced) and the link to buy tickets. Optionally only events in the UK or in one city. Ticketmaster's German search also lists events abroad; each is marked. Prices are not part of the search results.", "effect": "read", "id": "ticketmaster.co.uk/search-events", "keywords": [ "ticketmaster", "tickets", "concerts", "gigs", "events", "festivals", "theatre", "comedy", "uk" ], "output": { "schema": { "properties": { "events": { "items": { "properties": { "address": { "type": [ "string", "null" ] }, "artists": { "items": { "type": "string" }, "type": "array" }, "city": { "type": [ "string", "null" ] }, "country": { "description": "ISO code, e.g. DE", "type": [ "string", "null" ] }, "domestic": { "description": "Venue in the UK", "type": "boolean" }, "id": { "type": "string" }, "latitude": { "type": [ "number", "null" ] }, "limited_availability": { "type": "boolean" }, "longitude": { "type": [ "number", "null" ] }, "postcode": { "type": [ "string", "null" ] }, "sold_by_partner": { "description": "Tickets are sold by a partner site that Ticketmaster links to", "type": "boolean" }, "sold_out": { "type": "boolean" }, "start": { "description": "Start time in UTC (ISO 8601, Z); null when the date is to be announced", "type": [ "string", "null" ] }, "status": { "description": "scheduled, cancelled, postponed, rescheduled or tba", "type": "string" }, "timezone": { "description": "The venue's time zone, e.g. Europe/Berlin", "type": [ "string", "null" ] }, "title": { "type": "string" }, "url": { "description": "The event page: usually ticketmaster.de, sometimes another Ticketmaster country site or a partner platform such as Universe (sold_by_partner)", "type": "string" }, "venue": { "type": [ "string", "null" ] } }, "type": "object" }, "type": "array" }, "page": { "type": "integer" }, "query": { "type": "string" }, "total": { "description": "All matching events worldwide, before the city and Germany filters", "type": [ "integer", "null" ] } }, "required": [ "query", "events" ], "type": "object" }, "value": "let $city = params.city && lower(params.city) || `null`, $nat = params.national_only == `true` in {query: params.query, total: steps.search[0].total || `0`, page: params.page || `1`, events: map(&(let $e = @ in {id: $e.id, title: $e.title, start: $e.dates.startDate || `null`, timezone: $e.timeZone || `null`, venue: $e.venue.name || `null`, city: $e.venue.city || `null`, country: $e.venue.countryCode || `null`, address: $e.venue.addressLineOne || `null`, postcode: $e.venue.code || `null`, latitude: $e.venue.latitude || `null`, longitude: $e.venue.longitude || `null`, artists: $e.artists[*].name || `[]`, status: ($e.cancelled && 'cancelled') || ($e.postponed && 'postponed') || ($e.rescheduled && 'rescheduled') || ($e.tba && 'tba') || 'scheduled', sold_out: $e.soldOut == `true`, limited_availability: $e.limitedAvailability == `true`, domestic: $e.venue.countryCode == 'GB', sold_by_partner: $e.isPartner == `true` || $e.partnerEvent == `true`, url: $e.url}), steps.search[0].events || `[]`)[?(!$nat || domestic) && ($city == `null` || (city && contains(lower(city), $city)))]}" }, "params": { "additionalProperties": false, "properties": { "city": { "description": "Only events in this city, e.g. 'Berlin' (matched against the venue's city on the returned page)", "maxLength": 60, "minLength": 2, "type": "string" }, "national_only": { "default": false, "description": "Only events in the UK", "type": "boolean" }, "page": { "default": 1, "description": "20 events per page", "maximum": 20, "minimum": 1, "type": "integer" }, "query": { "description": "Artist, event or venue, e.g. 'Coldplay', 'Rammstein', 'Lanxess Arena'", "maxLength": 100, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "browser-inspect", "notes": "Same Next.js search page as ticketmaster.de/search-events: GET /search?q=…&page=<0-based>, events from the Redux api.queries entry whose endpointName is 'searchEvents' in __NEXT_DATA__ (total is capped at 10,000). national_only keeps venues whose countryCode is GB. Answers servers. v2 (2026-11-07 22:38): tos.notes only; requests and output unchanged.", "recorded_at": "2026-11-07T22:27:00+01:00", "recorded_by": "C4" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "GB", "id": "ticketmaster.co.uk", "language": "en", "name": "Ticketmaster Deutschland", "origin": "https://www.ticketmaster.co.uk", "origins": [ "https://www.ticketmaster.co.uk" ] }, "steps": [ { "description": "The server-rendered search page; its Redux state (__NEXT_DATA__ props.pageProps.initialReduxState.api.queries, entry with endpointName 'searchEvents') holds the events. The page's own /api/search/events answers 400 to plain requests, so the page is read instead. The one-item foreach turns the page number into the 0-based index the URL uses.", "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "embedded_json": { "selector": "script#__NEXT_DATA__", "vars": { "events": "values(props.pageProps.initialReduxState.api.queries)[?endpointName == 'searchEvents'] | [0].data.events", "total": "values(props.pageProps.initialReduxState.api.queries)[?endpointName == 'searchEvents'] | [0].data.total" } } }, "foreach": { "as": "f", "in": "[{page: to_string((params.page || `1`) - `1`)}]", "max": 1 }, "id": "search", "parse": "html", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "page": "{{f.page}}", "q": "{{params.query}}" }, "url": "/search" } } ], "task": "Find concerts and events on Ticketmaster", "tos": { "notes": "Ticketmaster.co.uk's terms prohibit robots and automated tools that retrieve or data-mine the site, and automated ticket buying. Wield runs this recipe only when the user asks, in the user's own browser, one search results page per call. It never touches anything purchase-related (no ticket selection, no basket, no checkout) and never polls availability.", "reviewed": true }, "verify": { "checks": [ "length(output.events) > `5`", "output.total > `20`", "length(output.events[?domestic]) == length(output.events)", "length(output.events[?starts_with(url, 'https://') && title != `null` && venue != `null`]) == length(output.events)", "length(output.events[?starts_with(url, 'https://www.ticketmaster.co.uk/')]) > `5`", "length(output.events[?start != `null` && ends_with(start, 'Z')]) > `0`" ], "example_params": { "national_only": true, "query": "rock" }, "max_ms": 5000 }, "version": 2 }