SeatDataDocs
Event Ticket Datasets

Data Structure

Detailed field definitions and data structures for SeatData's datasets. Understand the schema for sales data, listing data, event stats data, and event reference tables with comprehensive field descriptions and examples.

CSV Format

All dataset exports, including Dataset Update services, adhere to RFC 4180.

Field Definitions

SeatData offers three datasets — Sales, Listings, and Event Stats — delivered as the following files:

DatasetFileSchema
SalesSalesSales Dataset
ListingsListings (flat file)Listing Dataset
ListingsListing ChangesListing Changes
Event StatsEvent StatsEvent Stats Dataset
Event StatsEvent Stats ZonesEvent Stats Dataset
Included with any purchaseEvent ReferenceEvent Reference

Sales Dataset

Each row represents a completed ticket sale with the following fields:

FieldTypeDescriptionExample
timestampStringISO 8601 datetime (YYYY-MM-DD HH:MM:SS)2021-05-28 03:10:26
event_idIntegerMarketplace Event ID0123456789
listing_idIntegerMarketplace Listing ID9876543210
quantity_oldIntegerQuantity before the sale (0 if unknown)6
quantityIntegerQuantity after the sale (0 if unknown)2
priceFloatPrice per ticket in USD17.09
zoneStringVenue zone designationLower Bowl
sectionStringVenue section105
rowStringVenue row12
Sample Records
timestamp,event_id,listing_id,quantity_old,quantity,price,zone,section,row
2025-09-15 13:49:05,0123456789,9876543210,0,0,292.0,Orchestra,ORCH3,C
2025-09-15 13:30:22,0123456789,9876543210,0,0,135.0,3rd Mezzanine,3RDMZ2,
2025-09-15 21:30:22,0123456789,9876543210,0,0,137.0,Orchestra,ORCH3,
2025-09-15 16:38:27,0123456789,9876543210,0,0,179.0,Plaza Level,227,
2025-09-15 16:38:27,0123456789,9876543210,0,0,213.0,Plaza Level,202,S
2025-09-15 19:54:33,0123456789,9876543210,0,0,149.0,Main Floor,3,
2025-09-15 17:10:28,0123456789,9876543210,0,0,100.0,General Admission,General Admission,1
2025-09-15 13:38:27,0123456789,9876543210,0,0,154.0,Lower,127,W
2025-09-15 16:38:27,0123456789,9876543210,0,0,156.0,Lower,103,
2025-09-15 20:54:30,0123456789,9876543210,0,0,130.0,Orchestra,ORCHRT,RR
2025-09-15 16:54:30,0123456789,9876543210,0,0,154.0,First Dress Circle,DRA,L
2025-09-15 20:38:28,0123456789,9876543210,0,0,205.0,Lower,111,28
2025-09-15 23:38:28,0123456789,9876543210,0,0,514.0,Lower,114,6

Listing Dataset

Current state or last known state of all tracked listings:

FieldTypeDescriptionExample
idIntegerUnique row identifier123456789
activeInteger1 = the listing was available at the last scan; 0 = the listing is no longer available1
event_idIntegerEvent identifier0123456789
listing_idIntegerListing identifier9876543210
starting_qtyIntegerInitial quantity when first observed4
ending_qtyIntegerCurrent quantity2
priceFloatCurrent price per ticket in USD125.00
zoneStringVenue zoneLower Bowl
sectionStringVenue section105
rowStringVenue row20
created_atStringISO 8601 datetime when first observed (YYYY-MM-DD HH:MM:SS)2021-05-28 12:30:45
updated_atStringISO 8601 datetime of last modification (YYYY-MM-DD HH:MM:SS)2021-05-29 14:15:20

Timestamp availability

created_at and updated_at were added to the dataset in September 2025. Rows recorded before their introduction have null values in those fields.

Row Uniqueness and Deduplication

The combination of event_id and listing_id is not unique — the same listing can appear in multiple rows (for example, after price changes). Each row has a unique id. To reduce to a single row per listing, use the row with the highest id; for listings with a non-null created_at, take the created_at value from the lowest id.

What a Row Represents

For events that have ended, rows reflect the system's final scan of the event — the resting state for many past events is active = 0. To reconstruct how listings changed over time, use the Listing Changes dataset.

