Sign inTry it

Find concerts and events on Ticketmaster.

Searches Ticketmaster US 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 US or in one city. Ticketmaster's German search also lists events abroad; each is marked. Prices are not part of the search results.

No reports yetRead-only, no login
Site
Ticketmaster Deutschland, United States
Version
v2 of 2
Runs, last 7 days
No reports yet
sha256
e609304a1b48…

Run it with your agent

after installing Wield

Ask 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.com/search-events",
    "params": {
      "national_only": true,
      "query": "rock"
    }
  }
}

Requests

sent from your browser, in order
  1. 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.repeats, max 1

Parameters

from your agent
citystringOnly events in this city, e.g. 'Berlin' (matched against the venue's city on the returned page)
national_onlybooleanOnly events in the US = false
pageinteger20 events per page = 1
querystringrequiredArtist, event or venue, e.g. 'Coldplay', 'Rammstein', 'Lanxess Arena'

Returns

to your agent
eventsobject[]address, artists, city, country, domestic, id, latitude, limited_availability, longitude, postcode, sold_by_partner, sold_out, start, status, timezone, title, url, venue
pageinteger
querystring
totalintegerAll matching events worldwide, before the city and Germany filters

Where it can send

  • www.ticketmaster.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) > `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.com/')]) > `5`
  • length(output.events[?start != `null` && ends_with(start, 'Z')]) > `0`

Raw recipe

Served as canonical JSON from /api/v1/recipes/ticketmaster.com/search-events, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/ticketmaster.com/search-events | shasum -a 256
# e609304a1b48d5f6c1f6ab2aa1f575859c0223cb4b7d032fca786fe3d1c3e006
ticketmaster.com/search-events.json, v2
{
  "description": "Searches Ticketmaster US 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 US 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.com/search-events",
  "keywords": [
    "ticketmaster",
    "tickets",
    "concerts",
    "events",
    "sports",
    "nba",
    "nfl",
    "theater",
    "comedy",
    "usa"
  ],
  "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 US",
                "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 == 'US', 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 US",
        "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 US. 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": "US",
    "id": "ticketmaster.com",
    "language": "en",
    "name": "Ticketmaster Deutschland",
    "origin": "https://www.ticketmaster.com",
    "origins": [
      "https://www.ticketmaster.com"
    ]
  },
  "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.com'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.com/')]) > `5`",
      "length(output.events[?start != `null` && ends_with(start, 'Z')]) > `0`"
    ],
    "example_params": {
      "national_only": true,
      "query": "rock"
    },
    "max_ms": 5000
  },
  "version": 2
}