
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape SeatGeek events with lowest, average, median and highest ticket prices and listing counts, plus performers and venues. Search by keyword, performer, venue, city, category and date. No login.
Scrape SeatGeek events with their lowest, average, median and highest ticket prices, listing and ticket counts, venue address and coordinates, and optionally every ticket listing (section, row, quantity, price with and without fees, deal score). Look up events by performer, team, venue, city, category, date or keyword, or search SeatGeek's performers and venues. No login, no API key, results in seconds, export to JSON, CSV or Excel.
| Field | What it does |
|---|---|
startUrls | SeatGeek performer, team, venue, category, event or search URLs |
searchQueries | Keywords; return events, or performers / venues with searchType |
maxResults | Rows per URL or keyword (default 20) |
city, state, country | Location filters (also work on their own) |
category | Concerts, sports, theater, comedy, NBA, NFL, MLB, NHL and more |
dateFrom, dateTo | Event date range |
minPrice, maxPrice | Range for the event's lowest ticket price |
sortBy | Date, popularity or lowest price |
includeListings | Also save each event's ticket listings |
maxListingsPerEvent | Listings per event, cheapest first (default 100) |
{
"startUrls": [
"https://seatgeek.com/new-york-knicks-tickets",
"https://seatgeek.com/venues/madison-square-garden/tickets"
],
"searchQueries": ["hamilton"],
"city": "New York",
"dateFrom": "2026-11-01",
"maxResults": 50
}
Event rows ("type": "event"):
| Field | Description |
|---|---|
id, title, url, eventType | The event |
datetimeLocal, datetimeUtc, dateTbd, timeTbd | When |
lowestPrice, lowestPriceWithoutFees | Cheapest ticket with and without fees |
averagePrice, medianPrice, highestPrice | Price spread |
listingCount, ticketCount | Inventory |
performers, primaryPerformer, categories | Who and what |
venueName, venueAddress, venueCity, venueState, venuePostalCode, venueLatitude, venueLongitude, venueCapacity | Where |
score, popularity | SeatGeek's popularity signals |
stubhubEventId, ticketmasterEventId, vividseatsEventId | The same event on other sites |
Performer rows ("type": "performer"): id, name, slug, url, performerType, categories, upcomingEvents, score, popularity, image.
Venue rows ("type": "venue"): id, name, url, address, city, state, postalCode, country, latitude, longitude, capacity, upcomingEvents.
Listing rows ("type": "listing", with listings on): id, eventId, eventTitle, section, row, quantity, splits, price (all-in), priceWithoutFees, fees, currency, dealScore (0-100), dealRating (0-10), deliveryMethod, market, seller, listingUrl.
{
"type": "event",
"id": 18473199,
"title": "Philadelphia 76ers at New York Knicks",
"url": "https://seatgeek.com/new-york-knicks-tickets/10-20-2026-new-york-new-york-madison-square-garden/nba/18473199",
"eventType": "nba",
"datetimeLocal": "2026-10-20T19:00:00",
"datetimeUtc": "2026-10-20T23:00:00Z",
"lowestPrice": 1147,
"lowestPriceWithoutFees": 979,
"averagePrice": 4782,
"medianPrice": 3334,
"highestPrice": 171783,
"listingCount": 2513,
"ticketCount": 5643,
"performers": ["New York Knicks", "Philadelphia 76ers"],
"categories": ["sports", "basketball", "nba"],
"venueName": "Madison Square Garden",
"venueAddress": "4 Pennsylvania Plaza",
"venueCity": "New York",
"venueState": "NY",
"venueLatitude": 40.7509,
"venueLongitude": -73.9943,
"venueCapacity": 19812,
"stubhubEventId": "161658843",
"ticketmasterEventId": "3B006511E91B8627"
}
$2.50 per 1,000 results (events, performers, venues or ticket listings) plus a small amount of platform usage. Example: 1,000 events cost about $2.50 plus a cent or two of usage. Failed rows are never charged, and the run stops cleanly at your spending limit.
Is it legal to scrape SeatGeek? It reads the same public event data seatgeek.com shows to every visitor, without an account. Check SeatGeek's terms and your local law for how you use the data.
Do I need a SeatGeek account or API key? No.
How many events can I get? Up to 10,000 per input: SeatGeek returns 100 per page and stops after page 100 of a search. Split big searches by city, date or category to get more.
Why is a price empty? Events without listings yet (not on sale, sold out or far in the future) have no price stats.
Are prices with fees? lowestPrice, averagePrice, medianPrice and highestPrice are SeatGeek's all-in prices; lowestPriceWithoutFees is the cheapest ticket before fees.
Can I schedule it or use the API? Yes, schedule runs to track prices, or start runs and read results over the REST API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalSeatGeek URLs
Performer or team pages (seatgeek.com/new-york-knicks-tickets), venue pages (seatgeek.com/venues/madison-square-garden/tickets), event pages, category pages (seatgeek.com/nba-tickets) or search URLs. Each returns its upcoming events. Bare event IDs work too.
searchQueriesarrayOptionalSearch keywords
Artist, team, show or venue names. Returns events by default; switch Search for to get performers or venues.
maxResultsintegerOptionaldefault 20Max results per URL or keyword
How many rows to save from each input. SeatGeek serves at most 10,000 results (100 pages) per search, so this stops at 10,000.
searchTypeenumOptionaldefault "events"Search for
What the search keywords return.
includeListingsbooleanOptionaldefault falseAdd ticket listings for every event
Also save each event's ticket listings (section, row, quantity, price with and without fees, deal score, delivery, seller). Uses US residential addresses and the built-in bot-check solver for these requests.
maxListingsPerEventintegerOptionaldefault 100Max listings per event
With listings on: how many listings to save per event (cheapest first).
citystringOptionalCity
Only events (or venues) in this city, for example New York, Chicago or Toronto. Works alone too: leave URLs and keywords empty to list a city's events.
statestringOptionalState or province
Two-letter code, for example NY, CA or ON.
countrystringOptionalCountry
Two-letter code, for example US or CA.
categoryenumOptionalCategory
Only events in this category.
dateFromstringOptionalEvents from
Only events on or after this local date (YYYY-MM-DD).
dateTostringOptionalEvents until
Only events on or before this local date (YYYY-MM-DD).
minPricenumberOptionalLowest price at least
Only events whose cheapest ticket costs at least this much.
maxPricenumberOptionalLowest price at most
Only events with a ticket at or below this price.
sortByenumOptionaldefault "date"Order
Order of the events.
maxConcurrencyintegerOptionaldefault 4Max concurrency
Inputs processed at once.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter addresses in the US are used by default.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| type | string | |
| id | number | string | null | |
| title | string | null | |
| name | string | null | |
| url | string | null | |
| lowestPrice | number | null | |
| averagePrice | number | null | |
| listingCount | number | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One SeatGeek event, performer, venue or ticket listing saved. Failed rows are free. | $0.0025 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/seatgeek-scraper').call({
"startUrls": [
"https://seatgeek.com/new-york-knicks-tickets"
],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
],
"scrapelyProxyCountry": "US"
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/seatgeek-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/seatgeek-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Upcoming events with up to 5 ticket listings each.
Find performers by name.
Find venues by name.
Event search in a city sorted by popularity.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.