Sample Records
id,active,event_id,listing_id,starting_qty,ending_qty,price,zone,section,row,created_at,updated_at
100000001,0,0123456789,9876543210,2,2,280.49,Suite,14,10,2021-05-15 09:20:15,2021-05-16 11:45:30
100000002,0,0123456789,9876543210,2,2,315.51,Lower,125,12,2021-05-15 10:30:22,2021-05-16 12:15:45
100000003,1,0123456789,9876543210,2,2,330.49,Suite,5,14,2021-05-15 11:15:33,2021-05-16 13:20:10
100000004,0,0123456789,9876543210,3,3,336.49,Lower,105,15,2021-05-15 12:45:18,2021-05-16 14:30:55
100000005,0,0123456789,9876543210,1,1,381.04,Floor,Floor 3,15,2021-05-15 13:20:45,2021-05-16 15:10:20
100000006,0,0123456789,9876543210,4,4,391.76,Lower,115,12,2021-05-15 14:10:12,2021-05-16 16:20:30
100000007,0,0123456789,9876543210,2,2,393.73,Lower,123,18,2021-05-15 15:30:55,2021-05-16 17:45:15
100000008,0,0123456789,9876543210,2,2,395.70,Lower,125,8,2021-05-15 16:20:33,2021-05-16 18:30:45
100000009,0,0123456789,9876543210,1,1,464.49,Suite,3,15,2021-05-15 17:15:20,2021-05-16 19:20:10
100000010,0,0123456789,9876543210,2,2,526.49,Suite,3,12,2021-05-15 18:45:10,2021-05-16 20:15:30
100000011,0,0123456789,9876543210,1,1,529.49,Suite,3,21,2021-05-15 19:30:45,2021-05-16 21:10:15
100000012,0,0123456789,9876543210,1,1,660.49,Suite,3,15,2021-05-15 20:15:22,2021-05-16 22:30:45
100000013,0,0123456789,9876543210,1,1,791.49,Suite,3,16,2021-05-15 21:20:30,2021-05-16 23:45:10
100000014,0,0123456789,9876543210,2,2,1312.49,,FLR1,6,2021-05-15 22:10:15,2021-05-17 08:30:20
100000015,0,0123456789,9876543210,2,2,1508.49,,FLR1,6,2021-05-15 23:30:45,2021-05-17 09:15:30
100000016,1,0123456789,9876543210,2,2,6.00,Mezzanine,Mezzanine,G,2021-05-16 08:20:10,2021-05-17 10:45:15
100000017,1,0123456789,9876543210,9,9,410.72,Mezzanine,Mezzanine,G,2021-05-16 09:15:30,2021-05-17 11:30:45
100000018,0,0123456789,9876543210,10,10,88.70,,BL24,S,2021-05-16 10:30:20,2021-05-17 12:15:10
100000019,0,0123456789,9876543210,5,5,89.86,,BL21,R,2021-05-16 11:45:15,2021-05-17 13:20:30
100000020,0,0123456789,9876543210,10,10,90.14,,BL22,U,2021-05-16 12:20:45,2021-05-17 14:30:55

Listing Changes

Historical changes to listings since June 2, 2022 (over 9 billion records as of mid-2026):

FieldTypeDescriptionExample
timestampStringISO 8601 datetime (YYYY-MM-DD HH:MM:SS)2022-11-04 23:33:30
event_idIntegerEvent identifier0123456789
listing_idIntegerListing identifier9876543210
change_typeStringType of changeprice_change
field_changedStringField that changed (for *_change types)price
old_valueStringPrevious value before change125.00
new_valueStringNew value after change111.79

Change Types

Change TypeDescriptionDate AddedField Changed
price_changePrice modificationJun 2, 2022price
deact_soldListing deactivated or soldJun 2, 2022active*
new_listingListing first appearedJun 2, 2022(empty)
found_listing_previously_deactivatedReactivated listingJun 2, 2022active*
section_changeSection modificationJun 2, 2022section
zone_changeZone modificationJul 22, 2025zone
quantity_changeAvailable quantity changedJul 22, 2025quantity
row_changeRow modificationJul 22, 2025row

*The active field tracking for deact_sold and found_listing_previously_deactivated was added in July 2025.

Data Evolution

The zone_change, quantity_change, and row_change types were introduced in July 2025, representing an enhancement to the tracking system that now captures more granular listing modifications.

Sample Records
timestamp,event_id,listing_id,change_type,field_changed,old_value,new_value
2022-11-14 19:27:20,0123456789,9876543210,deact_sold,,,
2022-07-05 08:20:49,0123456789,9876543210,found_listing_previously_deactivated,,,
2022-11-02 15:01:00,0123456789,9876543210,new_listing,,,
2022-11-04 23:33:30,0123456789,9876543210,price_change,price,125.00,100.91
2025-08-06 17:26:43,0123456789,9876543210,quantity_change,quantity,2,1
2025-07-22 19:42:04,0123456789,9876543210,row_change,row,KK,LL
2022-07-05 08:20:49,0123456789,9876543210,section_change,section,Orchestra Left,Orchestra Right
2025-08-07 14:28:03,0123456789,9876543210,zone_change,zone,Balkon,Parkett

