Skip to main content

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 with one unified interface.

Every SDK response is automatically tagged with:

  • platform
  • event_url
  • optional mode / qty
  • http_status
  • started_at
  • response_ms
  • and the untouched API payload under result

🚀 Features

  • Async + concurrent — powered by aiohttp, optimized for high throughput
  • Multi-platform support — fetch from all major ticketing marketplaces
  • Automatic metadata tagging — platform + timing info added to each result
  • Configurable concurrency — control how many requests run in parallel
  • Retry & timeout logic built in
  • Flexible job loading — JSON, DB, queues, CSV

⚙️ 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,
        timeout=30,
        include_metadata=True
    )

    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)
        print("-----")

    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-carppenter-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", include_metadata=True)
    results = await client.fetch_many(jobs)
    print(results)

    await client.close()

asyncio.run(main())

💡 Understanding concurrency

Concurrency controls how many API requests run simultaneously.

client = TicketsDataClient(concurrency=10)

This allows 10 requests in parallel, greatly improving throughput.

Recommended settings

  • 3–5 → safe, low quota usage
  • 10–20 → optimal speed
  • 30+ → only on dedicated plans

Shared plans (Starter/Pro) include soft concurrency limits to ensure stable performance.
Dedicated environments remove these limits entirely.


⚙️ Parameters

Parameter Type Default Description
username str required TicketsData username
password str required TicketsData password
base_url str "https://ticketsdata.com/fetch" API endpoint
concurrency int 5 Number of parallel requests
timeout int 25 Timeout per request
max_retries int 2 Retry count for network errors
include_metadata bool True Attach platform + timing metadata to results

📚 Result Format (inside "result")

{
  "platform": "ticketmaster",
  "event_url": "https://www.ticketmaster.com/...",
  "http_status": 200,
  "response_ms": 1388,
  "result": {
    "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

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

ticketsdata_client-1.0.2.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ticketsdata_client-1.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file ticketsdata_client-1.0.2.tar.gz.

File metadata

  • Download URL: ticketsdata_client-1.0.2.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for ticketsdata_client-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c9464af8d2ba81ea6034ca23237b135d5cc6f3c37b96362e79db6857fe981c7d
MD5 4536eb1557dcd9bc178f4ba2b2962948
BLAKE2b-256 e6eceb7861f59e158b558852ae5a0e42184bf79338ce6d5f04c2fc7a02b8e7e9

See more details on using hashes here.

File details

Details for the file ticketsdata_client-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ticketsdata_client-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 36861f2ec1b34a6f9539e31e12505325462fe730f235b949e70bf4261277f9ec
MD5 5c07f9f392260cff8b622c8873dc8516
BLAKE2b-256 f9011853c0d7faa2fc033459ea4ed80f9ea9e226206370ede916aa8a373d3d4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page