Vivid Seats APIvividseats.com ↗
Access Vivid Seats event listings, live ticket inventory, seat-level pricing, delivery options, and historical sales data via a structured REST API.
What is the Vivid Seats API?
The Vivid Seats API covers 6 endpoints that return event discovery, live ticket listings, and historical sales data from vividseats.com. Starting with search_suggestions, you can resolve performer, venue, and production IDs across all categories, then drill into get_listings to retrieve seat-level pricing, deal scores, and all-in prices for any specific event. Venue lookups, paginated event browsing, and sold-listing history round out the surface.
curl -X GET 'https://api.parse.bot/scraper/7a7ecd59-dec5-4d1e-b1eb-67f168459e15/search_suggestions?query=NBA' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for performers, venues, or productions (events) by name. Returns matching results across all three categories. Use performer/venue IDs from these results to filter list_events. Productions returned here include listing and ticket counts.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search term (e.g., performer name, venue name, event name) |
{
"type": "object",
"fields": {
"venues": "array of venue objects with id, name, city, state",
"performers": "array of performer objects with id, name, category, webPath, productionCount",
"productions": "array of production/event objects with id, name, localDate, venue, performers, listingCount, ticketCount"
},
"sample": {
"data": {
"venues": [],
"performers": [
{
"id": 2724,
"name": "NBA Finals",
"webPath": "/nba-finals-tickets--sports-nba-basketball/performer/2724",
"category": {
"id": 3,
"name": "Sports"
},
"productionCount": 4
}
],
"productions": [
{
"id": 6653288,
"name": "NBA Summer League - Day 1",
"venue": {
"id": 1698,
"city": "Las Vegas",
"name": "Thomas and Mack Center",
"state": "NV"
},
"localDate": "2026-07-09T23:59:00-07:00[America/Los_Angeles]",
"performers": [
{
"id": 32790,
"name": "NBA Summer League"
}
]
}
]
},
"status": "success"
}
}About the Vivid Seats API
Event and Venue Discovery
Use search_suggestions with a query string to resolve performers, venues, and productions in a single call. The response distinguishes three typed arrays: venues (with id, city, state), performers (with id, category, productionCount), and productions (with listingCount and ticketCount). IDs from this endpoint feed directly into list_events as performer_id, venue_id, or category_id filters. search_venues_by_city offers an alternate path when you need venues by geography — filter by city, state, and capacity bounds (min_capacity, max_capacity); the response includes timezone, capacity, productionCount, and a coverage_capped flag that signals when the underlying catalog hit its 1,000-venue regional limit.
Browsing and Filtering Events
list_events returns paginated event results (1-based page, configurable page_size) sorted by rank. Each item in items exposes minPrice, avgPrice, listingCount, ticketCount, and a full venue object alongside performer metadata. Use start_date in YYYY-MM-DD format to bound the date window. The total and numberOfPages fields let you size a pagination loop without an extra call.
Ticket Listings and Listing Details
get_listings accepts a production_id and returns two structures: global (one object with event-level aggregates — listingCount, ticketCount, venueCapacity, averageAip, lowestAi) and tickets (array sorted by price ascending, each with sectionName, row, quantity, price, allInPricePerTicket, dealScore, and badges). To inspect a specific listing further, pass its listing_id and production_id to get_listing_details, which returns brokerId, serviceCharge, allInPrice, validPurchaseQuantities, and a deliveryOptions array with deliveryType and cost per option.
Historical Sales Data
get_sold_listings exposes recently sold listings for a given production_id. Results use cursor-based pagination via nextCursor; set hasMore to determine whether additional pages exist. Each sold listing includes price, zone, row, and a text field describing the sale timestamp. Events with no recorded sales history return an empty listings array — paginate with nextCursor to check for additional history before concluding none exists.
The Vivid Seats API is a managed, monitored endpoint for vividseats.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vividseats.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official vividseats.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track ticket price trends for upcoming concerts by paginating
get_sold_listingsand comparingpricevalues over time. - Build a seat map price overlay by pulling
sectionName,row,allInPricePerTicket, anddealScorefromget_listings. - Aggregate event calendars for a specific performer by filtering
list_eventswithperformer_idand sorting bylocalDate. - Find all venues in a metro area with capacity above a threshold using
search_venues_by_citywithmin_capacityandstate. - Compare face price vs. all-in price across listings by reading
priceandallInPricefromget_listing_details. - Identify available delivery methods for a listing (e.g., mobile, physical) via the
deliveryOptionsarray inget_listing_details. - Surface low-inventory alerts by monitoring
listingCountandticketCountfrom theglobalobject inget_listings.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Vivid Seats have an official developer API?+
What does `get_listings` return beyond just price?+
get_listings returns a global object with event-level aggregates (total listingCount, ticketCount, venueCapacity, averageAip, and lowestAi) plus a tickets array sorted by price ascending. Each ticket entry includes sectionName, row, quantity, price (face), allInPricePerTicket, dealScore, and badges. For full broker, service charge, and delivery details, follow up with get_listing_details.Does `get_sold_listings` return data for all events?+
listings array. The endpoint uses cursor-based pagination — you should follow nextCursor until hasMore is false before concluding no history exists. Coverage depends on what Vivid Seats has recorded for that specific production.Can I look up seat map layouts or individual seat numbers through this API?+
get_listings provides sectionName and row, and get_listing_details may include seat identifiers in the listing object, but structured seat-map coordinate data is not exposed. You can fork this API on Parse and revise it to add an endpoint targeting seat map data if that structure becomes available.How does the `coverage_capped` field in `search_venues_by_city` affect results?+
coverage_capped is true, the venue catalog for that region reached a 1,000-venue scan limit, which means some lower-profile or smaller venues in that area may be absent from results. Narrow your search with min_capacity/max_capacity or a more specific city and state combination to reduce the chance of hitting this ceiling.