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
33
Total users
15
Monthly active users
10 hours 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 pricing evidence, status fields, 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 can return quickpicks pricing, RAS live availability, a geometry-only seat skeleton, TMR ISMDS resale groups, or metadata-only fallbacks; detailLevel tells you which evidence was actually obtained.
Price tracking built in: turn on trackChanges and the Actor snapshots every event's pricing, diffs it against the previous run, and POSTs a ticketmaster.event.changed webhook to your URL when prices move, seats sell out, or demand changes. Ideal for scheduled ticket-price monitoring.
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-09-23.tmr-sync1, shared wheelopendata-worker-shared==1.9.4. - 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.
This repository change is locally verified only unless a table below explicitly cites an older production run. No new Apify push, VPS deploy, Cloud Run deploy, or live smoke is implied by the 2026-09-23 capability documentation.
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 | seatAvailability = live open seats and face-value price levels | Local fixtures/tests; production smoke still required |
| RAS skeleton | manifest + geometry | Same request-driven channel | seatSkeleton = layout/geometry only, not live inventory | Local fixtures/tests; production smoke still required |
| TMR resale | in-page or replayed ISMDS facets | Browser session preferred | resaleSections, totalResaleAvailable, offerIds = resale availability from ISMDS | 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
pricing.primary.picks[].quantity/pickSizefrom quickpicks is the recommended purchase group size. It is not the number of seats left in a section.seatSkeletonand legacyseatManifestdescribe geometry (sections/rows/seats). They are not real-time availability.seatAvailabilityis the RASavscevidence: live open-seat counts plus face-value levels at fetch time.resaleSectionsandtotalResaleAvailablecome from Ticketmaster Resale ISMDS facets. They are separate from primary RAS availability.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.
Event degradation chain
For a TMR/Z event the best available output is selected in this order:
tmr-ismds → ras-avsc → ras-manifest → bff-metadata → 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 |
|---|---|
| Seat-level pricing | Primary & resale ticket picks 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, 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 (recordType=review) and top-suggestion rows |
| Venue box-office leads | enrichDetails (default on) fetches each unique venue page for box-office phones + full street address. Search cards only have 门牌. |
| 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 |
pricing.offers[] | Standard Admission $106.50 + $28.55 fees = $135.05 |
pricing.primary.picks[] | 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 event):
| 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, or turn ontrackChangesfor 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 event row includes:
- 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,ticketingStatus,presales,addOns,seatmapUrl,seatmapStaticUrl - Coverage evidence —
inventorySystemand actual outputdetailLevel.seatAvailabilityis RAS live open-seat/face-value data;seatSkeletonis geometry only;resaleSections,totalResaleAvailable, andofferIdsare TMR ISMDS resale evidence. - Pricing (event mode) —
pricingblock with primary/resale picks, face value/fees, section/row/seat, and offer IDs; derivedlowestPrice/highestPrice/priceCurrency,pageMode, andticketLimitText. Quickpicks quantity is pick size, not remaining inventory. - 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 —
recordType=review(artist reviews) andrecordType=suggestionrows when enabled - 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 |
| Event row (FREE & BRONZE plans) | $3.00 per 1,000 rows |
| Event row (SILVER plan) | $2.60 per 1,000 rows |
| Event row (GOLD plan) | $2.20 per 1,000 rows |
| Event row (PLATINUM plan) | $2.00 per 1,000 rows |
| Event row (DIAMOND plan) | $1.60 per 1,000 rows |
| Volume (FREE/BRONZE) | Estimated cost |
|---|---|
| 100 event rows | ~$0.31 |
| 1,000 event rows | ~$3.01 |
| 10,000 event 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.
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": 1}
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": 1}
Price tracking:
{"mode": "event","eventUrl": "https://www.ticketmaster.com/example/event/0D0064EA9A88501D","detailLevel": "fast","trackChanges": true,"alertWebhookUrl": "https://example.com/ticketmaster-alert","maxResults": 1}
The first tracking run creates the baseline and does not alert. Use your own webhook endpoint; 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 enqueues one request-driven worker job, reports queue/running status, and waits only for that job lifecycle. 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. Quickpicks are recommended picks, not remaining stock; seatAvailability is the live RAS open-seat/face-value evidence; resaleSections is TMR ISMDS resale availability; seatSkeleton 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 plans are unlimited (schema max 500 results per run).
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 | Search date filter, YYYY-MM-DD |
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 (default 50) in miles (default) or km |
artistId / artistSlug | string | Artist for mode=artist, e.g. 779049 (Shakira) |
venueId / venueSlug | string | Venue for mode=venue, e.g. 106601 (Kaseya Center) |
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 -; event URLs derive the /event/{id} token. |
detailLevel | string | full (default, adds rendered page: seatManifest/smartQueue) or fast (JSON only, ~2s/event) |
includePricing | boolean | Attach seat-level pricing + lowestPrice/highestPrice (default true) |
includeSeatManifest | boolean | Parse seat geometry counts on detailLevel=full (default true) |
includeReviews | boolean | Emit artist review rows, recordType=review (default false) |
includeSuggestions | boolean | Emit top-suggestion rows, recordType=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 | POST ticketmaster.event.changed alerts to this URL when a diff shows movement |
maxResults | integer | Max events to emit, 1–500 (Store/Console default 1; free tier capped at 200) |
maxPages | integer | List pagination depth, ~20 events per page (default 1, max 25) |
startUrls / detailUrls / listingIds | array | Explicit URLs / event IDs; mode inferred per URL, overrides mode fields |
workerBaseUrl | string | Advanced: override the scrape worker origin (allowlisted HTTPS only) |
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.
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