Guides

Ticketmaster Discovery API Guide: What It Does, Pricing Data & Limitations

How the Ticketmaster Discovery API works, tested with real calls: endpoints, search filters, what it's good at, rate limits, terms and what happened to its price data.

Last updated

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:

Discovery search
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"
Discovery response, trimmed (October 4, 2026)
{
  "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:

EndpointWhat it returns
/eventsName, dates, status, sales windows, presales, venue, lineup, images, ticket limit, add-ons and a static seat map image
/attractionsPerformers, 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)
/venuesAddress, coordinates, time zone and Ticketmaster's market and DMA ids. Box office, parking and accessibility fields exist, but came back empty for SoFi Stadium
/classificationsThe genre tree: segment, genre and sub-genre, like Music → Rock
/suggestSearch-as-you-type: five each, by default, of events, attractions, venues and products in one call
Discovery's event id (vvG1IZ_eheCVin) isn't the id in the event page's URL (0A006426C23B4B2A), so join Discovery to other data on the url.

What's in an event

Fields are filled in unevenly. Across the 2,397 US events we sampled:

FieldWhat it holdsShare of 2,397 events
seatmap.staticUrlA seat map image86%
ticketLimitTicket limit75%
sales.presalesPresales59%
productsAdd-ons: parking, VIP, upsells67%
pleaseNoteFine print54%
doorsTimesDoors time10%
priceRangesPrice range3 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:

SourceWhat we found
ticketmasterTicketmaster's own events, the bulk of the catalog
universeEvents sold on Universe, Ticketmaster's self-serve platform
tmrTicketmaster 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
frontgateNo 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. /suggest returns 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, from Ticketmaster's docs
"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.

What Discovery does say is whether an event uses all-in pricing, in 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.

Every response carries 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".

APIWhat it addsAccess
Inventory StatusWhether an event has tickets left, plus primary and resale price ranges, refreshed at most hourlyAuthorized clients only; request by email
Top PicksRecommended seats with face value, fees and total priceKey issued by Ticketmaster; North America only
Partner APIAvailability, fees, holds and purchasesCompanies with an official distribution deal
Discovery FeedThe whole catalog as one hourly file per country, in JSON or CSV. Its price fields have been null since March 2025Open to any key by one page, partners only by another
International DiscoveryThe older API for European marketsNo longer accepting new keys
Inventory Status returns price ranges: a primary and a resale minimum and maximum per event, with the maximum capped at $2,000. Its page calls them all-in in one place and face value in another.

Getting listing-level prices

Tickets.dev captures the event page itself and returns every listing on it:

  1. Event URLFrom Discovery's url field, or any marketplace
  2. Live captureThe page loaded in a real browser, right now
  3. 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.

Capture the event
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.

Each capture is the live page at the moment you call, stamped with 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:

Match the event
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.

Try it on a live event

Paste any supported event URL and you get back every listing with its all-in price, in the same schema for every marketplace. First capture is free.

Get API keyOpen the playground