TickPick Scraper API
Capture live TickPick ticket inventory without building or maintaining your own TickPick scraper. Send a public event URL and receive current listings, pricing, fees, sections, rows, quantities, availability, and seat maps as structured JSON.
The API endpoint is https://api.tickets.dev/v1/capture/tickpick
TickPick scraper API for live inventory
Each request captures current listing-level inventory with sections, rows, quantities, prices, fees, and optional seat maps in the same normalized JSON used across every marketplace.

{
"status": "Loading example…"}Capture a TickPick event
Submit a public event page URL. The request runs the capture and returns one normalized snapshot when it completes.
| Method | Endpoint |
|---|---|
| GET | /v1/capture/tickpick |
import requests
endpoint = "https://api.tickets.dev/v1/capture/tickpick"
response = requests.get(
endpoint,
params={"eventUrl": event_url},
headers={"x-api-key": api_key},
)
snapshot = response.json()Query parameters
| Parameter | Type | Description |
|---|---|---|
eventUrl | string required | A public TickPick event page URL to capture, from tickpick.com. Any country domain or subdomain of those works as well. The match is on the marketplace name, not the exact host. An event URL from a different marketplace returns 400 marketplace_mismatch. |
includeVenueMaps | boolean optional | Render the venue maps for this capture and host them, filling sectionLevelUrl and seatLevelUrl. Off by default, because the maps add render and upload time to a request most callers make for pricing alone, so both fields come back as empty strings unless you pass true. |
apiKey | string optional | Your API key, when you send it in the query string rather than the x-api-key header. Either is accepted, and the key is required one way or the other. Keep it server-side. It carries your full quota. The public sandbox key tk_test_sandbox hits the same URL and returns fixture snapshots without spending a capture. |
Example response
One capture of a real TickPick event, trimmed to two listings. Every marketplace returns this same shape, so a parser written once works against all of them.
{
"source": "tickpick",
"eventId": "8113666",
"eventName": "The Eagles",
"performers": [
{
"performerId": "334",
"name": "The Eagles",
"master": true
}
],
"venueId": "24908",
"venueName": "Sphere",
"venueAddress": "255 Sands Avenue",
"venueCity": "Las Vegas",
"venueState": "NV",
"venueTimezone": "America/Los_Angeles",
"eventDateLocal": "2026-12-11T20:30:00-08:00",
"eventDateUtc": "2026-12-12T04:30:00+00:00",
"sourceUrl": "https://www.tickpick.com/buy-the-eagles-tickets-sphere-12-11-26-8pm/8113666/",
"capturedAt": "2026-08-01T22:06:40.736881+00:00",
"currency": "USD",
"note": "",
"seatLevelUrl": "https://storage.tickets.dev/seatmaps/tickpick/seat/8113666/1785630342.svg",
"sectionLevelUrl": "https://storage.tickets.dev/seatmaps/tickpick/section/8113666/1785630342.svg",
"stats": {
"listingCount": 984,
"ticketCount": 3872,
"getInPrice": 414,
"medianPrice": 683,
"avgPrice": 980.84,
"maxPrice": 8119
},
"listings": [
{
"listingId": "5698666771",
"inventoryType": "resale",
"section": "110",
"row": "36",
"quantity": 2,
"ticketPrice": 414,
"fee": 0,
"totalPrice": 414,
"ticketType": "",
"sellableQuantities": "2",
"group": "",
"seats": "",
"dealScore": "",
"listingNotes": "Obstructed View; Limited view of Sphere screen - Full View of Band and Stage XFER"
},
{
"listingId": "5702785788",
"inventoryType": "resale",
"section": "301",
"row": "9",
"quantity": 3,
"ticketPrice": 415,
"fee": 0,
"totalPrice": 415,
"ticketType": "",
"sellableQuantities": "1,3",
"group": "",
"seats": "",
"dealScore": "",
"listingNotes": ""
}
// …982 more listings
]
}Real-time TickPick pricing and availability
Store successive captures to monitor new and removed listings, price changes, fee changes, quantity movement, and inventory depth over time. The ticket price API guide covers all-in comparison, price alerts, resale analytics, and dynamic pricing workflows.
TickPick API questions
What does the TickPick API return?
One normalized snapshot of the event as it looks right now: every listing with its section, row, quantity, ticket price, fee and all-in total, plus event and venue details. Ask for venue maps and the same response carries hosted section and seat level map images tied to those listings.
Why use a TickPick scraper API?
Catalog and partner APIs often focus on events, performers, or seller workflows. tickets.dev captures the inventory visible on a public event page, including current listings, buyer-facing prices, fees, quantities, locations, and availability. It also removes the browser fleet, parsers, network routing, retries, and marketplace page maintenance involved in operating a production scraper.
Which TickPick URLs does it accept?
Any public event page URL from tickpick.com. Country domains and subdomains work as well. The match is on the marketplace, not the exact host.
Is the TickPick data live or cached?
Live. Each call opens the event page and reads its current listings and prices. There is no crawl schedule to wait on and no cached row to go stale.
Does TickPick use the same response shape as the other marketplaces?
Yes. Every tickets.dev marketplace API returns the identical snapshot schema, so a parser written against TickPick works unchanged against Ticketmaster, Vivid Seats, StubHub, SeatGeek, Gametime, Viagogo, GoTickets and Paciolan.
How is the TickPick API priced?
Per completed capture, starting at $0.050 each on the Starter plan. Failed requests are never charged, and every plan includes every marketplace and live seat maps.
Other marketplace APIs
The same endpoint shape and the same response schema cover every marketplace we support: Ticketmaster API, Vivid Seats API, StubHub API, SeatGeek API, Gametime API, Viagogo API, GoTickets API, and Paciolan API. Start with the ticket scraping API, explore live ticket inventory and real-time ticket pricing, see every ticket marketplace API, check per-capture pricing, or talk to us about volume.