Ticketmaster Scraper | Events, Tickets & Seat-Level Prices avatar

Ticketmaster Scraper | Events, Tickets & Seat-Level Prices

Pricing

from $2.20 / 1,000 event rows

Go to Apify Store
Ticketmaster Scraper | Events, Tickets & Seat-Level Prices

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

kane liu

Maintained by Community

Actor stats

1

Bookmarked

38

Total users

19

Monthly active users

7 days ago

Last modified

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-com broker → egress-control → ns515786 VPS 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 wheel opendata-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

SurfaceFast pathFull pathInventory meaningVerification status
searchBFF JSON; Discovery listing fallback when web BFF is gatedHTML/browser fallback plus venue lead enrichmentList rows are metadata, not seat inventoryUS/UK historical live; Discovery code/tests local
artistBFF artist eventsHTML path for reviews/suggestions plus venue enrichmentEvent cards are metadataUS historical live
venuecurl_cffi venue pageBrowser/unlocker fallbacks plus box-office lead parseVenue events are metadata; venue page supplies leadsUS/UK historical live
categoryBFF category/classification searchHTML/browser fallbackList rows are metadataUS historical live
event, requested fastBFF event metadata/pricing; for TMR/Z IDs, RAS/Discovery and optional ISMDS replayDoes not open an EDP solely for fastOutput detailLevel tells the actual evidence obtainedHOST historical live; new TMR/RAS paths local tests only
event, requested fullStarts with BFF metadata/pricingPatchright → camoufox-base/orchestrator → Bright Data fallback; in-page TMR ISMDS capture when availableCan add EDP metadata, RAS availability/skeleton, or TMR resale groupsHOST historical live; new TMR/ISMDS paths local tests only
Discovery fallback/discovery/v2/ids translation plus event/list metadataN/Adiscovery-metadata has dates/venue/sales/static map, no inventoryDE/UK historically probed from ns515786; local tests in this checkout
RAS availabilityavsc/events/{eventId}Same request-driven channelrowType=offer, offerKind=rasPriceLevel; event parent keeps open-seat/level summariesLocal fixtures/tests; production smoke still required
RAS skeletonmanifest + geometrySame request-driven channelEvent parent keeps geometry counts only; geometry is not live inventoryLocal fixtures/tests; production smoke still required
TMR resalein-page or replayed ISMDS facetsBrowser session preferredrowType=listing, listingKind=resaleSection; event parent keeps total/count summariesLocal fixtures/tests; production smoke still required
Price trackingActor snapshots price/status fieldsSchedule later runs and optional webhookA diff of observed snapshots; not a purchase/reservation signalHistorical Apify run evidence; unchanged product layer

Honest inventory semantics

  • Quickpick listing rows' quantity / pickSize is 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=rasPriceLevel is the RAS avsc evidence: live open-seat counts plus face-value levels at fetch time.
  • rowType=listing, listingKind=resaleSection comes from Ticketmaster Resale ISMDS facets. It is separate from primary RAS availability.
  • edp-metadata means the EDP document was parsed for metadata and static seat-manifest counts. It does not mean live inventory was obtained.
  • discovery-metadata is an EPS-free metadata fallback and carries no seat inventory.
  • diagnostics.acquisitionBlocked=true means the acquisition path was gated; it does not mean sold out. Only diagnostics.validEmpty=true is a verified upstream zero-result response.
  • diagnostics.surfaceHealth reports 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 on event runs) 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.contractDropped counts 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.listingsExtracted is the emitted row count. contractDropped is explicitly 0 when nothing was rejected. Optional prices, presales and static seatmaps may be absent without invalidating an event.
  • diagnostics.sessionHealth describes venue exit successes, connection failures and target gates for this run only. challengeVendor is none, an observed vendor, or unclassified when 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

CapabilityWhat it means for you
One billed entity per rowEvent parents, quickpick/resale listings, seat-map/RAS offers, reviews, suggestions, artists, and venues each get their own stable rowType + id row
Seat-level pricingPrimary & resale listing rows with face value, fees, section/row/seat — far beyond min/max price ranges
Price-change trackingPer-run snapshot + diff; webhook alerts on price drops, sold-outs, and status flips (trackChanges + alertWebhookUrl)
23 TMOL market hostsCode 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 modessearch, artist, venue, category, event detail — plus batch URL / ID input
Genre & segment filters45+ verified aliases (comedy, rock, hip-hop, nfl, nba, soccer, musicals, festivals, …) or raw classification IDs
Geo searchlatitude + 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 crawlsshardByDate walks date windows past the ~500-event API page cap, deduped by eventId
Requested fast/full pathsfast 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 inventoryTMR/Z IDs and _ are accepted. ISMDS resale groups, RAS live availability, RAS geometry skeleton, and Discovery fallback are kept distinct.
Reviews & suggestionsOptional artist review rows (rowType=review) and top-suggestion rows (rowType=suggestion)
Venue box-office leadsenrichDetails (default on) fetches each unique venue page for box-office phones + full street address. Search cards only have 门牌.
Per-input row budgetmaxResults 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 friendly10 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:

FieldWhat to enter
Modeevent
Event URLhttps://www.ticketmaster.com/…/event/0D0064EA9A88501D
Track changestrue
Alert webhook URLYour endpoint (Make/n8n/Zapier webhook, your API, …)

You get back (per event):

