Get sales data
/v0.3/salesdata/getAll 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).
Pass Authorization: Bearer <api_key>. Preferred for new integrations.
In: header
Query Parameters
SeatData Event ID
Marketplace Event ID
Response Body
application/json
curl -X GET "https://example.com/v0.3/salesdata/get?event_id=225220" \ -H "Authorization: Bearer YOUR_API_KEY"[ { "timestamp": 1624060468, "quantity": 2, "price": 44.46, "zone": "Field Outfield", "section": "109", "row": "2" }]Get event stats GET
Returns 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.
Get sales data (batch) POST
All responses are gzip encoded. Accepts up to 100 events per request, combined across both id lists after deduplication. Billing is identical to `GET /v0.3/salesdata/get` — one pull per event that returns sales data; events with no sales are free. `results` is keyed by the identifier you sent: Marketplace Event IDs appear under the marketplace id, SeatData Event IDs under the SeatData id. `errors` reports per-event failures: `not_found` for a SeatData Event ID that does not exist, `payment_required` when a pay-as-you-go balance ran out mid-batch (that event's data is withheld; events already charged are still returned).