Search Ticketmaster for events, artists, teams, or venues in a single unified tool.
WHEN TO CALL: When the user wants to discover, browse, or find events/tickets on Ticketmaster.
This ALSO includes indirect availability questions such as:
- "Is [show] still running?" / "Is [show] still on?"
- "Are there still tickets for [event]?"
- "Can I still see [show]?" / "Where is [show] playing?" / "Which cities is [show] coming to?"
- "Is [artist] touring?" / "Is [artist] on tour?"
These are implicit requests to check the event catalog and SHOULD invoke this tool
using eventKeyword for show names or attractionKeyword for artist names.
DO NOT CALL this tool if the user:
- Asks general knowledge questions about an artist or band (origin, albums, members, biography, discography)
- Asks general knowledge questions about a venue (address, directions, parking, capacity, seating chart, policies, door times)
- Asks about event details like cast, performers, or who is starring in a show
- Asks about events NOT typically sold on Ticketmaster (local amateur sports, little league, school events, community events, private events)
- Asks for recommendations or opinions (e.g., "best concerts ever")
- Asks any informational question that does not require searching the Ticketmaster event catalog
- The user mentions a genre/category (e.g., "rock shows", "comedy events", "sports events")
but does NOT include a location (city, area, or venue).
A date range alone is NOT enough — genre searches ALWAYS require a location.
Instead, ask the user to provide at least a location to narrow results.
Example: "I'd love to help find rock shows! What city or area are you in?"
Example: "Comedy events this weekend sounds fun! What city or area should I search?"
IMPORTANT: Call this tool ONLY ONCE per user prompt. Do NOT call it a second time to refine,
re-sort, or re-format. The single call returns all data needed — format the returned results directly.
If the tool returns zero results, do NOT retry with different parameters. Instead, inform the user
that no results were found and suggest they try a different search (e.g., expand the date range,
change the location, or check the spelling).
CRITICAL - FIELD USAGE RULES:
attractionKeyword - ONLY for specific artist/performer/team NAMES:
- IMPORTANT: The attraction needs to be spelled exactly how the artist/performer/team spells it (e.g., "blink-182")
- CORRECT: "Taylor Swift", "Lakers", "Beyonce", "Coldplay", "Chicago Bulls"
- WRONG: "NBA", "NFL", "NHL", "MLB" (these are leagues/classifications, use classificationName)
- WRONG: "rock", "pop", "sports", "comedy" (these are genres, use classificationName)
- WRONG: "Los Angeles", "New York" (these are locations, use location object)
- Leave EMPTY if user asks for a genre/category without naming a specific artist
- IMPORTANT: Use attractionKeyword for individual team names (e.g., "Lakers"), NOT league names (e.g., "NBA")
venueKeyword - ONLY for specific venue NAMES:
- DO NOT include location object if a specific venue is mentioned - the venue defines the location
- CORRECT: "Madison Square Garden", "Staples Center", "Red Rocks Amphitheatre"
- WRONG: "Los Angeles", "Chicago", "New York" (these are cities, use location object)
- WRONG: "arena", "stadium", "theater" (these are venue types, not names)
- Leave EMPTY if user mentions a city/location without naming a specific venue
- For common venue names that exist in multiple cities (e.g., "Orpheum", "Paramount",
"Fillmore"), if the user did NOT mention a city, use just the venueKeyword without
location — the backend will return a venue list for the user to pick from.
eventKeyword - ONLY for specific event/show/tour NAMES:
- CORRECT: "Eras Tour", "Hamilton", "Lollapalooza", "Coachella", "Indy 500", "Kentucky Derby", "Super Bowl"
- WRONG: "rock concert", "sports game" (these are categories, use classificationName)
- Leave EMPTY if user asks for a genre/category without naming a specific event
classificationName - ONLY when user EXPLICITLY asks for a genre/category:
- ONLY populate if user says words like: "rock", "pop", "sports", "comedy", "concerts", "games"
- DO NOT infer or guess a classification from artist/venue/event names
- When the user mentions a genre, subgenre, style, or specific type of event, you MUST map it to the MOST SPECIFIC matching classification from the discovery-classifications taxonomy.
- NEVER choose a parent category when a more specific child classification exists. Example: If the user says "rock concerts", classificationName MUST be "Rock" (not "Music").
- PRECEDENCE RULE: If a keyword could be BOTH a classification and an attraction (e.g., "NBA", "NFL"), ALWAYS use classificationName, NOT attractionKeyword
- "Taylor Swift" -> attractionKeyword only, NOT classificationName="Pop"
- "Lakers game" -> attractionKeyword="Lakers" only, NOT classificationName="Sports"
- "NBA games" -> classificationName="NBA" ONLY, NOT attractionKeyword="NBA" and NOT classificationName="Basketball"
- "rock concerts in LA" -> classificationName="Rock" (user explicitly said "rock")
location - ONLY when NO venueKeyword is provided:
- NEVER send location if venueKeyword has a value - the venue defines the location
- Use when user mentions: city names, states, zip codes, "near me", "nearby"
- Provide: latitude, longitude, radius (in miles)
- "events at MSG" -> venueKeyword="Madison Square Garden", location=null
- "events in Los Angeles" -> location={latitude: 34.0522, longitude: -118.2437, radius: 25}
COMMON MISTAKES TO AVOID:
- "Taylor Swift at MSG" -> attractionKeyword="Taylor Swift", venueKeyword="Madison Square Garden", location=null, classificationName=null
NOT: location={NYC coords} or classificationName="Pop"
- "events at Staples Center" -> venueKeyword="Staples Center", location=null
NOT: location={LA coords}
- "shows at the Orpheum" -> venueKeyword="Orpheum", location=null
NOT: location={any coords} — no city given, return venue list for disambiguation
- "shows at the belasco" -> venueKeyword="belasco", location=null
NOT: venueKeyword="Belasco Theatre" — do NOT expand partial venue names
- "Taylor Swift in New York" -> attractionKeyword="Taylor Swift", location={NYC coords}, classificationName=null
NOT: classificationName="Pop" (don't infer genre from artist)
- "NBA games in NY" -> classificationName="NBA", location={NY coords}
NOT: attractionKeyword="NBA" (NBA is a classification, not an attraction)
NOT: classificationName="Basketball" (use the most specific classification: "NBA")
- "rock concerts in LA" -> classificationName="Rock", location={LA coords}
NOT: attractionKeyword="rock"
- "Wicked at Gershwin Theatre" -> eventKeyword="Wicked", venueKeyword="Gershwin Theatre", location=null
NOT: venueKeyword="Gershwin Theatre" only (would show all events at venue, not the specific show)
NOT: attractionKeyword="Wicked" (Wicked is a show name, not an artist/performer)
- "Indy 500 tickets" -> eventKeyword="Indy 500"
NOT: attractionKeyword="Indy 500" (Indy 500 is an event/race name, not a performer)
DECISION TREE:
1. Does the keyword match a classification (e.g., "NBA", "NFL", "rock", "pop")? -> classificationName (takes precedence)
2. Is there a specific artist/performer/team name that is NOT a classification? -> attractionKeyword
3. Is there a specific venue name? -> venueKeyword (and SKIP location)
4. Is there a specific event/tour/show name? -> eventKeyword
5. Did user EXPLICITLY mention a genre/category? -> classificationName (don't infer)
6. Is there a city/area mentioned AND no venueKeyword? -> location object
7. Did user EXPLICITLY mention a price? -> prices (format "min,max", e.g. "0,100" for under $100)
DISAMBIGUATION - MULTIPLE ENTITIES:
- This tool searches for ONE OF EACH PARAMETER: ONE attraction, ONE venue, ONE event name, and ONE classification at a time.
- If the user's prompt mentions MULTIPLE attractions (e.g., "Foo Fighters and Gorillaz events"),
MULTIPLE venues (e.g., "events at MSG and Barclays Center"), MULTIPLE event names
(e.g., "Lollapalooza and Coachella"), or MULTIPLE classifications (e.g., "rock and comedy shows"),
DO NOT attempt to search for all of them in one call.
- Instead, ask the user which one they'd like to search for first, then proceed with that single search.
- This DOES NOT apply to combining different parameter types (e.g., "Taylor Swift at MSG" is valid —
one attraction + one venue). You can freely combine one of each parameter type in a single search.
SPORTS MATCHUP EXCEPTION: When a user mentions two sports teams with "vs", "versus",
"at", or "@" between them (e.g., "Lakers vs Suns", "Yankees at Red Sox"), treat this
as a SINGLE EVENT search. Do NOT ask for disambiguation or search for two attractions.
- Use eventKeyword with OFFICIAL FULL TEAM NAMES (e.g., "Lakers vs Suns" → eventKeyword="Los Angeles Lakers vs. Phoenix Suns").
Always expand nicknames/abbreviations to official team names as they appear on Ticketmaster.
Do NOT reorder team names — use the exact phrasing the user provides.
Ticketmaster event names use "Team A vs Team B" format (home team is listed second
in "vs" format, e.g., "Los Angeles Lakers vs Brooklyn Nets" = Lakers home game).
- Do NOT use attractionKeyword for either team in a vs/at/@ matchup.
- This rule does NOT apply to "and" — "lakers and dodgers" is two separate searches
(different sports), so ask for disambiguation as normal.
- "basketball and hockey in New York" → two DIFFERENT classifications. Ask which sport to search first.
Do NOT combine them or fabricate results.
- If the user specifies a city, also set location.
OTHER PARAMETERS:
- startDateTime / endDateTime: Date range filter (future dates, ISO 8601 with timezone, e.g. "2025-07-04T00:00:00Z"). endDateTime should be set to +12 hours from the end of the final date in the range to accommodate events which start late into the evening and end the following day.
IMPORTANT: First determine today's date and day-of-week, then compute exact calendar dates.
Do NOT approximate — resolve every relative expression to specific ISO 8601 timestamps.
Translate relative time expressions to concrete date ranges using the current date:
- "this weekend": startDateTime = upcoming Friday 00:00:00Z, endDateTime = Monday 11:59:59Z
(Sunday 23:59:59 + 12h padding). If today IS Friday, Saturday, or Sunday, use THIS Friday-Sunday.
- "next weekend": the Friday-Sunday AFTER the current weekend (skip this one entirely).
- Weekend = Friday + Saturday + Sunday. Friday IS part of the weekend for event searches.
- Example: If today is Wednesday 2025-01-15, "this weekend" → startDateTime=2025-01-17T00:00:00Z, endDateTime=2025-01-20T11:59:59Z
If today is Saturday 2025-01-18, "this weekend" → startDateTime=2025-01-17T00:00:00Z, endDateTime=2025-01-20T11:59:59Z
- "this <period>" (today/week/month): startDateTime = now, endDateTime = end of that period
- "next <period>" (next week/month): the FULL period AFTER the current one
- "tonight"/"today"/"tomorrow" or named days ("this Friday", "on Saturday"): that day 00:00:00–23:59:59
- Named months ("in July"): first to last day of that month
- Relative durations ("next 30 days"): now to N days from now
If the computed date is in the past, advance to the next valid occurrence.
- sort: Sort order for results. ALWAYS include — default to "quality" (best seats). Use "listprice" only when user explicitly asks for "cheapest" or "lowest price". Use "section" for TMR/resale events only.
- quantity: Number of tickets the user wants (e.g., 2 for pairs). Only set if the user explicitly mentions how many tickets they need.
- selection: Ticket inventory type. Use "resale" for TMR-sourced events, "any" otherwise. Omit to auto-detect based on event source.
- attractionId: Use INSTEAD of attractionKeyword when you already have a Ticketmaster attraction ID from a previous tool result. Do not combine with attractionKeyword.
- venueId: Use INSTEAD of venueKeyword when you already have a Ticketmaster venue ID from a previous tool result. Do not combine with venueKeyword.
- unsupportedFilter: Short description of any filter the user requested that is not supported (e.g., "in the shade", "ADA accessible"). Only set when the request exceeds supported filters (section, price, sort, quantity). Still proceed with the search using supported parameters.
- size: Page size for results (default 10)
- page: Page number (0-indexed)
KEYWORD CLEANUP (apply before searching):
- Fix typos: "Talyor Swift" -> "Taylor Swift", "Masdison Square Garden" -> "Madison Square Garden"
- Expand acronyms: "MSG" -> "Madison Square Garden", "LA Lakers" -> "Los Angeles Lakers"
- Proper capitalization: "beyonce" -> "Beyonce", "red rocks" -> "Red Rocks"
- DO NOT expand or append words to venue names. If the user says "the belasco" or "belasco",
use "belasco" as venueKeyword — do NOT append "Theatre", "Center", "Arena", etc.
Partial venue names return multiple matches for user disambiguation.
- Only expand well-known ACRONYMS for venues: "MSG" -> "Madison Square Garden"
If no results found, offer to expand date range, change location, or explore similar options.
If hasMorePages = true, ask whether to show next page.
SUMMARIZATION:
- If the Ticketmaster widget is available, do not include any URLs or links in your response. Direct the user to interact with the widget to browse events and purchase tickets.
- IMPORTANT: Reference content field in meta response for summarization guideline.