SeatGeek Scraper | Events, Performers, Venues & Listings avatar

SeatGeek Scraper | Events, Performers, Venues & Listings

Pricing

from $2.20 / 1,000 result written to datasets

Go to Apify Store
SeatGeek Scraper | Events, Performers, Venues & Listings

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

kane liu

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

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

CapabilityWhat it means for you
Full ticket-listing inventoryEvery 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 scoresdealScore (0–100) and dealGrade come from SeatGeek's own data, not a derived estimate
Price & inventory trackingtrackChanges snapshots listings per run and diffs by listing ID: new listings, sold listings, price drops/increases with old vs new price
Price-drop webhook alertsalertWebhookUrl gets a JSON POST only when something moves — plug into Slack, Discord, Make, or n8n
Section summarysectionSummary[] aggregates per-section min/avg/max price and best deal score
Deal-score filterminDealScore keeps only listings above your threshold while preserving the true inventory count
Discovery modeSearch performers, venues, taxonomies, and events via SeatGeek's public API — fast (~1s), no browser
US & CanadaVerified in Toronto, Montreal, Vancouver + all major US metros; prices in local currency (USD/CAD)
No API key, no proxiesCredentials, residential egress, and DataDome handling are built in
Venue street / leadsEvery 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 ladderBright 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:

FieldWhat to enter
Modeevent
Event URLThe SeatGeek event page URL
Track changestrue
Alert webhook URLYour endpoint (optional)

You get back (per run):

WhatExample
New listings11 appeared since last run
Sold listings15 gone (sales-velocity signal)
Price drops15 listings cheaper, biggest −34% ($296.90 → $195.89)
Price changesTop 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):

TitleDateVenueLowest priceListings
Yankees vs. Red Sox2026-08-10 19:05Yankee Stadium$45342
...............

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

Dedicated site scrapers by category

Jobs & Freelance

E-commerce

Real Estate

Travel & Stays

Social, Ads & Maps

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to use (no code required)

  1. Click "Try for Free" at the top of this page
  2. Pick a mode: city, performer, venue, category, sports, event, or discover
  3. Enter the slug or URL (e.g. city nyc, performer taylor-swift, or a full event URL)
  4. (Optional) For an event, keep Include ticket listings on to get the full inventory with deal scores
  5. (Optional) Turn on Track changes + add a webhook URL for price-drop alerts
  6. 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 / leadsphones, 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 first
  • sectionSummary[] — per-section listing count, min/avg/max price, best deal score
  • venueConfig — seat-map configuration when the event page render succeeds

With Track changes, each row gains a changes object:

FieldMeaning
newListings / addedListingIdsNew supply since the previous run
soldListings / soldListingIdsListings gone — a sales-velocity proxy
priceDrops / priceIncreasesCount of per-listing price moves
priceChangesTop 50 moves with oldPrice, newPrice, changePct (drops first)
firstSnapshottrue 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.

FieldTypeWhat 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.
leadSourceenumsearch (city/category/performer lists), entity (venue / discover-venues), detail (event).
leadRevealenumStreet is already visible in __NEXT_DATA__. No click-to-reveal XHR.
leadAbsencesobjectPer-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}/tickets again does not add a phone (verified on Madison Square Garden).
  • Help/About have no Call-us control. /contact redirects to /help.
  • Turning enrichDetails off still leaves the worker attaching the same keys (the street is not behind a second fetch). Phones remain [] with leadAbsences.

Honest limitations

LeadStatusWhy
Venue street + geoAvailablevenue.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 chargePrice
Actor start$0.005 per run
Result written to datasetfrom $0.003 per row (see plan tiers)

Per-result price by Apify plan:

PlanPer 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:

PlatformHow to connect
Make.comSearch "Apify" → "Run Actor" → Actor ID: lentic_clockss/seatgeek-scraper
n8nAdd Apify node → "Run Actor" action → same Actor ID
ZapierApify integration → "Run Actor" trigger
LangChainApifyActorsTool("lentic_clockss/seatgeek-scraper")
Python / Node.jsApify 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:

ParameterTypeDefaultDescription
modestringcitycity, performer, venue, event, category, sports, or discover
citystringnycCity slug for mode=city — US (nyc, la, chicago, …) and Canada (toronto, montreal, vancouver, …)
cityTabstringCity filter: concerts, sports, theater, festivals, comedy, family, nightlife
performerSlugstringPerformer/team slug for mode=performer, e.g. new-york-yankees
venueSlugstringVenue slug for mode=venue, e.g. madison-square-garden
eventIdstringNumeric event ID for mode=event
eventUrlstringFull event URL for mode=event (ID derived if missing)
categorySlugstringCategory for mode=category/sports, e.g. sports-tickets, mlb-tickets
maxResultsinteger20Max events to emit (1–500; free tier capped at 200)
maxPagesinteger1Max listing pages to fetch (1–50)
includeListingsbooleantruemode=event: fetch full ticket-listing inventory (~60–90s per event)
enrichDetailsbooleantrueAttach lead keys (street/org). SeatGeek has no venue phone; does not invent numbers
minDealScorenumberKeep only listings with dealScore ≥ threshold (0–100); unfilteredTotal preserves the true count
trackChangesbooleanfalsemode=event: snapshot listings and diff against the previous run
alertWebhookUrlstringWith trackChanges: POST a JSON alert when prices drop or inventory moves
discoverTypestringperformersmode=discover: performers, venues, taxonomies, or events
querystringmode=discover: search text (optional for taxonomies)
startUrlsarrayExplicit SeatGeek URLs; mode inferred per URL
detailUrlsarrayEvent detail URLs (alias of startUrls)
listingIdsarrayNumeric event IDs
workerBaseUrlstringOverride worker origin (advanced)

Full output schema is available in the Dataset tab.


All 77 public Actors from lentic_clockss. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss