Skip to main content

Getting Started with the SeatData API

Follow these instructions to begin using the SeatData API.

Step 1: Create an Account

If you don't already have a SeatData account, create one at: https://seatdata.io/register/

Existing Users

If you already have a SeatData account (Basic, Pro, etc.), you can add API access to your existing account—no need to create a new one.

Step 2: Subscribe to API Access

  1. Log into your SeatData account
  2. Navigate to the Pricing page
  3. Choose an API subscription tier or pay-as-you-go and complete checkout

API access is available two ways: monthly subscription tiers that include a set request allowance (requests beyond the allowance bill at your tier's overage rate), or pay-as-you-go with no subscription, billed per request from a prepaid credit balance. Current rates are listed on the Pricing page.

Step 3: Generate Your API Key

  1. After subscribing, click "API Keys" in the sidebar
  2. Click "Generate API Key"
  3. Copy your API key immediately—for security, it will only be shown once
Important

Store your API key securely. If you lose it, you'll need to regenerate a new one (which invalidates the old key).

Step 4: Using the API

Authentication

All API requests must be authenticated. Send your API key as a bearer token (preferred):

Authorization: Bearer <your-64-character-key>

The legacy api-key header is also accepted on any endpoint:

api-key: <your-64-character-key>

API Documentation

Full API documentation is available at: https://app.swaggerhub.com/apis-docs/seatdata/SeatDataAPI/

Example Request (Python SDK)

from seatdata import SeatDataClient

# Initialize client with your API key
client = SeatDataClient(api_key="your_64_char_api_key")

# Search for events
events = client.search_events(
venue_name="Madison Square Garden",
venue_city="New York"
)

# Get sales data for an event
sales_data = client.get_sales_data(event_id="1234567")

# Get current listings
listings = client.get_listings(event_id="1234567")

Example Request (Python)

Below is a simple example request in Python to communicate, receive a response, JSON decode, and display the result:

import requests
import json

req = requests.get("https://seatdata.io/api/v0.3.1/salesdata/get?event_id=328852",
headers={
"api-key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
},
)

json_decoded = json.loads(req.content)

for i in json_decoded:
print(i)
note

The Python requests library automatically decompresses GZIP responses.

Pricing

The API is billed per request, either against your subscription tier's monthly allowance or against your pay-as-you-go credit balance. Current rates for every tier and pay-as-you-go are listed on the Pricing page.

What Counts as a Billable API Call?

Not all API requests result in charges. Here's what counts as a billable call:

Sales Endpoint

  • Charged: All requests that return at least one sale
  • Not charged: Requests that return no sales data

Listings Endpoint

  • Charged: Only when listings have been updated since your last request
  • Not charged: Requests where no listings have changed since your previous call

Event Stats Endpoint

  • Charged: Only when the call returns statistics recorded since your last paid request for that event
  • Not charged: Requests with no new statistics, and paging through a result set with the cursor
Cost Optimization

The Listings and Event Stats endpoints only charge for new or updated data, helping you minimize costs while staying up-to-date.

Batch Sales Data Requests

To fetch sales data for multiple events in one call, use POST /v0.3/salesdata/batch instead of calling the sales data endpoint once per event.

  • Accepts up to 100 events per request.
  • Send a JSON body with event_ids (SeatData Event IDs), event_ids_sh (marketplace event IDs), or both.
  • The response's results object is keyed by whichever identifier you sent for each event.
  • Billing is identical to the single sales data endpoint: one pull per event that returns sales data. Events with no sales are free.
  • Responses are gzip encoded.

See the API Reference for the full request and response schema.

Data Freshness for Requested Events

Requesting an event through the sales or listings endpoints prioritizes it for re-scanning — prioritized events are scanned at least every 30 minutes.

Daily Event CSV Download

If you subscribe to the Daily Event CSV add-on, the nightly file can also be retrieved through the API with GET /v0.5/daily-csv/download. The endpoint returns the CSV once it has been generated — even if the email delivery failed — making it a reliable alternative to inbox delivery for scheduled pipelines. See the API Reference for details.

Monitoring Usage

View your API usage by clicking "API Keys" in the sidebar. The usage dashboard shows:

  • Total requests for the current billing period
  • Breakdown by endpoint (Sales Data vs Listings)

Usage is updated every 15 minutes. Billing details for the current period are available at Dashboard → API Billing.

Managing Your API Key

From the API Keys page, you can:

  • Regenerate your key if compromised (immediately invalidates the old key)
  • Revoke your key to disable API access
  • Generate additional keys — multiple keys per account are supported for separate applications or environments

Need Help?

If you have any questions or run into issues, please contact us at support@seatdata.io.