SeatGeek Scraper | Events, Performers, Venues & Listings
Pricing
from $2.20 / 1,000 result written to datasets
SeatGeek Scraper | Events, Performers, Venues & Listings
Scrape SeatGeek events, performers, venues and full ticket listings with prices, deal scores, sections and rows. Track price drops with webhook alerts. US & Canada, no API key needed.
Pricing
from $2.20 / 1,000 result written to datasets
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape SeatGeek events, performers, venues, and full ticket listings — prices with and without fees, deal scores, sections and rows — without an API key, proxies, or your own browser stack.
Paste a city, performer, venue, category, or event URL → get clean structured rows in the dataset. Enable price tracking to diff ticket inventory between runs and get price-drop alerts on your webhook. Covers US & Canada. A practical SeatGeek API alternative for ticket price monitoring, deal hunting, market research, and event aggregation.
No SeatGeek API key needed. Anti-bot (DataDome), residential egress, and browser sessions are handled by the managed scrape worker — you just run the Actor.
Free Apify-plan users (developer policy): 10 runs / 200 results per run.
Features
| Capability | What it means for you |
|---|---|
| Full ticket-listing inventory | Every listing for an event: section, row, quantity, price, price with fees, deal score/grade, ticket format — typically hundreds of listings per event, sorted cheapest first |
| Real SeatGeek deal scores | dealScore (0–100) and dealGrade come from SeatGeek's own data, not a derived estimate |
| Price & inventory tracking | trackChanges snapshots listings per run and diffs by listing ID: new listings, sold listings, price drops/increases with old vs new price |
| Price-drop webhook alerts | alertWebhookUrl gets a JSON POST only when something moves — plug into Slack, Discord, Make, or n8n |
| Section summary | sectionSummary[] aggregates per-section min/avg/max price and best deal score |
| Deal-score filter | minDealScore keeps only listings above your threshold while preserving the true inventory count |
| Discovery mode | Search performers, venues, taxonomies, and events via SeatGeek's public API — fast (~1s), no browser |
| US & Canada | Verified in Toronto, Montreal, Vancouver + all major US metros; prices in local currency (USD/CAD) |
| No API key, no proxies | Credentials, residential egress, and DataDome handling are built in |
| Venue street / leads | Every row includes phones, emails, address (street = 门牌), org. SeatGeek publishes the street on list cards; no venue phone/email. hi@seatgeek.com is SeatGeek, not stamped on event rows. |
| Engine ladder | Bright Data Scraping Browser → stealth browser → unlocker → public API fallback, chosen automatically per target |
What you can do with it
1. Track ticket prices and get drop alerts
In plain English: pick an event → the Actor snapshots its ticket listings every run → when prices drop or seats sell, you get a webhook alert.
You give:
| Field | What to enter |
|---|---|
| Mode | event |
| Event URL | The SeatGeek event page URL |
| Track changes | true |
| Alert webhook URL | Your endpoint (optional) |
You get back (per run):
| What | Example |
|---|---|
| New listings | 11 appeared since last run |
| Sold listings | 15 gone (sales-velocity signal) |
| Price drops | 15 listings cheaper, biggest −34% ($296.90 → $195.89) |
| Price changes | Top 50 moves with old/new price and % change |
Schedule it (e.g. every 15 minutes) to build price history over time. Verified live: a 4-minute gap between runs surfaced 11 new / 15 sold listings and a −34% drop.
2. Find underpriced tickets with deal scores
In plain English: pull an event's full listing inventory → filter to listings with dealScore ≥ 80 → see only the seats SeatGeek itself flags as great deals, with section, row, and all-in price.
You give: mode event, an event URL, minDealScore: 80.
You get back: the filtered listings (e.g. 26 of 258), sectionSummary per section, and unfilteredTotal so you always know the true inventory size.
3. Monitor a whole city or team
In plain English: scrape upcoming events for a city, performer, venue, or category → get dates, venues, price ranges, and ticket counts for your market research or aggregation pipeline.
You give: mode city + chicago (or performer + new-york-yankees, venue + fenway-park, category + mlb-tickets).
You get back (one row per event):
| Title | Date | Venue | Lowest price | Listings |
|---|---|---|---|---|
| Yankees vs. Red Sox | 2026-08-10 19:05 | Yankee Stadium | $45 | 342 |
| ... | ... | ... | ... | ... |
4. Discover performers, venues, and event IDs
In plain English: find slugs and IDs for your scraping targets — search "boston red sox" → get the performer slug, popularity, and upcoming event count in about a second.
You give: mode discover, discoverType: performers|venues|taxonomies|events, a query.
You get back: matching performers/venues/taxonomies/events with IDs, slugs, and metadata — ready to feed into the other modes.
More Actors like this
Need data from other sites? Use a specialized Actor when one exists — structured fields, better coverage, lower cost.
General tools
- Stealth Web Scraper — Cloudflare-protected pages, any URL list
- Email Risk Validator
- Phone Number Intelligence
Dedicated site scrapers by category
Jobs & Freelance
E-commerce
Real Estate
Travel & Stays
Social, Ads & Maps
- YouTube Research Scraper
- TikTok Scraper
- Reddit Scraper
- Facebook Ad Library Scraper
- Google Maps Scraper
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
How to use (no code required)
- Click "Try for Free" at the top of this page
- Pick a mode:
city,performer,venue,category,sports,event, ordiscover - Enter the slug or URL (e.g. city
nyc, performertaylor-swift, or a full event URL) - (Optional) For an event, keep Include ticket listings on to get the full inventory with deal scores
- (Optional) Turn on Track changes + add a webhook URL for price-drop alerts
- Click Start — results appear in the Dataset tab
Download your results as CSV, Excel, or JSON. That's it.
Not sure which slug to use? Run discover mode first — it finds performer/venue slugs and event IDs in about a second.
What you get back
Every event row includes:
- Event ID, title, type — e.g.
18239007,Yankees vs. Red Sox,mlb - Date/time — local and UTC
- Venue — name, city, state/country
- Price stats — lowest / highest / median price, listing count
- URL — direct SeatGeek event page
- Venue contact / leads —
phones,emails,address(street = venue 门牌/line),geo,person,org,web,leadSource,leadReveal,leadAbsences(see below)
With Include ticket listings (event mode), each row also carries:
listings[]— every ticket listing: section, row, quantity,price,priceWithFees,dealScore,dealGrade,ticketFormat,listingId— sorted by all-in price, cheapest firstsectionSummary[]— per-section listing count, min/avg/max price, best deal scorevenueConfig— seat-map configuration when the event page render succeeds
With Track changes, each row gains a changes object:
| Field | Meaning |
|---|---|
newListings / addedListingIds | New supply since the previous run |
soldListings / soldListingIds | Listings gone — a sales-velocity proxy |
priceDrops / priceIncreases | Count of per-listing price moves |
priceChanges | Top 50 moves with oldPrice, newPrice, changePct (drops first) |
firstSnapshot | true on the first sighting of an event (baseline, no diff) |
Lead / contact fields
Every dataset row includes these keys (empty arrays/objects plus leadAbsences when the site has no value). Samples below are live public values from 2026-08-19 recon — not redacted.
| Field | Type | What it means on SeatGeek |
|---|---|---|
phones | [{value, type, e164?}] | 本站无. Venue/event JSON has no phone/telephone. Madison Square Garden venue HTML + cmsContent scanned: no box-office number, no tel:, no show-phone control. Always [] with leadAbsences.phones=本站无. |
emails | [{value, type}] | 本站无 on venue/event rows. Sitewide JSON-LD Organization.email is hi@seatgeek.com (SeatGeek). That address is not copied onto event rows. |
address | {street, unit, locality, region, postalCode, country, full} | Venue street. unit = 门牌 in the lead schema; SeatGeek stores the building/street in street (venue.address), so unit is null. US sample: 4 Pennsylvania Plaza, New York, NY 10001. Also 226 West 46th Street (Richard Rodgers Theatre). Canada: 888 Yonge Street, Toronto, ON M4W 2J2. |
geo | {lat, lng} | Venue coordinates (supplement to street). MSG 40.7509, -73.9943. |
person | {name, role} | No named box-office agent (本站无). Performer is an org, not a person. |
org | {name, id?} | Venue name + numeric id (Madison Square Garden / 93), or the performer name on discover-performer rows. |
web | {website, socials[]} | Venue/performer SeatGeek URL. socials stays empty: venue.links=[]; footer Facebook/Twitter/Instagram is SeatGeek's. |
leadSource | enum | search (city/category/performer lists), entity (venue / discover-venues), detail (event). |
leadReveal | enum | Street is already visible in __NEXT_DATA__. No click-to-reveal XHR. |
leadAbsences | object | Per-subfield reason: 本站无 / 闸门锁 / 未验证. |
Reveal cost
- No click-to-reveal XHR for phones or emails. List cards already include the street.
enrichDetails(default true) attaches the lead keys from the venue object already in the page JSON. Fetching/venues/{slug}/ticketsagain does not add a phone (verified on Madison Square Garden).- Help/About have no Call-us control.
/contactredirects to/help. - Turning
enrichDetailsoff still leaves the worker attaching the same keys (the street is not behind a second fetch). Phones remain[]withleadAbsences.
Honest limitations
| Lead | Status | Why |
|---|---|---|
| Venue street + geo | Available | venue.address on city/category/venue/performer/event JSON |
| Venue phone | 本站无 | No key, no tel:, no reveal button on venue HTML |
| Venue email | 本站无 | No mailbox; do not stamp hi@seatgeek.com |
| Named box-office person | 本站无 | No agent field |
| Performer phone / email / own social | 本站无 | performer.links=[]; footer social is SeatGeek |
| Help public phone | 本站无 | Help Center has articles, no tel |
| UK / other TLDs | 未验证 | seatgeek.co.uk not opened this session |
| Listings body schema | 部分 | /api/event_listings_v2 path seen; body not stored |
Pricing
Pay per run + pay per result. No subscription; Apify platform usage is covered by the developer — you only pay the event charges below. Pricing effective from August 22, 2026.
| What triggers a charge | Price |
|---|---|
| Actor start | $0.005 per run |
| Result written to dataset | from $0.003 per row (see plan tiers) |
Per-result price by Apify plan:
| Plan | Per 1,000 results |
|---|---|
| Free / Bronze | $3.00 |
| Silver | $2.60 |
| Gold | $2.20 |
| Platinum | $2.00 |
| Diamond | $1.60 |
| Volume (Free/Bronze) | Estimated cost |
|---|---|
| 100 results | ~$0.305 |
| 1,000 results | ~$3.005 |
| 10,000 results | ~$30.005 |
How this compares: other SeatGeek Actors charge $10 per 1,000 events without row-level listings; building your own DataDome-proof pipeline means weeks of browser/proxy work. This Actor is pay-as-you-go with the full ticket inventory included.
Example: tracking one event every 15 minutes costs $0.005 per run (start) plus $0.003 for the event row — about $0.80/day for 96 snapshots with full inventory diffs.
Failed or blocked pages are not written to the dataset, so you never pay for empty results.
Connect to your tools
Use this Actor from your existing stack — no coding needed:
| Platform | How to connect |
|---|---|
| Make.com | Search "Apify" → "Run Actor" → Actor ID: lentic_clockss/seatgeek-scraper |
| n8n | Add Apify node → "Run Actor" action → same Actor ID |
| Zapier | Apify integration → "Run Actor" trigger |
| LangChain | ApifyActorsTool("lentic_clockss/seatgeek-scraper") |
| Python / Node.js | Apify SDK or direct HTTPS call |
API call example
curl "https://api.apify.com/v2/acts/lentic_clockss~seatgeek-scraper/runs" \-X POST \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "event", "eventUrl": "https://seatgeek.com/new-york-yankees-tickets/mlb/2026-08-10-7-05-pm/18239007", "trackChanges": true}'
Results come back in JSON via the Apify Dataset API:
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
FAQ
Q: Do I need a SeatGeek API key? A: No. Unlike Actors built on the official SeatGeek API (which requires registering for a client ID — and which has no ticket listings), this Actor is batteries-included: credentials, egress, and anti-bot handling are built in.
Q: What is the deal score?
A: dealScore (0–100) and dealGrade are SeatGeek's own value ratings for each listing — higher means a better price for that seat relative to the market. Use minDealScore to keep only strong deals.
Q: How is this different from the SeatGeek API? A: The official API returns event metadata but no ticket listings. This Actor gives you the full resale inventory per event (section, row, all-in prices, deal scores), per-listing price tracking, and discovery search — none of which the API offers.
Q: Does it work for Canada?
A: Yes. Verified in Toronto, Montreal, and Vancouver; other Canadian city slugs (calgary, edmonton, ottawa, winnipeg) work the same way. Prices come in local currency (currency.code = USD or CAD).
Q: How do I track ticket prices over time?
A: Enable trackChanges, add an alertWebhookUrl, and put the Actor on an Apify Schedule. Each run diffs the event's listings against the previous snapshot and posts an alert when prices drop or inventory moves.
Q: Why does an event run take 60–90 seconds with listings? A: SeatGeek protects listing data with DataDome. The Actor loads the event page in a real browser session (Bright Data Scraping Browser) and captures the listings feed in-page. Discovery mode and metadata-only runs are much faster.
Q: What happens when a page is blocked? A: The Actor fails over through an engine ladder (Scraping Browser → stealth browser → unlocker → public API). If listings can't be fetched, the event row is still returned with full metadata — you never get a silent empty result.
Q: Can I get events for a whole city or team?
A: Yes — use city, performer, venue, category, or sports mode with maxResults up to 500 and maxPages for pagination.
Q: What happens if a performer or search has no upcoming events?
A: The run succeeds with zero dataset rows — a valid empty answer, not a failure. You are only charged the $0.005 start; with no rows written, no per-result charges apply. Genuine errors (blocked pages, bad input) still fail the run with an ERROR_SUMMARY.
Q: Where do venue addresses and phone numbers come from?
A: List cards already include the street (venue.address, e.g. 4 Pennsylvania Plaza). SeatGeek does not publish a venue box-office phone or email on city, venue, or event pages. Rows still include phones/emails keys as empty arrays plus leadAbsences. Platform email hi@seatgeek.com is SeatGeek's, not the venue's.
Input reference
For developers who want full control:
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | city | city, performer, venue, event, category, sports, or discover |
city | string | nyc | City slug for mode=city — US (nyc, la, chicago, …) and Canada (toronto, montreal, vancouver, …) |
cityTab | string | — | City filter: concerts, sports, theater, festivals, comedy, family, nightlife |
performerSlug | string | — | Performer/team slug for mode=performer, e.g. new-york-yankees |
venueSlug | string | — | Venue slug for mode=venue, e.g. madison-square-garden |
eventId | string | — | Numeric event ID for mode=event |
eventUrl | string | — | Full event URL for mode=event (ID derived if missing) |
categorySlug | string | — | Category for mode=category/sports, e.g. sports-tickets, mlb-tickets |
maxResults | integer | 20 | Max events to emit (1–500; free tier capped at 200) |
maxPages | integer | 1 | Max listing pages to fetch (1–50) |
includeListings | boolean | true | mode=event: fetch full ticket-listing inventory (~60–90s per event) |
enrichDetails | boolean | true | Attach lead keys (street/org). SeatGeek has no venue phone; does not invent numbers |
minDealScore | number | — | Keep only listings with dealScore ≥ threshold (0–100); unfilteredTotal preserves the true count |
trackChanges | boolean | false | mode=event: snapshot listings and diff against the previous run |
alertWebhookUrl | string | — | With trackChanges: POST a JSON alert when prices drop or inventory moves |
discoverType | string | performers | mode=discover: performers, venues, taxonomies, or events |
query | string | — | mode=discover: search text (optional for taxonomies) |
startUrls | array | — | Explicit SeatGeek URLs; mode inferred per URL |
detailUrls | array | — | Event detail URLs (alias of startUrls) |
listingIds | array | — | Numeric event IDs |
workerBaseUrl | string | — | Override worker origin (advanced) |
Full output schema is available in the Dataset tab.
Related Actors
All 77 public Actors from lentic_clockss. Click a name to open the Store detail page.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Housing Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
E-commerce
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ Browse the full profile: apify.com/lentic_clockss