tickets.dev

TickPick Scraper API

Capture live TickPick ticket inventory without building or maintaining your own TickPick scraper. Send a public tickpick.com event URL and receive current listings, pricing, fees, sections, rows, quantities, availability, and seat maps as structured JSON, captured live and never cached.

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.

0% Progress
Loading example…
Number of tickets
Get up to 10% back with Credit Boost
Get Notified on Price Drops
JSON response
{
  "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.

MethodEndpoint
GET/v1/capture/tickpick
Code to integrate
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

ParameterTypeDescription
eventUrlstring
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.
includeVenueMapsboolean
optional
Render the venue maps for this capture and host them, filling sectionLevelUrl and seatLevelUrl, and fill venueLayout with the sections, rows and seats of the venue. Off by default, because the maps add render and upload time to a request most callers make for pricing alone, so the URLs come back as empty strings and venueLayout at level none unless you pass true.
apiKeystring
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-09-22T15:51:09.168516+00:00",
  "currency": "USD",
  "note": "",
  "seatLevelUrl": "https://storage.tickets.dev/seatmaps/tickpick/seat/8113666/1790092269.svg",
  "sectionLevelUrl": "https://storage.tickets.dev/seatmaps/tickpick/section/8113666/1790092268.svg",
  "stats": {
    "listingCount": 901,
    "ticketCount": 3465,
    "getInPrice": 395,
    "medianPrice": 681,
    "avgPrice": 918.52,
    "maxPrice": 7323
  },
  "listings": [
    {
      "listingId": "6099696759",
      "inventoryType": "resale",
      "section": "110",
      "row": "29",
      "quantity": 2,
      "ticketPrice": 395,
      "fee": 0,
      "totalPrice": 395,
      "ticketType": "",
      "sellableQuantities": "2",
      "group": "",
      "seats": "",
      "dealScore": "78.39",
      "listingNotes": "limited  view XFER"
    },
    {
      "listingId": "6084431586",
      "inventoryType": "resale",
      "section": "101",
      "row": "34",
      "quantity": 2,
      "ticketPrice": 398,
      "fee": 0,
      "totalPrice": 398,
      "ticketType": "",
      "sellableQuantities": "2",
      "group": "",
      "seats": "6,7",
      "dealScore": "77.12",
      "listingNotes": "Obstructed View; Limited view of Sphere screen - Full View of Band and Stage XFER"
    }
    // …899 more listings
  ],
  "venueLayout": {
    "level": "row",
    "sections": [
      {
        "section": "1",
        "group": "Floor",
        "ga": false,
        "rows": [
          {
            "row": "1",
            "seats": ""
          },
          {
            "row": "2",
            "seats": ""
          }
          // …21 more rows
        ]
      }
      // …66 more sections
    ]
  }
}

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, StubHub, SeatGeek, Vivid Seats, Gametime, Viagogo, GoTickets, Paciolan, ATG Tickets, ProVenue and GoFevo.

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.

Does the response include the venue's seating chart and capacity?

To the seat where the venue's map has seats, otherwise to the row. Ask for venue maps and venueLayout carries the venue map as data: every section and row, and every seat where the map has them, with capacities counted from the seats. Names match the listings and the maps.

Are there any restrictions on how I can use the data?

No. A capture only reads public data: the listings, prices, fees and seat maps the marketplace shows any visitor on its event page, with no login. Tickets.dev puts no license terms on what a capture returns. Store it, analyze it, build products on it and show it to your own users, with no attribution required.

Other marketplace APIs

The same endpoint shape and the same response schema cover every marketplace we support: Ticketmaster API, StubHub API, SeatGeek API, Vivid Seats API, Gametime API, Viagogo API, GoTickets API, Paciolan API, ATG Tickets API, ProVenue API, and GoFevo API. Start with the ticket scraping API, explore live ticket inventory, real-time ticket pricing and seat maps, see every ticket marketplace API, check per-capture pricing, or talk to us about volume.