Raw listings, not an index
Build your own measures from every listing rather than inheriting someone else's model.
Ticket analytics tools and off-the-shelf datasets are too generic for a real research question. Build something custom around yours: track ticket prices and inventory over time for the events behind a company, and get a sense of demand before earnings.
18 marketplaces, one schema. Failed captures are never billed.
| time | source | sec | row | qty | price |
|---|---|---|---|---|---|
| 19:42:24 | ticketmaster | FLR1 | 22 | 4 | 396.33 |
| 19:42:33 | vividseats | 110 | 36 | 2 | 403.00 |
| 19:42:46 | stubhub | 110 | 36 | 2 | 410.58 |
| 19:42:57 | seatgeek | 110 | 36 | 2 | 397.00 |
| 19:43:12 | tickpick | 110 | 36 | 2 | 385.00 |
3,241 listings in this capture
Live captureListings, not sales: a listing that goes may have sold, moved or been pulled
Yes. What is still on sale, and at what price, is one of the earliest readings of demand for a venue, a residency or an event series. Track every Sphere date, or the UFC and WWE cards in a quarter, and you have a read on demand before the earnings call. Primary inventory shows what the box office has left; resale asks show what the market will bear.
It is based on listings rather than actual sales. A listing that goes may have sold, moved or been pulled, so the data reads supply and price, not tickets sold. That is why the collection is set up around a specific research question: which events, which marketplaces, how often, and what you will measure.
Tickets.dev gives you the raw listings rather than a modelled index. Every row carries its marketplace, section, row, quantity, price and capture time, so the method stays yours and every number can be checked.
On October 18, 2026, we captured one Eagles at Sphere date (December 11) on seven marketplaces within about a minute. Ticketmaster had 52 primary listings for 161 tickets, with a get-in price of $303.08 all-in. Six resale marketplaces had 3,189 listings for 12,745 tickets, and the cheapest resale ticket was $385 on TickPick.
Start with the API documentation, review the complete ticket marketplace API, or try a marketplace endpoint in the playground.
Every marketplace below returns the same snapshot, so a panel across all of them needs one parser.
One capture is one event on one marketplace: the event and venue, market statistics, every listing marked primary or resale, and, with maps on, the venue's sections, rows and seats with capacities where the marketplace publishes seats.
Which event was captured: marketplace IDs, names, performers, dates in local and UTC time, and the source page URL.
sourceeventIdeventNameperformerseventDateLocaleventDateUtcsourceUrlnoteThe venue behind the event, down to street address, state, and timezone.
venueIdvenueNamevenueAddressvenueCityvenueStatevenueTimezoneWhen the snapshot ran, its currency, and hosted section-level and seat-level maps for the venue.
capturedAtcurrencysectionLevelUrlseatLevelUrlListing depth and price distribution computed from the full captured listing set, not a sample.
listingCountticketCountgetInPricemedianPriceavgPricemaxPriceAll current listings with seat location, quantities, price components, ticket type, seats, and marketplace notes.
listingIdinventoryTypesectionrowquantityticketPricefeetotalPriceticketTypesellableQuantitiesgroupseatslistingNotesdealScoreWith maps on, the venue map as data: every section, row, and seat, with capacities at seat level.
venueLayoutlevelcapacitysectionsrowsseats{ "source": "ticketmaster", "eventId": "17006483D6FAFC60", "eventName": "Eagles Live at Sphere", "performers": [ { "performerId": "734977", "name": "Eagles", "master": true } ], "venueId": "189524", "venueName": "Sphere", "venueAddress": "255 Sands Avenue", "venueCity": "Las Vegas", "venueState": "NV", "venueTimezone": "America/Los_Angeles", "eventDateLocal": "2026-12-11T20:30:00-08:00", "eventDateUtc": "2026-12-12T04:30:00+00:00", "sourceUrl": "https://www.ticketmaster.com/…", "capturedAt": "2026-08-01T22:05:48Z", "currency": "USD", "note": "PLEASE NOTE: Pricing is all-in and…", "sectionLevelUrl": "https://storage.tickets.dev/…", "seatLevelUrl": "https://storage.tickets.dev/…", "stats": { "listingCount": 136, "ticketCount": 1037, "getInPrice": 303.08, "medianPrice": 710.95, "avgPrice": 746.14, "maxPrice": 2309.85 }, "listings": [ { "inventoryType": "primary", "section": "101", "row": "34", "quantity": 2, "ticketPrice": 243.5, "fee": 59.58, "totalPrice": 303.08, "ticketType": "limited view of sphere screen…", "sellableQuantities": "1,2", "seats": "1,2" },⋯ 135 more listings], "venueLayout": { "level": "seat", "capacity": 16390, "sections": [⋯ 44 sections] } }
Generic datasets answer the questions everyone asks. A collection built around yours answers the one you have, and every number traces back to a capture.
Build your own measures from every listing rather than inheriting someone else's model.
inventoryType separates the box office's inventory from resale, so sell-through and resale pricing stay distinct measures.
Capture daily across a residency or hourly around an on-sale. Every snapshot is stamped with capturedAt and stored where you choose.
With includeVenueMaps, venueLayout counts the seats on the venue's map, so primary seats on sale can be set against the house.
Track primary seats still on sale for every date of a residency, against the venue's capacity where it is published.
Track the events that fall in a reporting quarter and read inventory and prices ahead of results.
Watch the spread between primary get-in price and the resale median over time.
Measure how many tickets stay listed as an event nears. Fewer listings aren't the same as sales, so model them as supply.
See which marketplaces carry each event, from the free event catalog, before you budget captures.
Build a panel of venues, leagues or tours with one schema across every marketplace.
Walkthroughs for building the use cases above.
Schedule captures across marketplaces and keep each snapshot as price and inventory history.
What displayed, all-in, sold and wholesale prices mean, and which sources supply each.
A venue read from captures and filings: residencies, Ticketmaster primary against resale, and the cost to collect.
Yes. Prices and inventory over time for the events behind a company give a sense of demand before earnings. Tickets.dev supplies the raw listings and capture times, and the model stays yours.
No. It reports what is on sale. A listing that disappears may have sold, been delisted or been relisted, so removals are not sales. On the primary side you can measure seats still on sale against the venue's capacity where the marketplace publishes seats.
List the dates with the free event catalog, then capture each date on each marketplace on a schedule. Store every snapshot. Primary seats on sale, resale listings and prices per date become your series.
No. Captures are live, so history starts when you start capturing. Begin before the period you need to measure.
Each successful capture is one credit, and failed captures are free. A panel costs events × marketplaces × captures per day × days. The pricing page lists the per-capture rate for each plan, and higher volumes are quoted.
It depends on the question. A common setup for a residency is one capture of every date each day, plus one 30 to 60 minutes before the event, to see what was left at the door. Line the series up against what the company reports.
Ticket data providers and datasets are built to be generic: the same events, the same fields, the same cadence for every buyer. A research question usually needs specific events, specific marketplaces and a specific cadence, so the data is collected around it.
Yes. Tell us the question, the events and the marketplaces, and we set up the collection with you: which dates to capture, how often, and what to measure. You keep every snapshot.
The API is the delivery today: you call it on your schedule and store the snapshots where you want them. For large panels, talk to us about throughput.
Send any supported event URL and get live listings, all-in prices, and seat maps back as normalized JSON. No credit card required.