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/
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
- Log into your SeatData account
- Navigate to the Pricing page
- 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
- After subscribing, click "API Keys" in the sidebar
- Click "Generate API Key"
- Copy your API key immediately—for security, it will only be shown once
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
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)
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
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
resultsobject 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.