Get event stats
/v1/events/{event_id}/statsReturns the historical event_stats time series for a single event. Each snapshot row includes event-level aggregates (avg/median price, get-in price, listing fill rate) AND inline zone-level breakdowns for every zone in that snapshot.
Billing rules
| Scenario | Charged a pull? |
|---|---|
| First request for an event (no cursor, snapshots exist) | Yes - 1 pull |
| Follow-up paginated page (cursor present) | No (continuation) |
| Repeat first-page request, no new snapshot since last paid pull | No (freshness rule) |
| Repeat first-page request, new snapshot logged in between | Yes - 1 pull |
| Event has no event_stats rows yet | No (empty result, free) |
The freshness rule means polling for "is there fresh data?" only costs when there's actually new data to consume.
Pagination
Cursor-based. The first page response includes total_count and
available_zones; subsequent paginated pages omit them. Cursors
expire after 1 hour.
Pass Authorization: Bearer <api_key>. Preferred for new integrations.
In: header
Path Parameters
SeatData internal event id (from /v1/events/search)
Query Parameters
Filter snapshots after this time. ISO-8601 date or datetime.
Filter snapshots before this time. ISO-8601 date or datetime.
Max snapshots per page (default 100, max 200)
value <= 200100Cursor from a previous response's next_cursor
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/events/225220/stats?start_date=2026-04-01&end_date=2026-04-30" \ -H "Authorization: Bearer YOUR_API_KEY"{ "event_id": 589342, "available_zones": [ "Lower Bowl", "Mezzanine", "Upper Deck", "Nosebleed" ], "total_count": 487, "data": [ { "timestamp": "2026-04-26T14:30:00Z", "total_listings_all": 487, "total_listings_active": 312, "listing_fill_rate": 0.64, "avg_price": 245.5, "median_price": 198, "get_in": 89, "get_in_qty2plus": 145, "zones": [ { "zone_name": "Lower Bowl", "avg_price": 412.75, "median_price": 395, "get_in": 285, "get_in_qty2plus": 320 } ] } ], "has_more": true, "next_cursor": "string"}Search events GET
Modern replacement for the v0.3.1 POST search. Returns event metadata with standardization (normalized venue name, country, lat/lng, slug, performer, tour name) flattened into each item. Use this to discover `event_id` values for the paid stats endpoint. No charge per call. ## Pricing principle This endpoint returns metadata only - never time-series or aggregate data derived from observed marketplace activity. Sales/listings data is paid via the dedicated endpoints. ## Pagination Cursor-based. Pass `starting_after` with the value from `next_cursor` to fetch the next page. Cursors expire after 1 hour.
Get sales data GET
All responses are gzip encoded. You must pass either a **SeatData Event ID** (from the `/v0.3.1/events/search` or `/v1/events/search` endpoints) or a **Marketplace Event ID** (obtained separately).