Async Python client for TicketsData API
Project description
🧩 ticketsdata-client
Async Python SDK for TicketsData.com Supports all marketplaces: Ticketmaster, StubHub, Gametime, SeatGeek, TickPick, and VividSeats.
🚀 Features
- Async + concurrent — powered by
aiohttp, scales cleanly. - Multi-platform — one client for all supported marketplaces.
- Configurable concurrency — control how many requests run at once.
- Retry & timeout handling built in.
- Easy job loading — feed event URLs from JSON, CSV, or a database.
⚙️ Installation
pip install ticketsdata-client
🧠 Quick usage
import asyncio
from ticketsdata_client import TicketsDataClient
async def main():
client = TicketsDataClient(
username="YOUR_EMAIL",
password="YOUR_PASSWORD",
concurrency=10, # how many requests run in parallel
timeout=30 # seconds per request
)
jobs = [
{"platform": "ticketmaster", "event_url": "https://www.ticketmaster.com/lady-gaga-the-mayhem-ball-boston-massachusetts-03-29-2026/event/01006323DE0B7BE1"},
{"platform": "stubhub", "event_url": "https://www.stubhub.com/sabrina-carpenter-los-angeles-tickets-11-23-2025/event/157413810/"},
{"platform": "seatgeek", "event_url": "https://seatgeek.com/sabrina-carpenter-tickets/los-angeles-california-crypto-com-arena-2025-11-23-7-pm/concert/17400739"},
{"platform": "vividseats", "event_url": "https://www.vividseats.com/sabrina-carpenter-tickets-los-angeles-cryptocom-arena-11-23-2025--concerts-pop/production/5599667"},
{"platform": "tickpick", "event_url": "https://www.tickpick.com/buy-playboi-carti-tickets-state-farm-arena-ga-12-1-25-7pm/7364698/"},
{"platform": "gametime", "event_url": "6908d769dfe85fe8ad73cd62", "mode": "all"}
]
results = await client.fetch_many(jobs)
for r in results:
print(r)
await client.close()
asyncio.run(main())
🧾 Example jobs.json
[
{"platform": "ticketmaster", "event_url": "https://www.ticketmaster.com/lady-gaga-the-mayhem-ball-boston-massachusetts-03-29-2026/event/01006323DE0B7BE1"},
{"platform": "stubhub", "event_url": "https://www.stubhub.com/sabrina-carpenter-los-angeles-tickets-11-23-2025/event/157413810/"},
{"platform": "seatgeek", "event_url": "https://seatgeek.com/sabrina-carpenter-tickets/los-angeles-california-crypto-com-arena-2025-11-23-7-pm/concert/17400739"},
{"platform": "vividseats", "event_url": "https://www.vividseats.com/sabrina-carpenter-tickets-los-angeles-cryptocom-arena-11-23-2025--concerts-pop/production/5599667"},
{"platform": "tickpick", "event_url": "https://www.tickpick.com/buy-playboi-carti-tickets-state-farm-arena-ga-12-1-25-7pm/7364698/"},
{"platform": "gametime", "event_url": "6908d769dfe85fe8ad73cd62", "mode": "all"}
]
Load from file:
import json, asyncio
from ticketsdata_client import TicketsDataClient
async def main():
with open("jobs.json") as f:
jobs = json.load(f)
client = TicketsDataClient(username="YOUR_EMAIL", password="YOUR_PASSWORD")
results = await client.fetch_many(jobs)
print(results)
await client.close()
asyncio.run(main())
💡 Understanding concurrency
Concurrency controls how many API requests run in parallel.
Example:
client = TicketsDataClient(concurrency=10)
→ The client can send up to 10 requests at the same time.
- Lower values (3–5): safer, uses less quota.
- Medium (10–20): balanced for speed.
- High (30+): faster but consumes quota quickly and may overload slower networks.
Allowed concurrency also depends on your TicketsData subscription plan or any custom usage allowance configured for your account.
⚙️ Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
username |
str |
required | TicketsData account username |
password |
str |
required | TicketsData account password |
base_url |
str |
"https://ticketsdata.com/fetch" |
API endpoint |
concurrency |
int |
5 |
How many requests to run in parallel |
timeout |
int |
25 |
Max seconds per request |
max_retries |
int |
2 |
How many times to retry a failed request |
📚 API output format
Each result is a JSON object returned by the TicketsData API:
{
"status": 200,
"body": {
"status_code": 200,
"event_id": "18006342AD8BE4D8",
"items": { "totalListings": 1432, "offers": [...] },
"response_s": 0.92,
"quota_remaining": 9924
},
"response_s": 0.923
}
🧩 License
MIT © TicketsData.com
🧠 Support
- Website: https://ticketsdata.com
- Contact: info@ticketsdata.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ticketsdata_client-1.0.1.tar.gz.
File metadata
- Download URL: ticketsdata_client-1.0.1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4fdf09ce02e0b6b088f8545f4b89d77306bb00f8b0101db52d5ec7445972770
|
|
| MD5 |
9e3d614f047093060adbec9731b72e01
|
|
| BLAKE2b-256 |
9fd3c799807d026372f6ef19ab920f870bb16a06693dcc779e120b4b7da0591a
|
File details
Details for the file ticketsdata_client-1.0.1-py3-none-any.whl.
File metadata
- Download URL: ticketsdata_client-1.0.1-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac4e04398426701418c14d89a44a11ad86d88e64299a7696d283ddf309c0ba93
|
|
| MD5 |
4d60d12964b49a81213b8735d11a5fe8
|
|
| BLAKE2b-256 |
7f5bcdf48d6250eedd5228ff3894e3afa372158c1e143f93efa3fd6df628326e
|