Ticketmaster Scraper - Events, Tickets & Prices avatar

Ticketmaster Scraper - Events, Tickets & Prices

Pricing

from $2.20 / 1,000 event rows

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

Ticketmaster Scraper - Events, Tickets & Prices

Collect Ticketmaster events, ticket prices, artist calendars and venue details across 23 supported markets. Pay per delivered row plus a small start fee; optional ticket and review rows use the same row limit.

Pricing

from $2.20 / 1,000 event rows

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

66

Total users

31

Monthly active users

a day ago

Last modified

Categories

Security

Limited permissions

Share

Ticketmaster Scraper

Extract Ticketmaster events, ticket prices, artist calendars and venue details across 23 supported markets as rows you can export.

  • Search concerts, sports, theater and family events.
  • Collect event dates, venue contacts and available pricing.
  • Add separately billed ticket, offer and review rows when needed.
  • Compare event snapshots and send change alerts.
  • Pay $3 per 1,000 rows on the Free plan, plus a small start fee.

What does Ticketmaster Scraper do?

Ticketmaster Scraper collects public event and ticket information from Ticketmaster country sites. Each row represents one entity, not an entire event's ticket inventory.

  • search: keyword, classification or geographic search.
  • artist and venue: calendars and available profile information.
  • category: concerts, sports, arts and theater, or family events.
  • event: event details from a URL or ID, including batch inputs.
  • Optional listing, offer, review and suggestion rows share the input's row allowance and are billed like event rows. Their switches are off by default.

Supported market values are us, uk, ie, ca, au, nz, mx, de, at, ch, fr, be, nl, it, es, se, no, dk, fi, pl, cz, ae and za. Coverage varies by market and event; support does not guarantee ticket inventory for every event.

What data can you extract from Ticketmaster?

Every row has id and rowType. The following fields are available when the source provides them. Examples illustrate structure, not current ticket availability.

Event rows

FieldDescriptionExample
idEvent identifier0D0064EA9A88501D
rowTypeEntity typeevent
titleEvent nameExample Arena Concert
urlEvent pagehttps://www.ticketmaster.com/example/event/0D0064EA9A88501D
datetimeLocalLocal event date and time2027-05-15T19:30:00
venueNameVenue nameExample Arena
venueCityVenue cityMiami
marketTicketmaster marketus
lowestPriceLowest reported price45
priceCurrencyPrice currencyUSD
ticketingStatusReported ticketing statusonsale
detailLevelCoverage label, not the requested settingdiscovery-metadata
inventorySystemReported inventory label; TMR marks resale eventsTMR
totalResaleAvailableResale tickets reported when offered128
resaleSectionsResale section groups on the event row, when offered[{"section":"112"}]
trackingSnapshot comparison when enabled{"firstSnapshot": true}

Listing rows

FieldDescriptionExample
eventIdParent event identifier0D0064EA9A88501D
listingKindquickpick for recommended picks, resaleSection for resale groupsquickpick
listingSourceListing feed that produced the row; edp-ssr-quickpicks marks resale picks parsed from the event page markupticketmaster-quickpicks
sectionSeating section112
rowSeating rowF
priceReported listing price89
availableReported open resale count for the group, when offered6
pickSizePick group size, not remaining stock2

Offer rows

FieldDescriptionExample
offerKindOffer or price-level groupingrasPriceLevel
faceValuePrice-level face value80
openSeatsOpen seats reported for that price level12

Review rows

FieldDescriptionExample
ratingArtist review rating5
textPublic review textExample review text
authorPublic reviewer nameJane Doe

Suggestion rows

FieldDescriptionExample
suggestedEventIdSuggested event identifier0D0064EA9A88501D
titleSuggested event nameExample Arena Concert

Artist rows

FieldDescriptionExample
titleArtist nameExample Artist
urlArtist pagehttps://www.ticketmaster.com/artist/779049

Venue rows

FieldDescriptionExample
phonesPublic venue phone objects, when present[{"value":"+1 555 0100","type":"landline"}]
addressStructured venue address{"locality":"Miami"}

Category rows

FieldDescriptionExample
idCategory identifiercategory:KZFzniwnSyZfZ7v7nJ
titleCategory labelMusic

How to scrape Ticketmaster

  1. Open Ticketmaster Scraper in Apify Console.
  2. Fill one target field and leave mode on auto.
  3. Set maxResults to 3 for a small first run.
  4. Click Start and wait for completion.
  5. Open the dataset and download your rows.

Empty input starts a concert search with the form's prefilled limit of 3 rows. This example uses normal pricing; it is not an uncharged preview. A single target selects its matching mode automatically. If you select a mode but leave its target empty, the Actor follows the target you supplied instead.

Fill query, or use classificationId or paired latitude and longitude. Leave dates empty for all upcoming dates. Choose either a keyword or a classification rather than combining them.

Artist

Fill artistId; artistSlug alone is not sufficient. Enable includeReviews if you also want review rows.

Venue

Fill venueId; venueSlug is optional. Public box-office contacts may be included with enrichDetails enabled.

Category

