Top Picks API

The Top Picks API provides seat recommendations based on current availability, sampling across various areas of a venue and available price points. Results are near real-time but for certain high velocity events picks may expire (sell out) quickly.

Make live API calls right now in the interactive docs:




Clients will be provided an API key from Ticketmaster which should be added to every resource endpoint call.


Countries supported:

North America.

Host and API endpoint information

All connections must be made over SSL using https.

Terms and Conditions

By using the Ticketmaster Developer Portal, you understand and agree to our Terms of Use.


Please contact us if you have any questions.

Service Availability

The Ticketmaster back-end reservation systems are distributed globally and events are processed on their local systems. These systems go into a nightly maintenance mode at 2AM local time. This means a show playing at Madison Square Garden will not be transactable between 2AM-4AM Eastern Time. Use the timezone value from the event details response to note when these events may be unavailable for transactions.

Rate Limit

All API keys are issued with a default quota of 1200 API calls per min.

Rate Limit Info in Response Header

You can see how much of your quota has been used by checking the following response headers:

  • Ratelimit-Quota-Available: What’s the rate limit available to you. This will be 1200 minus all the requests you’ve done.
  • Ratelimit-Quota-Allowed: How many requests are available to you. The default is 1200/min.
  • Ratelimit-Expiry: Returns the UTC time in milliseconds which determines when the quota expires and new quota interval starts.

API Response When Quota is Reached

When you do go over your quota, you will get an HTTP status code 429 indicating you’ve made too many requests. The following is the API response you will receive:

  "fault": {
    "faultstring": "Rate limit quota violation. Quota limit  exceeded. Identifier : {apikey}",
    "detail": {
      "errorcode": "policies.ratelimit.QuotaViolation"

Top Picks Details [GET]

Retrieve reservable seat information based on specific criteria.


Universal Ids Support

The TopPicks service also supports queries using universal ids via the path


URL Parameters

Parameter Description Type Example Required
event_id The 16-digit alphanumeric event ID. string “0B004ED9FC825ACB” Yes

Query Parameters

Parameter Description Type Example Required
apikey Your API Key string GkB8Z037ZfqbLCNtZViAgrEegbsrZ6Ne Yes
quantity Quantity of tickets number 2 No (default=2)
ticketTypeId Ticket type ID string 000000000001 No
priceLevels Comma-separated price Levels to search numbers 0,1 No
areas Comma-separated area IDs to search numbers 10,11 No
sections Comma-separated section names string GA,103,201 No
prices Price range numbers 50,150 No
page Page number numbers 1 No
limit Elements per page numbers 100 No (default=100) The backend service is restricted to return only 100 elements.
selection Comma-separated type of tickets string Any, Standard, Resale(Resale is only available for select apikeys specifically configured for that.) No (default=Standard)
sort Sort order string quality, listprice (quality sorts picks by quality score in descending order; listprice sorts picks by face value in ascending order) No (default=listprice)

Response structure:

  • page (object) - Page information.
    • number (number) - current page number counted from 1.
    • size (number) - size of current page (max=30 per page).
    • totalElements (number) - total number of elements available.
    • totalPages (number) - total number of pages available.
  • picks (array) - Picks.
    • {array item object} - pick.
      • type (string) - “general-seating”, or “seats”
      • quality (number) - A quality score representing a combination of price and location to stage.
      • area (object) - An area information
        • id (string) - Area id
        • name (string) - Area name
        • description (string) - Area description
      • descriptions (array) - A list of descriptions for this pick
      • section (string) - The section name in the venue
      • selection (string) - “standard”, or “resale”.
      • row (string) - The row in the section, if applicable (not available during onsale).
      • snapshotImageUrl - An image url of this pick in the venue. If the venue or event doesn’t support detailed images, this field will be null.
      • offers (array) - Offers.
        • {array item object} - offer.
          • offer id (string) - The offer id corresponding to one in _embedded.offer[].
      • seats (array) - Seats (not available during onsale).
        • {array item object} - seat.
          • seat id (string) - seat names.
  • _embedded (object) - container for events.
    • offer (array) - Offers matching those found in picks[] items.
      • {array item object} - offer.
        • offerId (string) - The offer id.
        • name (string) - Name of the offer.
        • ticketTypeId (string) - Ticket type id required for reserves.
        • priceLevelId (string) - Price level id (optional for reserves).
        • description (string) - Description of the offer.
        • currency (string) - ISO 4217 currency code.
        • faceValue (number) - Face value of one ticket.
        • totalPrice (number) - Total price including charges (may not include order processing fees).

        • charges (array) - Charges.
          • {array item object} - charge.
            • reason (string) - Name of charge.
            • type (string) - Type of charge.
            • amount (number) - Amount of charge
  • eventDetails (object)- Event details
    • id (string) - Id of the event
    • granularPricing (string) - True/False based on if the event is granular pricing
    • venueMapUrl (string) - Url for venue map
    • venueMapWithLabelsUrl (string) - Url for venue map with labels
    • safeTixEnabled(string) - True/False based on if the event is safetix enabled/enforced.

Request Response,11&prices=70,150&quantity=4&ticketTypeId=000000000001&sections=103
Status 200
  "page" : {
        "number" : 2,
        "size" : 15,
        "totalElements" : 35,
        "totalPages" : 2
  "picks": [
      "type": "seats",
      "quality": 0.626072,
      "section": "103",
        "selection": "standard",
      "row": "18",
      "descriptions": [
          "Full View"
      "area" : {
        "id" : 10,
        "name" : "L100",
        "description" : "LOWER BOWL"
      "snapshotImageUrl": ",s_11,s_113,s_114,s_115,s_116,s_117,s_118,s_119,s_12,s_120,s_13,s_14,s_16,s_17,s_18,s_2,s_22,s_5,s_6,s_8,s_9&placeId=GEYDGORRHA5DS",
      "offers": [
      "seats": [
  "_embedded": {
    "offer": [
        "offerId": "GJ6DC7BQ",
        "name": "Standard Ticket",
        "ticketTypeId": "000000000001",
        "priceLevelId": "0",
        "description": "Standard Ticket",
        "currency": "USD",
        "faceValue": 76.5,
        "totalPrice": 93.25,
        "charges": [
            "reason": "service",
            "type": "fee",
            "amount": 13.75
            "reason": "facility",
            "type": "fee",
            "amount": 3
  "eventDetails": {
  "id": "1C00506FB56F338A",
  "granularPricing": false,
  "venueMapUrl": "",
  "venueMapWithLabelsUrl": "",
  "safeTixEnabled": false

Snapshot Image [GET]

A visual-representation of the approximate location of seats in the venue. Each result from the Top Picks API contains a snapshotImageUrl of a .png image.

Query Parameters

All query parameters in snapshotImageUrl must be maintained and un-altered. Clients may add the following:

Parameter Description Type Example Required
w The width, in pixels, of the image. (min: 102, max: 1024) number 300 No
pw The width, in pixels, of the dropped pin in the image. number 30 No
apikey Your API Key string “GkB8Z037ZfqbLCNtZViAgrEegbsrZ6Ne” Yes


Status Code Note
200 Image Rendered
204 Image not available. Event may not be configured with interactive seat map data.

Sample response for status=200

pick image

Example use of Top Picks data

pick image