Data Quality Notes

  • Duplicate rows occur. Multiple collection processes can observe the same change at the same time, producing duplicate (occasionally triplicate) entries. Deduplicate before reconstructing listing history.
  • old_value can be stale when duplicates exist — place more weight on new_value, which is the system's observation at the given time.
  • A small share of early historical rows (under 0.5%) have a null timestamp.

Data Continuity Gaps

Known Data Gaps

The Listing Changes dataset has periods where no data was collected.

PeriodDuration
Nov 3, 20241 day
Nov 7, 20241 day
Apr 26 - Jul 21, 202566 days

Event Stats Dataset

SeatData records a snapshot of listing statistics for the events it tracks, currently three times a day. History starts on February 12, 2024. The dataset is delivered as two files: Event Stats holds one row per snapshot, and Event Stats Zones holds the zone rows of those snapshots. Join the two files on event_stats_id.

Event Stats

Each row represents one snapshot of one event:

FieldTypeDescriptionExample
event_stats_idIntegerSnapshot identifier, unique115000000
event_idIntegerEvent identifier0123456789
logged_atStringTime the snapshot was recorded, Pacific time, YYYY-MM-DD HH:MM:SS2026-10-01 06:00:00
total_listings_allIntegerListings SeatData has recorded for the event, active and inactive412
total_listings_activeIntegerListings active at the snapshot286
event_averageFloatAverage price of the active listings, after high-end outliers are removed142.37
event_medianFloatMedian price of the active listings, after high-end outliers are removed129.00
event_lowest_priceFloatThe event's get-in price recorded at the time of the snapshot, for any quantity54.00
event_lowest_price_q2plusFloatThe event's get-in price recorded at the time of the snapshot, for 2 or more tickets61.00

A snapshot of an event with no active listings has empty price fields and no zone rows.

Event Stats Zones

Each row represents one zone of one snapshot:

FieldTypeDescriptionExample
event_stats_idIntegerThe snapshot the row belongs to115000000
event_idIntegerEvent identifier0123456789
zone_nameStringVenue zoneLower Bowl
lowest_priceFloatLowest active listing price in the zone at the snapshot, for any quantity67.00
lowest_price_q2plusFloatLowest active listing price in the zone at the snapshot, for 2 or more tickets72.00
meanFloatMean active listing price in the zone, after high-end outliers are removed118.45
medianFloatMedian active listing price in the zone, after high-end outliers are removed109.00

Listings without a zone appear in no zone row.

Event Reference

Event metadata included with all datasets:

FieldTypeDescriptionExample
id_stubhubIntegerMarketplace Event ID. The same ID appears as event_id in the Sales, Listings, Listing Changes, Event Stats, and Event Stats Zones files0123456789
event_nameStringEvent nameYankees vs Red Sox
event_typeStringEvent type from SeatData's standardized event match. Blank when the event has no standardized matchsports
primary_performerStringPrimary performer from the standardized event match. Blank when the event has no standardized match—
tour_nameStringTour name from the standardized event match. Blank when the event has no standardized match or no tour name—
event_dateDateEvent date (YYYY-MM-DD)2024-07-15
event_timeTimeEvent time local (HH:MM:SS)19:05:00
venue_nameStringVenue name. Comes from SeatData's standardized venue when one exists, otherwise from the event recordYankee Stadium
venue_cityStringVenue city. Comes from SeatData's standardized venue when one exists, otherwise from the event recordNew York
venue_stateStringVenue state/province. Comes from SeatData's standardized venue when one exists, otherwise from the event recordNY
venue_state_fullStringFull venue state/province name from the standardized venue. Blank when the event has no standardized venueNew York
country_codeStringVenue country code from the standardized venue. Blank when the event has no standardized venueUS
countryStringVenue country name from the standardized venue. Blank when the event has no standardized venue—
venue_typeStringVenue type from the standardized venue. Blank when the event has no standardized venuevenue
is_internationalIntegerInternational venue flag from the standardized venue: 1 or 0. Blank when the event has no standardized venue0
seatdata_event_idIntegerSeatData Event ID, the same ID the API returns as seatdata_event_id. Use it with id_stubhub to map SeatData Event IDs to Marketplace Event IDs1117621

On this page