The Discovery API is Ticketmaster's official API for searching its event catalog. Search by artist, venue, city or date and you get each event with its venue, lineup, on-sale dates, presales and a link to buy. It's free, and a key takes a few minutes to get.
Prices are the one thing to plan around. Ticketmaster dropped price ranges from its Discovery Feed in March 2025, and the API has followed: of more than 4,000 events we pulled from it in October 2026, only 3 had a price range.
Access, cost and limits
- Base URL
https://app.ticketmaster.com/discovery/v2/- Access
- An API key from a free Ticketmaster developer account, sent as the apikey query parameter
- Cost
- No paid tier is listed; every new account gets access by default
- Data
- Events, attractions (performers and teams), venues and classifications
- Coverage
- 230,000+ events across the US, Canada, Mexico, Australia, New Zealand, the UK, Ireland and other European countries
- Pricing data
- A priceRanges field in the docs, missing from all but 3 of the 4,000+ events we checked
- Default limits
- 5,000 calls a day and 5 requests a second, confirmed in testing (the FAQ says 2)
- Paging
- Up to 200 results a page, and paging stops around the 1,000th result
- Speed
- 0.17 to 0.9 seconds per call in our tests
What the Discovery API does
Discovery is a catalog. It's built for apps that list events and send fans to Ticketmaster to buy: a venue calendar, a city guide, a "who's playing near me" feature. Here's a search for Bruno Mars at SoFi Stadium on October 6, 2026, and what came back:
curl -G https://app.ticketmaster.com/discovery/v2/events.json \
--data-urlencode "keyword=bruno mars" \
--data-urlencode "city=Inglewood" \
--data-urlencode "startDateTime=2026-10-06T00:00:00Z" \
--data-urlencode "endDateTime=2026-10-08T00:00:00Z" \
--data-urlencode "apikey=$TICKETMASTER_KEY"{
"name": "Bruno Mars - The Romantic Tour",
"id": "vvG1IZ_eheCVin",
"url": "https://www.ticketmaster.com/bruno-mars-the-romantic-tour-inglewood-california-10-06-2026/event/0A006426C23B4B2A",
"dates": {
"start": {
"localDate": "2026-10-06",
"localTime": "19:00:00"
},
"status": {
"code": "onsale"
}
},
"sales": {
"public": {
"startDateTime": "2026-01-15T20:00:00Z",
"endDateTime": "2026-10-07T04:00:00Z"
},
"presales": [
{
"name": "Artist Presale",
"startDateTime": "2026-01-14T21:15:00Z"
}
]
},
"ticketLimit": {
"info": "There is an overall 6 ticket limit for this event."
},
"seatmap": {
"staticUrl": "https://mapsapi.tmol.io/maps/geometry/3/event/0A006426C23B4B2A/staticImage?type=png&systemId=HOST"
},
"ticketing": {
"safeTix": {
"enabled": true
},
"allInclusivePricing": {
"enabled": true
}
},
"_embedded": {
"venues": [
{
"name": "SoFi Stadium",
"city": {
"name": "Inglewood"
}
}
]
}
}For buying tickets, that's what Discovery has on this show: when sales opened, the presales, a six-ticket limit, a picture of the seat map and a link.
Endpoints
Four resources have a search endpoint and a lookup by id, and /suggest searches across them. We called each one:
| Endpoint | What it returns |
|---|---|
/events | Name, dates, status, sales windows, presales, venue, lineup, images, ticket limit, add-ons and a static seat map image |
/attractions | Performers, teams and tours, with links out to their other profiles: Bruno Mars had 11, from Spotify and Instagram to MusicBrainz and Wikipedia, plus a count of upcoming events (39) |
/venues | Address, coordinates, time zone and Ticketmaster's market and DMA ids. Box office, parking and accessibility fields exist, but came back empty for SoFi Stadium |
/classifications | The genre tree: segment, genre and sub-genre, like Music → Rock |
/suggest | Search-as-you-type: five each, by default, of events, attractions, venues and products in one call |
vvG1IZ_eheCVin) isn't the id in the event page's URL (0A006426C23B4B2A), so join Discovery to other data on the url.Search and filters
Event search filters by:
- Text and ids: keyword, attraction, venue or promoter.
- Place: country, state, city or postal code; a geohash point and radius (
geoPoint, which replaces the deprecatedlatlong); or Ticketmaster's market and DMA ids. - Time: event date ranges in UTC or local time, on-sale dates, presale dates, and whether to include events with no date yet.
- Genre: segment, genre, sub-genre or classification name. A leading
-excludes one, like-Sports.
Results sort by relevance, date, name, distance, venue or on-sale date.
totalElements stops at 10,000 no matter how broad the search, so it can't tell you how many events match a query like "everything in the US". Dates must be YYYY-MM-DDTHH:mm:ssZ, with no milliseconds, or you get DIS1015.What's in an event
Fields are filled in unevenly. Across the 2,397 US events we sampled:
| Field | What it holds | Share of 2,397 events |
|---|---|---|
seatmap.staticUrl | A seat map image | 86% |
ticketLimit | Ticket limit | 75% |
sales.presales | Presales | 59% |
products | Add-ons: parking, VIP, upsells | 67% |
pleaseNote | Fine print | 54% |
doorsTimes | Doors time | 10% |
priceRanges | Price range | 3 events |
Dates, venues, lineups, images and genres were on all or nearly all of them. Add-ons are listed as products: parking, VIP packages, club access and other upsells, each with its own event page.
Where the events come from
Discovery isn't only ticketmaster.com. The source filter takes four values, and they behave differently:
| Source | What we found |
|---|---|
| ticketmaster | Ticketmaster's own events, the bulk of the catalog |
| universe | Events sold on Universe, Ticketmaster's self-serve platform |
| tmr | Ticketmaster Resale event pages. The New York Yankees at Tampa Bay Rays: ALDS (Home Game 2) at Tropicana Field appears only here, as a resale event |
| frontgate | No US events returned |
And 71 of the 2,397 US events (3%) linked somewhere other than ticketmaster.com: GoFevo, AXS, TicketWeb, SeatGeek and venues' own box offices.
What Discovery is good at
For anything built around events and on-sale dates, Discovery does the job well:
- Local event listings. Search by point and radius and sort by date or distance. A search within 10 miles of SoFi Stadium for one week returned 204 events, from the Hollywood Pantages to the Whisky a Go Go and the Blue Note, each with venue, lineup and images.
- On-sale and presale alerts. Every event carries its public on-sale window, and 59% of the US events we sampled listed their presales with start times. You can search by on-sale date directly, and the status field marks events that are canceled or rescheduled.
- Artist and team pages. Attractions come with images, genres, a count of upcoming events and links to their other profiles. Bruno Mars had 11, from Spotify to MusicBrainz, so you can tie Ticketmaster events to music and social data.
- Search-as-you-type.
/suggestreturns events, performers, venues and add-ons in one call, fast enough for a search box: every call we made answered in under a second. - Earning from ticket sales. Event links can carry your affiliate id, so fans who buy through your app earn you a commission.
What its pricing data tells you
Each event can carry a priceRanges array. The docs describe it as "price ranges of this event", with this example:
"priceRanges": [
{
"type": "standard",
"currency": "USD",
"min": 80,
"max": 80
}
]In practice, it's almost never there. We checked every event on the first four pages of US music, sports and theater searches through the end of 2026: 2,397 events. Only 3 had a priceRanges, all small film screenings with a single price. Another 2,000 events across Canada, the UK, Australia, Ireland and Mexico had none.
- 3 of 2,397 US events had a price range
- 0 of 2,000 events in the five other countries did
Ticketmaster removed it on purpose. Its release notes for the Discovery Feed, the bulk export of the same catalog, say that on March 11, 2025, "Discovery priceRanges removed from feeds", and that the Feed's price fields "will always be null". The Discovery API reference still documents the field, but the live API matches the Feed.
ticketing.allInclusivePricing.enabled. Ticketmaster turned it on for US events when the FTC's fee rule took effect on May 12, 2025; it was true on 2,146 of the 2,397 US events we checked. It tells you how the page shows prices and carries no amount. Canada and the UK show all-in prices without setting it, so Ticketmaster tells partners not to rely on it.Limitations
Discovery has no endpoint for any of these: individual listings, seat-level prices, how many tickets are left, resale listings, the fee on a ticket, or what tickets sold for.
Rate limits and paging
Every key starts at 5,000 calls a day and 5 requests a second. The FAQ says 2 a second, but the API itself enforces 5: when we sent 30 requests at once, 20 went through and 10 came back 429 with a "spike arrest" error naming the rate. Running out of the daily quota is a different 429, a "quota violation". Ticketmaster raises limits case by case, after checking that your app follows its terms and branding guide.
Pages hold up to 200 results, and paging stops around the 1,000th: once page × size passes 1,000, Discovery answers 400 DIS1035, "Max paging depth exceeded". To read more than that, split your search into smaller slices, like one city or one week at a time.
Rate-Limit, Rate-Limit-Available, Rate-Limit-Over and Rate-Limit-Reset headers, so you can track your quota without counting calls yourself.Terms of use
The terms shape what kind of product you can build on Discovery:
- You can only cache event content "for reasonable periods" to run your service, and must remove it within 24 hours if its owner asks.
- You can't sell access to the API or "derive revenues" from it. The way to earn from it is Ticketmaster's affiliate program, run through Impact. It pays commission on tickets bought through your links, at rates set during onboarding, but not on primary tickets sold during presales or in the first 24 hours after an on-sale.
- You can't build an app that replaces the Ticketmaster.com experience.
- Ticketmaster can rate limit or block apps that make many calls not driven by user actions, and can end your license at any time.
- A higher rate limit requires following Ticketmaster's branding guide, but the guide's page now returns a 404. Its last archived version required a Ticketmaster logo on every page that shows Discovery data.
Ticketmaster's other APIs
Ticketmaster does have APIs with ticket-level data: Inventory Status, Top Picks and the Partner API. None of them are open to the public. We tried Inventory Status with our free Discovery key and got 401, "Invalid ApiKey for given resource".
| API | What it adds | Access |
|---|---|---|
| Inventory Status | Whether an event has tickets left, plus primary and resale price ranges, refreshed at most hourly | Authorized clients only; request by email |
| Top Picks | Recommended seats with face value, fees and total price | Key issued by Ticketmaster; North America only |
| Partner API | Availability, fees, holds and purchases | Companies with an official distribution deal |
| Discovery Feed | The whole catalog as one hourly file per country, in JSON or CSV. Its price fields have been null since March 2025 | Open to any key by one page, partners only by another |
| International Discovery | The older API for European markets | No longer accepting new keys |
Getting listing-level prices
Tickets.dev captures the event page itself and returns every listing on it:
- Event URLFrom Discovery's url field, or any marketplace
- Live captureThe page loaded in a real browser, right now
- Every listingSection, row, quantity, price, fee and all-in total
Discovery's url field is the Ticketmaster event page, so the two fit together: find events with Discovery, then capture the ones you care about.
curl -G https://api.tickets.dev/v1/capture/ticketmaster \
--data-urlencode "url=https://www.ticketmaster.com/bruno-mars-the-romantic-tour-inglewood-california-10-06-2026/event/0A006426C23B4B2A" \
-H "x-api-key: $TICKETS_DEV_KEY"The response has every listing on the page in one schema, plus the venue's seat map. The same call works for StubHub, Vivid Seats, SeatGeek and the other supported marketplaces.
capturedAt; nothing comes from a cache. Only successful captures are billed, and plans start at $50/month for 1,000 captures.To find the same show on those marketplaces, pass the Ticketmaster URL from Discovery's url field to the free events API. It returns the event with its URL on every marketplace that lists it, ready to capture:
curl -G https://api.tickets.dev/v1/events \
--data-urlencode "query=https://www.ticketmaster.com/bruno-mars-the-romantic-tour-inglewood-california-10-06-2026/event/0A006426C23B4B2A" \
-H "x-api-key: $TICKETS_DEV_KEY"For the Bruno Mars show it found the event on six marketplaces: Ticketmaster, StubHub, SeatGeek, Vivid Seats, Gametime and GoTickets. The events API is free and has no rate limit.
To turn captures into price history, see our price tracking guide.


