Ticketmaster Scraper | Events, Tickets & Seat-Level Prices
Pricing
from $2.20 / 1,000 event rows
Ticketmaster Scraper | Events, Tickets & Seat-Level Prices
Scrape Ticketmaster concerts, sports, theater & family events in 23 countries. Search by keyword, artist, venue, category or geo; get dates, venues, sold-out status & seat-level primary + resale prices. Price tracking with webhook alerts. Free tier available.
Pricing
from $2.20 / 1,000 event rows
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
38
Total users
19
Monthly active users
7 days ago
Last modified
Categories
Share
Ticketmaster Scraper — Events, Tickets & Seat-Level Prices
Scrape concerts, sports, theater, and family events from Ticketmaster across 23 code-supported TMOL markets — with independently billed event, listing, offer, review, suggestion, artist, and venue rows, plus venue leads and built-in price-change alerts. Verified depth varies by market.
Search by keyword, artist, venue, category, or GPS location → get event rows with dates, venues, lineups, presale windows, and honest coverage markers. Event detail emits quickpicks and TMR groups as rowType=listing, seat-map and RAS price levels as rowType=offer, and one compact rowType=event parent. detailLevel tells you which evidence was actually obtained.
Price tracking built in: turn on trackChanges and the Actor snapshots emitted events' pricing/status, diffs it against the previous run, and POSTs a ticketmaster.event.changed webhook to a public HTTPS URL when prices or status move. Snapshots and alerts are committed only after the row is stored.
Request-driven engine ladder: browse work starts with BFF JSON and may use Discovery metadata or HTML fallbacks. Event detail starts with BFF metadata/pricing, then uses Patchright, camoufox-base/orchestrator, or Bright Data only when needed; TMR/Z events can add RAS and in-session ISMDS evidence. No proxy or upstream key is required from the Actor user.
Free Apify-plan users (developer policy): 10 runs / 200 results per run.
Disclaimer: This Actor is not affiliated with or endorsed by Ticketmaster or Live Nation Entertainment. It collects publicly available data only — use it responsibly and verify critical data before acting on it.
Current production architecture and verification status
- Actor:
lentic_clockss/ticketmaster-scraper - Worker ID:
ticketmaster-com - Production request path: Apify Actor →
https://worker.opendata.best/b/ticketmaster-combroker →egress-control→ns515786VPS worker. - Cloud Run: retained only as a rollback target. It is not the production worker path documented here.
- Worker contract in this checkout: schema
2026-10-09.p5, shared wheelopendata-worker-shared==1.17.0. - Actor runtime: normal Actor runs,
1024 MB,3600s, no Standby mode (usesStandbyMode=false). Dataset, key-value-store records, free-tier limits, charging, tracking, and ingest remain in the Actor.
The verification tables distinguish historical live evidence from code-only coverage. Release-specific deployment and smoke evidence is recorded separately.
Feature matrix
| Surface | Fast path | Full path | Inventory meaning | Verification status |
|---|---|---|---|---|
search | BFF JSON; Discovery listing fallback when web BFF is gated | HTML/browser fallback plus venue lead enrichment | List rows are metadata, not seat inventory | US/UK historical live; Discovery code/tests local |
artist | BFF artist events | HTML path for reviews/suggestions plus venue enrichment | Event cards are metadata | US historical live |
venue | curl_cffi venue page | Browser/unlocker fallbacks plus box-office lead parse | Venue events are metadata; venue page supplies leads | US/UK historical live |
category | BFF category/classification search | HTML/browser fallback | List rows are metadata | US historical live |
event, requested fast | BFF event metadata/pricing; for TMR/Z IDs, RAS/Discovery and optional ISMDS replay | Does not open an EDP solely for fast | Output detailLevel tells the actual evidence obtained | HOST historical live; new TMR/RAS paths local tests only |
event, requested full | Starts with BFF metadata/pricing | Patchright → camoufox-base/orchestrator → Bright Data fallback; in-page TMR ISMDS capture when available | Can add EDP metadata, RAS availability/skeleton, or TMR resale groups | HOST historical live; new TMR/ISMDS paths local tests only |
| Discovery fallback | /discovery/v2/ids translation plus event/list metadata | N/A | discovery-metadata has dates/venue/sales/static map, no inventory | DE/UK historically probed from ns515786; local tests in this checkout |
| RAS availability | avsc/events/{eventId} | Same request-driven channel | rowType=offer, offerKind=rasPriceLevel; event parent keeps open-seat/level summaries | Local fixtures/tests; production smoke still required |
| RAS skeleton | manifest + geometry | Same request-driven channel | Event parent keeps geometry counts only; geometry is not live inventory | Local fixtures/tests; production smoke still required |
| TMR resale | in-page or replayed ISMDS facets | Browser session preferred | rowType=listing, listingKind=resaleSection; event parent keeps total/count summaries | Local fixtures/tests; production smoke still required |
| Price tracking | Actor snapshots price/status fields | Schedule later runs and optional webhook | A diff of observed snapshots; not a purchase/reservation signal | Historical Apify run evidence; unchanged product layer |
Honest inventory semantics
- Quickpick listing rows'
quantity/pickSizeis the recommended purchase group size. It is not the number of seats left in a section. - Event-parent seat-skeleton counts describe geometry (sections/rows/seats). They are not real-time availability.
rowType=offer,offerKind=rasPriceLevelis the RASavscevidence: live open-seat counts plus face-value levels at fetch time.rowType=listing,listingKind=resaleSectioncomes from Ticketmaster Resale ISMDS facets. It is separate from primary RAS availability.edp-metadatameans the EDP document was parsed for metadata and static seat-manifest counts. It does not mean live inventory was obtained.discovery-metadatais an EPS-free metadata fallback and carries no seat inventory.diagnostics.acquisitionBlocked=truemeans the acquisition path was gated; it does not mean sold out. Onlydiagnostics.validEmpty=trueis a verified upstream zero-result response.diagnostics.surfaceHealthreports per-surface counters (ok/gated/error/timeout/successRate) for the acquisition faces used this run — Discovery, venue-info, web BFF, browser rungs.diagnostics.edpGate(present oneventruns) carries the edge-gate evidence observed on the EDP fetch —challengeVendor(kasada),ebid/esid,tmps-correlation-id,verdict— for observability; it is never a seat/inventory field.diagnostics.contractDroppedcounts rows dropped by the schema contract (a known-good field fingerprint); a non-zero value means upstream shape drifted, not that results were legitimately empty.diagnostics.listingsExtractedis the emitted row count.contractDroppedis explicitly0when nothing was rejected. Optional prices, presales and static seatmaps may be absent without invalidating an event.diagnostics.sessionHealthdescribes venue exit successes, connection failures and target gates for this run only.challengeVendorisnone, an observed vendor, orunclassifiedwhen a gate cannot be attributed.
Output detail levels
Output detailLevel is exactly one of tmr-ismds, ras-avsc, ras-manifest, edp-metadata, bff-metadata, or discovery-metadata.
The returned detailLevel is evidence, not the requested input. A lower rung is still useful metadata but must not be presented as inventory-complete.
Features
| Capability | What it means for you |
|---|---|
| One billed entity per row | Event parents, quickpick/resale listings, seat-map/RAS offers, reviews, suggestions, artists, and venues each get their own stable rowType + id row |
| Seat-level pricing | Primary & resale listing rows with face value, fees, section/row/seat — far beyond min/max price ranges |
| Price-change tracking | Per-run snapshot + diff; webhook alerts on price drops, sold-outs, and status flips (trackChanges + alertWebhookUrl) |
| 23 TMOL market hosts | Code supports US, UK, IE, CA, AU, NZ, MX, DE, AT, CH, FR, BE, NL, IT, ES, SE, NO, DK, FI, PL, CZ, AE, ZA. gb normalizes to uk; verified coverage is narrower than code support, and a market code does not guarantee a matching local exit. |
| 5 scrape modes | search, artist, venue, category, event detail — plus batch URL / ID input |
| Genre & segment filters | 45+ verified aliases (comedy, rock, hip-hop, nfl, nba, soccer, musicals, festivals, …) or raw classification IDs |
| Geo search | latitude + longitude + radius in miles or km — native server-side on us/ca; other markets post-filter by venue coordinates (clearly flagged in warnings) |
| Full-market crawls | shardByDate walks date windows past the ~500-event API page cap, deduped by eventId |
| Requested fast/full paths | fast avoids opening the EDP; full may open it. Output detailLevel honestly reports tmr-ismds, ras-avsc, ras-manifest, edp-metadata, bff-metadata, or discovery-metadata. |
| TMR / RAS inventory | TMR/Z IDs and _ are accepted. ISMDS resale groups, RAS live availability, RAS geometry skeleton, and Discovery fallback are kept distinct. |
| Reviews & suggestions | Optional artist review rows (rowType=review) and top-suggestion rows (rowType=suggestion) |
| Venue box-office leads | enrichDetails (default on) fetches each unique venue page for box-office phones + full street address. Search cards only have 门牌. |
| Per-input row budget | maxResults applies to each explicit Start URL, Detail URL, or Event ID; one scalar mode request is one input. Larger requests continue in 70-row control-plane parts, while the whole run stops at the maximum total charge. |
| Free tier friendly | 10 runs / 200 results per run on free Apify plans (developer-set, not Apify) |
What you can do with it
1. Track ticket prices and get drop alerts
In plain English: give the Actor an event URL, turn on trackChanges, schedule it daily → get a webhook the moment the cheapest ticket drops, new seats appear, or the event sells out.
You give:
| Field | What to enter |
|---|---|
| Mode | event |
| Event URL | https://www.ticketmaster.com/…/event/0D0064EA9A88501D |
| Track changes | true |
| Alert webhook URL | Your endpoint (Make/n8n/Zapier webhook, your API, …) |
You get back (per event):
| Field | Example |
|---|---|
lowestPrice / priceCurrency | 25.00 / USD |
rowType=offer | Standard Admission $106.50 + $28.55 fees = $135.05 |
rowType=listing | GA standing $25, section/row/seat + offer IDs |
tracking.priceChanges[] | Section 112 row F: $89 → $74 (-16.9%) |
tracking.lowestPriceChange | $25.00 → $19.50 |
tracking.statusChanges[] | soldOut: false → true |
First runs only take the snapshot (never alert); every later run diffs against it. Schedule the Actor (Apify Schedules, cron, or Make) and you have a ticket-price monitor.
2. Discover concerts, sports, and theater events
In plain English: search "taylor swift", browse the comedy genre, or list everything within 25 miles of a city → get a table of events with dates, venues, and status.
You give: mode=search, a query or classificationId or latitude/longitude, optional startDate/endDate and sort.
You get back (one row per entity; browse searches normally emit event rows):
| Title | Date | Venue | City | Segment | From price | Sold out |
|---|---|---|---|---|---|---|
| Example Arena Tour | 2026-09-12 | Kaseya Center | Miami | Music | $45.00 | false |
| Comedy Night Live | 2026-09-14 | The Fillmore | Miami Beach | Arts & Theatre | $32.50 | false |
3. Monitor artists, venues, and tours
In plain English: paste an artist or venue ID → get every upcoming event plus the artist/venue profile row. Add includeReviews for fan review rows with ratings.
Perfect for tour mapping, booking intelligence, and venue demand analysis.
4. Research events across 23 TMOL market hosts
In plain English: switch market to uk, de, au, … and the same filters target that market's Ticketmaster host. The worker requests a matching egress country when policy allows, but market support is not proof of a local exit. Combine category mode with shardByDate to walk bounded date windows beyond the API's ~500-event page cap.
5. Feed AI agents and event aggregators
In plain English: every row is clean, typed JSON — drop it into LangChain, a vector DB, or your event aggregator without parsing HTML. Works natively with Make, n8n, and Zapier.
More Actors like this
Scraping tickets and events across platforms? Pair this Actor with the rest of the ticketing family:
Tickets & Events
- Eventbrite Scraper — Eventbrite events, tickets, venues & organizers
- Eventim Scraper — CTS Eventim events & tickets across 40+ countries
- StubHub Scraper — resale listings & prices (coming soon)
- SeatGeek Scraper — events, performers & listings (coming soon)
Prefer a dedicated site scraper?
If your target has a specialized Actor below, use that first — structured fields, better coverage, usually lower cost than a generic scrape.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
E-commerce
- Walmart Product Scraper
- Amazon Search Scraper
- Etsy Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Target Product Scraper
- Allegro Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Apartments.com Rental Scraper
- Rightmove Scraper
- Idealista Scraper
- realestate.com.au Scraper
Travel & Stays
Social & Content
Ads Intelligence
Local & Maps
→ 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 —
searchis the default and covers most use cases - Enter what you want: a search query (
taylor swift,lakers), a genre alias (comedy), a GPS point, an artist/venue ID, or an event URL - (Optional) Narrow by
market,startDate/endDate, turn on child-row switches such asincludePricing, or enabletrackChangesfor monitoring - Click Start — results appear in the Dataset tab within seconds
Download your results as CSV, Excel, or JSON. That's it.
The Actor uses Apify's dataset and key-value-store product layer with pay-per-event charging plus a developer free-tier policy (10 runs / 200 results per run for free-plan users). Actual spend depends on the current Actor pricing shown by Apify and any account credit; the README does not promise a fixed number of rows from a monthly credit.
What you get back
Every Dataset row includes rowType and a stable id. Event parents include:
- Identity —
id,eventId,discoveryId,globalId,title, canonicalurl,market - When & where —
datetimeLocal, venue name/city/state/country, geo coordinates - Classification —
segment,genre, sub-genre (Music / Sports / Arts & Theatre / Family) - Availability metadata —
soldOut,cancelled,postponed,rescheduled,ticketingStatus,presales,addOns,seatmapUrl,seatmapStaticUrl - Coverage evidence —
inventorySystem, actual outputdetailLevel, listing/offer counts, RAS open-seat summaries, TMR resale totals, and geometry counts. - Pricing summaries (event mode) — derived
lowestPrice/highestPrice/priceCurrency, primary/resale pick counts, offer counts,pageMode, andticketLimitText. - Child entities — quickpicks and TMR groups are
rowType=listing; seat-map and RAS levels arerowType=offer. Each child copieseventId,eventTitle,eventUrl, venue, market, and host context. - Rendered-page detail when obtained —
seatManifestgeometry counts,hasInteractiveSeatMap, andsmartQueueflags. Geometry does not prove availability. - Monitoring (
trackChanges) —trackingblock with new/sold picks, per-pick price changes,lowestPriceChange, status transitions - Extra row types —
rowType=review(artist reviews),rowType=suggestion,rowType=artist, androwType=venue - Venue contact / leads —
phones,emails,address(street = venue 门牌/line1),geo,person,org,web,leadSource,leadReveal,leadAbsences(see below)
Key-value store: INPUT_ECHO, RUN_SUMMARY (worker, engine, diagnostics, free-tier and tracking stats, timeBudget timing, partial reason when time ran short), PROGRESS (live stage, rows so far, time left), ERROR_SUMMARY on failure; named store ticketmaster-price-tracking holds monitoring snapshots.
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 + cloud smoke — not redacted.
| Field | Type | What it means on Ticketmaster |
|---|---|---|
phones | [{value, type, e164?}] | Venue box office / TTY. US sample 814-865-5555 (landline) and 814-863-1821 (tty). UK sample (01723) 376774. Search/category cards have no phone until enrichDetails fetches /venue/{id}. |
emails | [{value, type}] | Venue pages have no public email field. Always [] with leadAbsences.emails=本站无. Help “Email us” is a form (not scraped). Business mailto: addresses are Ticketmaster corporate, not stamped onto event rows. |
address | {street, unit, locality, region, postalCode, country, full} | Venue street. unit = 门牌 in the lead schema; Ticketmaster stores the building/street in street (address.line1 / addressLineOne), so unit is usually null. Sample: 127 Bryce Jordan Center, University Park, PA 16802. UK: South Bay, Scarborough, YO11 2HD. |
geo | {lat, lng} | Venue coordinates (supplement to street, not a replacement). |
person | {name, role} | No named box-office agent (本站无). Artist is an org, not a person. Review rows may set author as role=reviewer. |
org | {name, id?} | Venue name + numeric venueId (e.g. Bryce Jordan Center / 16612), or the artist name on artist entity rows. |
web | {website, socials[]} | Venue/artist page URL. socials stays empty: page-footer Facebook/Twitter/Instagram is Ticketmaster’s, not the venue or act. |
leadSource | enum | search (list card), entity (venue HTML or residential venue/info), detail (event page). |
leadReveal | enum | Box-office numbers are SSR / visible in generalInfoBlocks (accordion is display-only; no contact XHR). Event-detail contact this session may be gated (EPS). |
leadAbsences | object | Per-subfield reason: 本站无 / 闸门锁 / 未验证. |
Reveal cost
- No click-to-reveal XHR for venue phones. Numbers are already in the venue page
__NEXT_DATA__(generalInfoBlocks["Box Office Numbers"]; US TTY is in the Accessible Seating text). enrichDetails(default true) enriches at most 8 unique venues per run. It resolves numeric or Discovery venue IDs, reads available Discovery box-office details, then uses residentialapi/venue/infoand venue HTML when needed. Venues already captured by venue mode are reused. No extra input is needed.- A venue may require more than one request when a source lacks its phone number. Connection failures and target gates are handled separately; successful requests do not exhaust an artificial 15-request limit.
- Help “Call us” click-reveal (
1-800-653-8000) matchessupportConfigplatform CS; those numbers are not copied onto venue/event rows (they are Ticketmaster, not the venue). - Turning
enrichDetailsoff keeps search-card 门牌 but leavesphones=[]withleadAbsences.phones=本站无.
Honest limitations
| Lead | Status | Why |
|---|---|---|
| Venue phone + street | Available | Venue HTML; enrichDetails on list modes |
| Venue email | 本站无 | No public mailbox on venueInfo |
| Named box-office person | 本站无 | No agent/owner field |
| Artist phone / email / address / own social | 本站无 | Artist page is name + events; footer social is Ticketmaster |
| Event-detail (EDP) extra contact | 闸门锁 (this session) | HTTP 401 identify / EPS “Browsing Activity Has Been Paused”. Do not treat Pause HTML as an event schema. Existing event mode still returns BFF metadata/pricing when the JSON API answers; venue phones can still be filled via enrichDetails. |
| Help public email | 闸门锁 | “Email us” expands a form only |
| Platform CS / insurance / Business mailto | Not on event rows | Ticketmaster/Allianz org, not the venue |
| AU + 21 other TMOL hosts (beyond US/UK opened cells) | 未验证 | Same stack expected; not deep-probed this session |
Performer sameAs social | 本站无 on sampled artist JSON-LD | Do not invent Instagram/TikTok for the act |
Pricing
Pay per dataset row, using the real Apify Actor product configuration. Historical 2026-08-09 evidence recorded pay-per-event tiers and platform-usage handling, but users should treat the price displayed on the live Actor page as authoritative. The free-tier and charge-cap logic runs before expensive worker acquisition.
| What triggers a charge | Price |
|---|---|
| Actor start | $0.005 per run |
| Result row (FREE & BRONZE plans) | $3.00 per 1,000 rows |
| Result row (SILVER plan) | $2.60 per 1,000 rows |
| Result row (GOLD plan) | $2.20 per 1,000 rows |
| Result row (PLATINUM plan) | $2.00 per 1,000 rows |
| Result row (DIAMOND plan) | $1.60 per 1,000 rows |
| Volume (FREE/BRONZE) | Estimated cost |
|---|---|
| 100 result rows | ~$0.31 |
| 1,000 result rows | ~$3.01 |
| 10,000 result rows | ~$30.01 |
How this compares:
- Other Ticketmaster scrapers on the Store: $9–10 per 1,000 results, without seat-level pricing
- Official Discovery API: free but rate-limited, no resale offers, no seat-level picks, no tracking
- This Actor: $3.00 per 1,000 rows with seat-level pricing, resale offers, and change tracking included
Example: Monitor 50 events daily with trackChanges = about $4.65/month (50 rows × 30 days × $0.003 + 30 starts). A one-time 500-event market scan costs about $1.51 when the run's maximum total charge allows it.
Free Apify plans are limited to 10 runs / 200 results per run (developer policy). Paid plans run unlimited.
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/ticketmaster-scraper |
| n8n | Add Apify node → "Run Actor" action → same Actor ID |
| Zapier | Apify integration → "Run Actor" trigger |
| LangChain | ApifyActorsTool("lentic_clockss/ticketmaster-scraper") |
| Python / Node.js | Apify SDK or direct HTTPS call |
API call examples
Ordinary search:
curl "https://api.apify.com/v2/acts/lentic_clockss~ticketmaster-scraper/runs" \-X POST \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"search","query":"comedy","market":"us","maxResults":50}'
Ordinary full event (historically verified HOST-format sample; event freshness is not guaranteed):
{"mode": "event","eventId": "0D0064EA9A88501D","market": "us","detailLevel": "full","includePricing": true,"includeSeatManifest": true,"maxResults": 10}
TMR/Z event (placeholder input shape; replace it with a current Ticketmaster resale event before a production run):
{"mode": "event","eventId": "Z1r9uZrrZbpZ1Avqe_0","market": "us","detailLevel": "full","maxResults": 10}
Batch event IDs:
{"mode": "event","listingIds": ["0D0064EA9A88501D", "Z1r9uZrrZbpZ1Avqe_0"],"maxResults": 20}
Price tracking:
{"mode": "event","eventUrl": "https://www.ticketmaster.com/example/event/0D0064EA9A88501D","detailLevel": "fast","trackChanges": true,"alertWebhookUrl": "https://example.com/ticketmaster-alert","maxResults": 20}
The first tracking run creates the baseline and does not alert. Alert URLs must use HTTPS and resolve only to public addresses; redirects are not followed. Never put secrets in repository examples.
Results come back in JSON via the Apify Dataset API:
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
Actor runtime, queue, and timeout behavior
This Actor currently has usesStandbyMode=false; .actor/openapi.json documents a container web surface but production collection runs are normal Apify Actor runs. The Actor submits one request-driven job directly to /b/ticketmaster-com/v1/jobs, reports queue/running status, and waits only for that job lifecycle. It does not probe worker /health, and there is no unattended background health or control-plane polling.
If the VPS/container revision loses an in-memory job (404 JobNotFound), the Actor re-enqueues with the same request ID within a bounded retry count. If waiting times out, the worker reports failure, the Actor is interrupted, or an acquisition exception occurs after enqueue, the Actor makes one best-effort POST /v1/jobs/{id}/cancel. A cancel failure is logged and never replaces the original run error; normal terminal success is never cancelled.
The run reserves platform headroom for ERROR_SUMMARY, run reporting, and trace ingest. Worker queue time and scrape time are bounded by the Actor's 3600-second run timeout; no background job is intentionally left running after an Actor-side failure.
Time budget. Each run has one deadline: the shorter of timeBudgetSecs (counted from run start) and the run timeout you call the Actor with. Queue time and a re-queued job use the same deadline; it is never reset. The worker receives it and plans around it: event metadata (Ticketmaster event API, or the Discovery API when that fails) is saved first, and slow browser steps that cannot finish in time are skipped. While the job runs, the status message and the PROGRESS record show the current step, rows so far, and time left, refreshed every progressIntervalSecs. When time runs out, onTimeout=partial keeps the rows collected so far (RUN_SUMMARY.status=PARTIAL, with the reason and skipped steps); onTimeout=fail fails the run with deadline_exceeded. A run that collected no rows before the deadline always fails with that code and says which step it was on.
When to use something else
This Actor is the right tool for Ticketmaster event, ticket, and pricing data. It's NOT the right tool for:
| If you need... | Use this instead |
|---|---|
| Resale marketplace listings (StubHub, Vivid Seats) | A resale-marketplace Actor (StubHub Scraper — coming soon) |
| Eventbrite / Eventim / other platforms | The dedicated Eventbrite or Eventim Actor |
| Ticketmaster Greece or Latin America (br/cl/pe/ar/co) | Not supported — those hosts run Ticketmaster's legacy stack, not the TMOL platform |
| Buying tickets or bypassing queues | No scraper can or should do this |
| Login-walled / account data | Not collected — public data only |
FAQ
Q: What counts as a billed row?
A: One dataset row = one event (or artist/venue/review/suggestion row when those options are on). Rows are only written on success — failed requests produce an ERROR_SUMMARY, not billed rows.
Q: Do I need proxies or a Ticketmaster API key? A: No. Residential egress and the engine ladder (JSON API → stealth browser → unlock fallbacks) are handled by the scrape worker.
Q: How fresh is the pricing and inventory?
A: Each run fetches current upstream responses, but the meaning depends on detailLevel. Quickpick listing rows are recommended picks, not remaining stock; RAS price-level offer rows carry live open-seat/face-value evidence; TMR resale-section listing rows carry resale availability; geometry counts and discovery-metadata are not inventory. A blocked response is unknown, not sold out.
Q: How does price tracking work?
A: With trackChanges=true, each run snapshots seat picks + status into a named key-value store and diffs against the previous run. Set alertWebhookUrl to get a ticketmaster.event.changed JSON POST on movement. First snapshots never alert.
Q: Does geo search work in every country?
A: Ticketmaster's API only honors lat/long server-side on the US and CA hosts (verified 2026-08-09). On the other 21 markets the Actor fetches results and post-filters them by venue coordinates within your radius — you'll see a warning when this happens, and coverage is limited to the fetched pages (raise maxPages for wider coverage). Geo without a query requires us/ca or a classificationId on other markets.
Q: Can I crawl a whole country's events?
A: Yes — use category mode (or search with classificationId) plus shardByDate. The worker walks date windows past the ~500-event API cap and dedupes by eventId.
Q: Which countries are supported?
A: Code supports 23 TMOL markets: US, UK, IE, CA, AU, NZ, MX, DE, AT, CH, FR, BE, NL, IT, ES, SE, NO, DK, FI, PL, CZ, AE, ZA. Input gb normalizes to uk. US and UK have the strongest historical live evidence; selected Discovery probes also covered DE/UK. Code support does not mean every market was freshly smoke-tested, and market support does not guarantee a suitable local egress exit on every run. Greece and Latin America use Ticketmaster's legacy stack and are not supported by this adapter.
Q: Free tier?
A: Free Apify plans: 10 runs total, up to 200 results per run (limit set by the Actor developer, not Apify). Paid runs are bounded by the maximum total charge; maxResults has a schema maximum of 500 rows per input.
Q: Where do venue phone numbers come from?
A: Search cards only include the street address. With enrichDetails on (the default), the worker fetches each unique venue page and copies box-office / TTY numbers from Ticketmaster's public generalInfoBlocks. There is no click-to-reveal XHR. Venue email, named staff, and artist personal social links are not published on these pages.
Q: Is this affiliated with Ticketmaster? A: No. This is an independent tool collecting publicly available data.
Input reference
For developers who want full control:
| Parameter | Type | Description |
|---|---|---|
mode | string | search (default), artist, venue, category, or event |
query | string | Free-text search, e.g. taylor swift, lakers, hamilton |
market | string | Market host: us (default), uk, ie, ca, au, nz, mx, de, at, ch, fr, be, nl, it, es, se, no, dk, fi, pl, cz, ae, za |
startDate / endDate | string | Real calendar dates in YYYY-MM-DD; start must not be after end |
sort | string | relevance (default) or date |
classificationId | string | Genre/segment filter: raw id (KnvZfZ7vAe1), discover slug (concerts), or alias (comedy, rock, nfl, musicals, …). Not combinable with query |
latitude / longitude | number | Geo search center (paired). Native on us/ca; venue-coordinate post-filter on other markets |
radius / radiusUnit | number / string | Geo radius greater than 0 and at most 20000 (default 50) in miles (default) or km |
artistId / artistSlug | string | artistId is required for mode=artist; slug is optional metadata |
venueId / venueSlug | string | venueId is required for mode=venue; slug is optional metadata |
categorySlug | string | concerts, sports, arts-theater, or family for mode=category |
categoryId | string | Segment id (e.g. KZFzniwnSyZfZ7v7nJ = Music); mapped to a discover slug when known |
eventId / eventUrl | string | Event for mode=event. Accepts HOST hex IDs, TMR/Z IDs, and 6–40 character IDs containing _ or -; when both are present they must identify the same event. |
detailLevel | string | full (default, adds rendered page: seatManifest/smartQueue) or fast (JSON only, ~2s/event) |
includePricing | boolean | Opt in to separately billed listing/offer rows plus compact event price summaries (default false) |
includeSeatManifest | boolean | Opt in to seat geometry and RAS surfaces; RAS levels may emit separately billed offer rows (default false) |
includeReviews | boolean | Emit artist review rows, rowType=review (default false) |
includeSuggestions | boolean | Emit top-suggestion rows, rowType=suggestion (default false) |
enrichDetails | boolean | Fetch unique venue pages for box-office phones + full address (default true) |
shardByDate / dateShardDays | boolean / integer | Walk date windows (1–92 days, default 7) past the API page cap, deduped by eventId |
trackChanges | boolean | Snapshot + diff pricing/status per run; adds the tracking block (default false) |
alertWebhookUrl | string | Public HTTPS endpoint for ticketmaster.event.changed. Non-HTTPS URLs fail input validation; hosts that resolve to any private/loopback/link-local/reserved address are refused, the POST goes to the address that passed the check, and redirects are not followed |
maxResults | integer | Delivered and billed rows per explicit Start URL, Detail URL, or Event ID; a scalar mode request is one input. All row types share that input allowance. Default 70, Store prefill 3, maximum 500; larger requests continue in 70-row parts. The whole run stops at the maximum total charge; free tier is capped at 200 rows/run. |
maxPages | integer | Compatibility hint; entity mode pages internally until the row budget is full or the source ends |
startUrls / detailUrls / listingIds | array | Explicit URLs / event IDs; each array element is one input with its own maxResults allowance. A non-empty list is a complete target override (eventId / eventUrl are then not sent). URLs must be on a supported Ticketmaster market host; listingIds entries are 6–40 [A-Za-z0-9_-] IDs or /event/{id} URLs |
workerBaseUrl | string | Local-development override. Hosted runs honor it only when it exactly matches the configured /b/ticketmaster-com broker route |
timeBudgetSecs | integer | Total run time including queueing, 30–3600 s (empty = run timeout; the shorter of the two applies) |
onTimeout | string | partial (default): keep rows collected so far, run succeeds with RUN_SUMMARY.status=PARTIAL; fail: run fails with deadline_exceeded, no rows saved |
progressIntervalSecs | integer | How often status message and PROGRESS record refresh, 2–30 s (default 4) |
Full output schema is available in the Dataset tab.
Unknown non-empty values for mode, detailLevel, and onTimeout are rejected rather than replaced with defaults. The hidden host override accepts only the 23 listed Ticketmaster market hosts and its market wins (gb normalizes to uk).
Related Actors
All 100+ public Actors from lentic_clockss. Click a name to open the Store detail page.
Tickets & Events
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Bayt Jobs Scraper
- Fiverr Full-Site Gig Scraper
- Freelancer.com Scraper
- Himalayas Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Realtor.com Agents Scraper
- Zillow Group Scraper
- Apartments.com Rental Scraper
- realestate.com.au Scraper
- Rightmove Scraper
- Idealista Scraper
- ImmoScout24 Scraper
- Immobiliare.it Scraper
- SeLoger Scraper
- Funda Scraper
- Otodom Scraper
- Realtor.ca Scraper
- 99.co Scraper
- PropertyGuru Scraper
- Property Finder Scraper
- Bayut Scraper
- OpenSooq Scraper
- Hepsiemlak Scraper
- FINN.no Scraper
- Booli Scraper
- Naver Land Scraper
- SUUMO Scraper
- Daft.ie Scraper
- Dot Property Scraper
- Craigslist Housing Scraper
E-commerce
- Amazon Search, Category & Best Sellers Scraper
- Walmart Product Scraper
- Temu Product Scraper
- SHEIN Product Scraper
- Etsy Scraper
- Target Product Scraper
- Costco Product Scraper
- Allegro Scraper
- Cdiscount Product Scraper
- Coupang Product Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- Lazada Product Scraper
- ASOS Product Scraper
- eBay Product Scraper
- 1688 Global Product Search Scraper
- DHgate Wholesale Scraper
- Faire Scraper
- TikTok Shop Product Scraper
Travel & Stays
- Booking.com Hotels Scraper
- Booking.com & Airbnb Scraper
- Airbnb Listings Scraper
- Expedia Scraper
- TripAdvisor Scraper
- Agoda Scraper
- Trip.com Scraper
- Traveloka Scraper
- Despegar Scraper
- Travelstart Flights Scraper
Food Delivery & Grocery
- Uber Eats Scraper
- DoorDash Scraper
- Deliveroo Scraper
- Foodpanda Scraper
- Foodora Scraper
- Grab Scraper
- iFood Scraper
- PedidosYa Scraper
- Rappi Scraper
- Talabat Scraper
- Wolt Scraper
- Instacart Scraper
Social & Content
Ads Intelligence
- Facebook Ad Library Scraper
- TikTok Ads Intelligence (CCL + Creative Center)
- Google Ads Transparency Center Scraper
Local & Maps
B2B & Industrial
- Kompass Scraper
- Europages Scraper
- GlobalSources Scraper
- IndiaMART Scraper
- iPROS Scraper
- MonotaRO Scraper
- Thomasnet Scraper
- Xometry Scraper
Finance & Markets
General Tools
→ Browse the full profile: apify.com/lentic_clockss