Fill categorySlug, categoryId or classificationId. Category slugs are concerts, sports, arts-theater and family.

Event

Fill eventUrl or eventId. For batches, use startUrls, detailUrls or listingIds; nonempty target lists replace scalar event targets. startUrls also accepts browse pages. Turn on includePricing for listing and offer rows.

Resale-marketplace events carry inventorySystem: TMR. includePricing adds resale section rows (listingKind: resaleSection) when the resale feed offers them; when it declines, the event row still returns and the run reports a warning in RUN_SUMMARY.

What to fill in

FieldWhat to enterDefault
modeauto, search, artist, venue, category, eventauto
querySearch keywordPrefill concert
eventUrl, eventIdEvent link or 6–40 character IDEmpty
artistId, artistSlugArtist ID and optional slugEmpty
venueId, venueSlugVenue ID and optional slugEmpty
categorySlug, categoryIdCategory slug or segment IDEmpty
classificationIdClassification ID or alias such as comedyEmpty
startUrls, detailUrls, listingIdsLists of Ticketmaster URLs or event IDsEmpty
marketSupported country codeus
maxResultsRows per input, 1–50070; prefill 3
startDate, endDateCalendar dates, YYYY-MM-DDEmpty
sortrelevance or daterelevance in form
latitude, longitudePaired search coordinatesEmpty
radius, radiusUnitDistance and miles or km50, miles
detailLevelfull or reduced-detail fastfull
includePricingAdd listing and offer rowsfalse
includeSeatManifestRequest layout and availability detailsfalse
includeReviewsAdd artist review rowsfalse
includeSuggestionsAdd suggestion rowsfalse
enrichDetailsAdd available venue contactstrue
shardByDate, dateShardDaysSearch in date windows of 1–92 daysfalse, 7
enumerate, seedKindBrowse saved classification, venue, attraction or all targetsfalse, classification
trackChangesCompare event snapshots across runsfalse
alertWebhookUrlPublic HTTPS change-alert destinationEmpty
maxPagesPage hint, 1–25; row limit still applies1
timeBudgetSecsTime allowance, 30–3600 secondsRun timeout
onTimeoutpartial or failpartial
progressIntervalSecsProgress refresh, 2–30 seconds4

Search:

{"query":"concert","market":"us","maxResults":3}

Artist:

{"artistId":"779049","includeReviews":true,"maxResults":3}

Venue:

{"venueId":"106601","maxResults":3}

Category:

{"categorySlug":"concerts","market":"uk","maxResults":3}

Event, using a format example; replace the ID with a current event:

{"eventId":"0D0064EA9A88501D","includePricing":true,"maxResults":3}

Saved-target enumeration, which is not the empty-input example:

{"enumerate":true,"market":"us","seedKind":"classification","maxResults":3}
  • For ordinary runs, maxItems and limit are accepted aliases for maxResults.
  • Ordinary runs correct close field-name misspellings and ignore other unknown fields with a warning. Invalid optional filters such as sort: "newest" are dropped. Targetless enumeration skips these corrections; use canonical field names.
  • Invalid targets or dates stop with INVALID_INPUT: <field> — <how to fix> before any row is charged. The start fee still applies.
  • Each run writes its input interpretation to INPUT_REPORT in the default key-value store.
  • Dates do not move forward automatically. No automatic keyword translation is promised.

Output example

Illustrative event row, not a live ticket quote:

{
"id": "0D0064EA9A88501D",
"eventId": "0D0064EA9A88501D",
"rowType": "event",
"title": "Example Arena Concert",
"url": "https://www.ticketmaster.com/example/event/0D0064EA9A88501D",
"datetimeLocal": "2027-05-15T19:30:00",
"venueName": "Example Arena",
"venueCity": "Miami",
"market": "us",
"lowestPrice": 45,
"priceCurrency": "USD",
"ticketingStatus": "onsale",
"detailLevel": "discovery-metadata"
}

Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table.

Why use this Ticketmaster scraper?

  • Row-based billing. You pay for delivered rows plus the start fee, not unsuccessful page attempts.
  • Partial delivery. onTimeout=partial saves available rows at the collection deadline. Already stored rows remain accessible after a stop; unsaved rows are not guaranteed after a manual abort.
  • Clear failures. Input errors explain what to fix; collection failures have an ERROR_SUMMARY.
  • Missing means missing. Unavailable prices or contacts stay empty rather than being invented.
  • Batch inputs. Collect several event URLs or IDs in one run.
  • No proxy setup. You do not need to set up proxies.

How much does it cost to scrape Ticketmaster?

The Actor uses pay-per-event pricing. Platform usage is included in these prices.

Apify planStart eventPrice per rowPrice per 1,000 rows
Free$0.005$0.003$3.00
Starter$0.005$0.003$3.00
Scale$0.005$0.0026$2.60
Business$0.005$0.0022$2.20
Platinum$0.005$0.002$2.00
Diamond$0.005$0.0016$1.60