FieldExample
lowestPrice / priceCurrency25.00 / USD
rowType=offerStandard Admission $106.50 + $28.55 fees = $135.05
rowType=listingGA 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):

TitleDateVenueCitySegmentFrom priceSold out
Example Arena Tour2026-09-12Kaseya CenterMiamiMusic$45.00false
Comedy Night Live2026-09-14The FillmoreMiami BeachArts & Theatre$32.50false

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

E-commerce

Real Estate

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)

  1. Click "Try for Free" at the top of this page
  2. Pick a mode — search is the default and covers most use cases
  3. 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
  4. (Optional) Narrow by market, startDate/endDate, turn on child-row switches such as includePricing, or enable trackChanges for monitoring
  5. 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, canonical url, 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 output detailLevel, 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, and ticketLimitText.
  • Child entities — quickpicks and TMR groups are rowType=listing; seat-map and RAS levels are rowType=offer. Each child copies eventId, eventTitle, eventUrl, venue, market, and host context.
  • Rendered-page detail when obtained — seatManifest geometry counts, hasInteractiveSeatMap, and smartQueue flags. Geometry does not prove availability.
  • Monitoring (trackChanges) — tracking block with new/sold picks, per-pick price changes, lowestPriceChange, status transitions
  • Extra row types — rowType=review (artist reviews), rowType=suggestion, rowType=artist, and rowType=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.

FieldTypeWhat 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.
leadSourceenumsearch (list card), entity (venue HTML or residential venue/info), detail (event page).
leadRevealenumBox-office numbers are SSR / visible in generalInfoBlocks (accordion is display-only; no contact XHR). Event-detail contact this session may be gated (EPS).
leadAbsencesobjectPer-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 residential api/venue/info and 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) matches supportConfig platform CS; those numbers are not copied onto venue/event rows (they are Ticketmaster, not the venue).
  • Turning enrichDetails off keeps search-card 门牌 but leaves phones=[] with leadAbsences.phones=本站无.

Honest limitations

LeadStatusWhy
Venue phone + streetAvailableVenue 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 mailtoNot on event rowsTicketmaster/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-LDDo 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 chargePrice
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:

PlatformHow to connect
Make.comSearch "Apify" → "Run Actor" → Actor ID: lentic_clockss/ticketmaster-scraper
n8nAdd Apify node → "Run Actor" action → same Actor ID
ZapierApify integration → "Run Actor" trigger
LangChainApifyActorsTool("lentic_clockss/ticketmaster-scraper")
Python / Node.jsApify 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 platformsThe 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 queuesNo scraper can or should do this
Login-walled / account dataNot 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:

ParameterTypeDescription
modestringsearch (default), artist, venue, category, or event
querystringFree-text search, e.g. taylor swift, lakers, hamilton
marketstringMarket 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 / endDatestringReal calendar dates in YYYY-MM-DD; start must not be after end
sortstringrelevance (default) or date
classificationIdstringGenre/segment filter: raw id (KnvZfZ7vAe1), discover slug (concerts), or alias (comedy, rock, nfl, musicals, …). Not combinable with query
latitude / longitudenumberGeo search center (paired). Native on us/ca; venue-coordinate post-filter on other markets
radius / radiusUnitnumber / stringGeo radius greater than 0 and at most 20000 (default 50) in miles (default) or km
artistId / artistSlugstringartistId is required for mode=artist; slug is optional metadata
venueId / venueSlugstringvenueId is required for mode=venue; slug is optional metadata
categorySlugstringconcerts, sports, arts-theater, or family for mode=category
categoryIdstringSegment id (e.g. KZFzniwnSyZfZ7v7nJ = Music); mapped to a discover slug when known
eventId / eventUrlstringEvent 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.
detailLevelstringfull (default, adds rendered page: seatManifest/smartQueue) or fast (JSON only, ~2s/event)
includePricingbooleanOpt in to separately billed listing/offer rows plus compact event price summaries (default false)
includeSeatManifestbooleanOpt in to seat geometry and RAS surfaces; RAS levels may emit separately billed offer rows (default false)
includeReviewsbooleanEmit artist review rows, rowType=review (default false)
includeSuggestionsbooleanEmit top-suggestion rows, rowType=suggestion (default false)
enrichDetailsbooleanFetch unique venue pages for box-office phones + full address (default true)
shardByDate / dateShardDaysboolean / integerWalk date windows (1–92 days, default 7) past the API page cap, deduped by eventId
trackChangesbooleanSnapshot + diff pricing/status per run; adds the tracking block (default false)
alertWebhookUrlstringPublic 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
maxResultsintegerDelivered 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.
maxPagesintegerCompatibility hint; entity mode pages internally until the row budget is full or the source ends
startUrls / detailUrls / listingIdsarrayExplicit 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
workerBaseUrlstringLocal-development override. Hosted runs honor it only when it exactly matches the configured /b/ticketmaster-com broker route
timeBudgetSecsintegerTotal run time including queueing, 30–3600 s (empty = run timeout; the shorter of the two applies)
onTimeoutstringpartial (default): keep rows collected so far, run succeeds with RUN_SUMMARY.status=PARTIAL; fail: run fails with deadline_exceeded, no rows saved
progressIntervalSecsintegerHow 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).


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

Tickets & Events

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Food Delivery & Grocery

Social & Content

Ads Intelligence

Local & Maps

B2B & Industrial

Finance & Markets

General Tools

→ Browse the full profile: apify.com/lentic_clockss