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:
| Dataset | File | Schema |
|---|---|---|
| Sales | Sales | Sales Dataset |
| Listings | Listings (flat file) | Listing Dataset |
| Listings | Listing Changes | Listing Changes |
| Event Stats | Event Stats | Event Stats Dataset |
| Event Stats | Event Stats Zones | Event Stats Dataset |
| Included with any purchase | Event Reference | Event Reference |
Sales Dataset
Each row represents a completed ticket sale with the following fields:
| Field | Type | Description | Example |
|---|---|---|---|
timestamp | String | ISO 8601 datetime (YYYY-MM-DD HH:MM:SS) | 2021-05-28 03:10:26 |
event_id | Integer | Marketplace Event ID | 0123456789 |
listing_id | Integer | Marketplace Listing ID | 9876543210 |
quantity_old | Integer | Quantity before the sale (0 if unknown) | 6 |
quantity | Integer | Quantity after the sale (0 if unknown) | 2 |
price | Float | Price per ticket in USD | 17.09 |
zone | String | Venue zone designation | Lower Bowl |
section | String | Venue section | 105 |
row | String | Venue row | 12 |
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,6Listing Dataset
Current state or last known state of all tracked listings:
| Field | Type | Description | Example |
|---|---|---|---|
id | Integer | Unique row identifier | 123456789 |
active | Integer | 1 = the listing was available at the last scan; 0 = the listing is no longer available | 1 |
event_id | Integer | Event identifier | 0123456789 |
listing_id | Integer | Listing identifier | 9876543210 |
starting_qty | Integer | Initial quantity when first observed | 4 |
ending_qty | Integer | Current quantity | 2 |
price | Float | Current price per ticket in USD | 125.00 |
zone | String | Venue zone | Lower Bowl |
section | String | Venue section | 105 |
row | String | Venue row | 20 |
created_at | String | ISO 8601 datetime when first observed (YYYY-MM-DD HH:MM:SS) | 2021-05-28 12:30:45 |
updated_at | String | ISO 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:55Listing Changes
Historical changes to listings since June 2, 2022 (over 9 billion records as of mid-2026):
| Field | Type | Description | Example |
|---|---|---|---|
timestamp | String | ISO 8601 datetime (YYYY-MM-DD HH:MM:SS) | 2022-11-04 23:33:30 |
event_id | Integer | Event identifier | 0123456789 |
listing_id | Integer | Listing identifier | 9876543210 |
change_type | String | Type of change | price_change |
field_changed | String | Field that changed (for *_change types) | price |
old_value | String | Previous value before change | 125.00 |
new_value | String | New value after change | 111.79 |
Change Types
| Change Type | Description | Date Added | Field Changed |
|---|---|---|---|
price_change | Price modification | Jun 2, 2022 | price |
deact_sold | Listing deactivated or sold | Jun 2, 2022 | active* |
new_listing | Listing first appeared | Jun 2, 2022 | (empty) |
found_listing_previously_deactivated | Reactivated listing | Jun 2, 2022 | active* |
section_change | Section modification | Jun 2, 2022 | section |
zone_change | Zone modification | Jul 22, 2025 | zone |
quantity_change | Available quantity changed | Jul 22, 2025 | quantity |
row_change | Row modification | Jul 22, 2025 | row |
*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,ParkettData 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_valuecan be stale when duplicates exist — place more weight onnew_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.
| Period | Duration |
|---|---|
| Nov 3, 2024 | 1 day |
| Nov 7, 2024 | 1 day |
| Apr 26 - Jul 21, 2025 | 66 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:
| Field | Type | Description | Example |
|---|---|---|---|
event_stats_id | Integer | Snapshot identifier, unique | 115000000 |
event_id | Integer | Event identifier | 0123456789 |
logged_at | String | Time the snapshot was recorded, Pacific time, YYYY-MM-DD HH:MM:SS | 2026-10-01 06:00:00 |
total_listings_all | Integer | Listings SeatData has recorded for the event, active and inactive | 412 |
total_listings_active | Integer | Listings active at the snapshot | 286 |
event_average | Float | Average price of the active listings, after high-end outliers are removed | 142.37 |
event_median | Float | Median price of the active listings, after high-end outliers are removed | 129.00 |
event_lowest_price | Float | The event's get-in price recorded at the time of the snapshot, for any quantity | 54.00 |
event_lowest_price_q2plus | Float | The event's get-in price recorded at the time of the snapshot, for 2 or more tickets | 61.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:
| Field | Type | Description | Example |
|---|---|---|---|
event_stats_id | Integer | The snapshot the row belongs to | 115000000 |
event_id | Integer | Event identifier | 0123456789 |
zone_name | String | Venue zone | Lower Bowl |
lowest_price | Float | Lowest active listing price in the zone at the snapshot, for any quantity | 67.00 |
lowest_price_q2plus | Float | Lowest active listing price in the zone at the snapshot, for 2 or more tickets | 72.00 |
mean | Float | Mean active listing price in the zone, after high-end outliers are removed | 118.45 |
median | Float | Median active listing price in the zone, after high-end outliers are removed | 109.00 |
Listings without a zone appear in no zone row.
Event Reference
Event metadata included with all datasets:
| Field | Type | Description | Example |
|---|---|---|---|
id_stubhub | Integer | Marketplace Event ID. The same ID appears as event_id in the Sales, Listings, Listing Changes, Event Stats, and Event Stats Zones files | 0123456789 |
event_name | String | Event name | Yankees vs Red Sox |
event_type | String | Event type from SeatData's standardized event match. Blank when the event has no standardized match | sports |
primary_performer | String | Primary performer from the standardized event match. Blank when the event has no standardized match | — |
tour_name | String | Tour name from the standardized event match. Blank when the event has no standardized match or no tour name | — |
event_date | Date | Event date (YYYY-MM-DD) | 2024-07-15 |
event_time | Time | Event time local (HH:MM:SS) | 19:05:00 |
venue_name | String | Venue name. Comes from SeatData's standardized venue when one exists, otherwise from the event record | Yankee Stadium |
venue_city | String | Venue city. Comes from SeatData's standardized venue when one exists, otherwise from the event record | New York |
venue_state | String | Venue state/province. Comes from SeatData's standardized venue when one exists, otherwise from the event record | NY |
venue_state_full | String | Full venue state/province name from the standardized venue. Blank when the event has no standardized venue | New York |
country_code | String | Venue country code from the standardized venue. Blank when the event has no standardized venue | US |
country | String | Venue country name from the standardized venue. Blank when the event has no standardized venue | — |
venue_type | String | Venue type from the standardized venue. Blank when the event has no standardized venue | venue |
is_international | Integer | International venue flag from the standardized venue: 1 or 0. Blank when the event has no standardized venue | 0 |
seatdata_event_id | Integer | SeatData 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 IDs | 1117621 |
SeatData Event Ticket Datasets
Access comprehensive historical ticket sales and listing data with SeatData's event ticket datasets. Get 80M+ sales records, 2.5B+ listings, and daily updates for live events, sports, and entertainment venues.
Event Ticket Updates Subscription
Subscribe to daily incremental updates for ticket listings, sales, and event stats data. Get automated delivery of new and modified records via email or S3 storage with flexible delivery options and comprehensive field-level change tracking.