The start charge is one event per GB of memory, with a minimum of one event. At the default 256 MB, the start costs $0.005.

  • maxResults applies to each explicit URL or ID; a scalar search is one input. The default is 70, and larger requests are collected in parts of 70.
  • All row types share that input's allowance. Asking for 3 rows does not mean 3 events plus unlimited tickets.
  • Free Apify plan runs are capped at 200 rows, with a developer-set allowance of 10 runs.
  • The whole run stops at Maximum cost per run (maxTotalChargeUsd in the API).

Example: three event URLs delivering 5 rows each produce 15 billed rows. On the Free plan at 256 MB: 15 × $0.003 + $0.005 = $0.050.

What happens when the run timeout is too short

When a queued request needs longer than the remaining run time, the run can pause as ABORTED with the message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." When ready, the same run resumes, reports "Resumed: delivering N rows.", writes to the same dataset and finishes as SUCCEEDED if delivery succeeds. Already delivered rows are not delivered or charged again.

This can happen at most 3 times per run. Keep the default timeout of 3600 seconds to reduce interruptions. A collection deadline is different: onTimeout=partial keeps available rows, while fail rejects that unfinished result. Reaching the deadline without rows fails with a reason.

The synchronous endpoints run-sync and run-sync-get-dataset-items wait at most 300 seconds and may return an empty dataset while a run is paused. For longer jobs, start asynchronously and read the dataset after SUCCEEDED, or use a succeeded-event webhook.

Use with AI agents and the API

Apify MCP server

In Claude, ChatGPT, Cursor, VS Code or another remote MCP client, add:

https://mcp.apify.com?tools=lentic_clockss/ticketmaster-scraper

Sign in with Apify through OAuth, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool returns run and dataset IDs; read the rows with get-dataset-items. For clients without remote support, run npx @apify/actors-mcp-server --tools lentic_clockss/ticketmaster-scraper with APIFY_TOKEN set.

Example prompt: "Find 3 Ticketmaster concert rows in the US using query concert. Return event names, dates and venues."

Apify API

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/ticketmaster-scraper").call(
run_input={"query": "concert", "market": "us", "maxResults": 3}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/ticketmaster-scraper')
.call({ query: 'concert', market: 'us', maxResults: 3 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

For HTTP, send input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~ticketmaster-scraper/runs with an Authorization: Bearer header. Read rows with GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.

Integrations

Use the Integrations tab for Google Sheets, Make, Zapier, n8n, Slack, Airtable or webhooks. Use Apify Schedules for repeated runs.

FAQ

This Actor collects public data. You are responsible for Ticketmaster's terms and applicable data-protection law. Processing personal data requires a lawful basis. This tool is independent of Ticketmaster and Live Nation Entertainment.

Why did my run end as ABORTED?

It may be the automatic pause described above. Check the status message before restarting; a manual abort is not the same as an automatic pause.

How many results can I get?

Set maxResults from 1 to 500 per input. Actual rows depend on source availability, selected options, time and spending limits. Free-plan runs stop at 200 rows.

Why are some fields empty?

Not every page exposes prices, seats, contacts or reviews. Metadata-only results do not prove that an event has no tickets.

Why did my resale event return no listing rows?

Resale-marketplace events (inventorySystem: TMR) rely on the resale feed. When it offers sections, they arrive as separately billed rows with listingKind: resaleSection and reported available counts. When it declines, the event row is still delivered with a warning in RUN_SUMMARY; an absent resaleSections value means none were offered, not that none exist.

Are ticket quantities remaining inventory?

Not always. Recommended picks describe purchase groups. Static seating geometry describes layout. Only reported availability counts describe observed availability; prices and stock can change after collection.

How do change alerts work?

Enable trackChanges and schedule repeated event runs. The first snapshot does not alert. Later changes can send ticketmaster.event.changed to alertWebhookUrl. Use a public HTTPS destination; redirects are not followed. Alerts compare observed snapshots, not continuous monitoring.

Does geographic search work everywhere?

Keyword searches in US and Canada support geographic filters directly. Other markets and category searches filter fetched events by venue coordinates, so coverage depends on available rows. Supply a keyword or classification with coordinates outside US/Canada.

Can I buy tickets with this Actor?

No. It collects public information, not purchases, reservations or account data.

Limitations

  • Greece, Brazil, Chile, Peru, Argentina and Colombia are not supported markets.
  • Seat-level pricing and resale availability are not guaranteed for every event or country; resale-marketplace (TMR) events may return metadata only when the resale feed declines.
  • detailLevel output labels describe returned coverage: bff-metadata, ras-avsc, ras-manifest, tmr-ismds, edp-qp-resale, edp-metadata or discovery-metadata; none alone proves live inventory.
  • Resale events (inventorySystem=TMR) can emit per-listing resale rows parsed from the event page markup (listingSource=edp-ssr-quickpicks, priceBasis=listed): section, row, listed price, delivery method. These are the listings the page displays, not a complete resale inventory.
  • Venue emails and named venue staff are not provided by the supported contact fields.
  • Date-window searches and saved-target enumeration do not guarantee a complete market census.
  • Optional rows compete with event rows for the same allowance; attribute lists are capped at 50 entries.

More event and ticketing scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Report problems or request a field through the Issues tab of this Actor's page. Include the run ID and the input you used.