Eventbrite Scraper & API: Events, Ticket Prices [$0.50/1K] avatar

Eventbrite Scraper & API: Events, Ticket Prices [$0.50/1K]

Pricing

from $0.50 / 1,000 events

Go to Apify Store
Eventbrite Scraper & API: Events, Ticket Prices [$0.50/1K]

Eventbrite Scraper & API: Events, Ticket Prices [$0.50/1K]

Scrape Eventbrite events from many cities, categories and keywords in one run: dates (local and UTC), venues, coordinates, ticket prices, sold-out status, organizer stats. Free/paid and date filters, monitor mode for new and changed events. No proxy, no personal data. USD 0.50 per 1,000.

Pricing

from $0.50 / 1,000 events

Rating

0.0

(0)

Developer

Useful API

Useful API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Eventbrite Scraper and API: events data with ticket prices and organizers

Get Eventbrite events as clean rows for any city, country or online: title, start and end in local time and UTC, time zone, venue, address, coordinates, neighbourhood, category, format and tags. Switch on event page details to add the lowest and highest ticket price, currency, free or paid, sale status (on sale, sold out, sales ended) with Eventbrite's own label (for example "Postponed"), age limit, refund policy and the organizer's public profile counters.

Search many locations, categories and keywords in one run, with duplicates removed across searches. Run it on a schedule in monitor mode to see which events are new or changed since the last run.

USD 0.50 per 1,000 events. Event page details USD 0.40 per 1,000. That is USD 0.90 per 1,000 fully detailed events. No API key, no Eventbrite account, no subscription.

Why this one

  • Many cities, categories and keywords in one run, duplicates removed across searches. Type cities the way you say them: New York, NYC, Austin, TX, Paris, France, London, UK.
  • Free or paid filter that works together with categories and dates (for example paid music events this weekend).
  • Monitor mode: schedule it and get only new or changed events, with the changed fields named (date, venue, price, sold out, cancelled). Unchanged events cost a tenth.
  • Ticket prices and sale status straight from Eventbrite (prices as shown in the ticket list, fees included), Eventbrite's own label such as Postponed, age limit, refund policy.
  • Organizer counters for lead scoring (events hosted, total attendees, years hosting, verified) without collecting anyone's email or phone.
  • Clean, flat rows: local and UTC times with the time zone, coordinates, neighbourhood, the same columns on every row.
  • Polite and compliant: robots.txt checked for every page, a declared user agent, no proxy, no personal data. Your runs are not slowed or billed for proxy traffic.

Who it's for

  • Event aggregators and city guides: a fresh feed of what is on, by city, category and date, with coordinates for maps.
  • Venues, promoters and ticketing teams: watch competing events, ticket price ranges and sold-out events in your market; monitor mode tells you what changed since yesterday.
  • Market and tourism research: count events by category, format, price band and neighbourhood across cities.
  • Sales teams selling to event organizers: find active organizers and size them by events hosted and total attendees (public Eventbrite profile counters). No emails or phone numbers are collected.
  • Developers: an Eventbrite events API you call from code, with the same columns on every row.

What you get for each event

GroupFields
EventeventId, url, name, summary (the one or two sentences shown in search results), category, subcategory, format, organizerTags, language, imageUrl (link), publishedAt, seriesId, isSeries
WhenstartLocal, endLocal, startUtc, endUtc, timezone, isCancelled
WhereisOnline, venueName, venueAddress, venueCity, venueRegion, venuePostalCode, venueCountry, neighbourhood, latitude, longitude
Signalsurgency (Eventbrite's search badges such as fewTickets), ticketsBy
Event page details (option, on by default)priceMin, priceMax, currency, isFree, salesStatus (on_sale, sold_out, sales_ended, not_yet_on_sale...), salesMessage (Eventbrite's label, e.g. Postponed), eventStatus, ageRestriction, refundPolicy, hasExternalTickets, reservedSeating, organizerName, organizerUrl, organizerVerified, organizerEventsHosted, organizerTotalAttendees, organizerYearsHosting
Monitor (option)changeType (new, changed, unchanged), changedFields
Where it came fromsearchLocation, searchFor, searchUrl, scrapedAt, status, detailsStatus

Every row has every column (empty values are null), so CSV and Excel exports line up.

statusMeaningBilled
listedfound on an Eventbrite search page1 event (+ details if read)
event_pageread from an event URL you gave1 event + details
not_foundthe event URL no longer existsno
unavailableEventbrite did not serve the event page after retriesno

detailsStatus says whether the event page was read: ok (billed as details), not_requested, not_found, unavailable, unreadable, disallowed, not_read_run_stopping (the run stopped first). Only ok is billed.

Locations: type a city the way you say it, or a country, or online:

You typeEventbrite searches
New York (or NYC)ny--new-york
Austin, TXtx--austin
London (or London, UK)united-kingdom--london
Paris, Francefrance--paris
Berlingermany--berlin
United Statesthe whole country
onlineonline events worldwide

Eventbrite matches a plain city name to its own place; the place it chose is in every row (searchLocation) and in the run summary (placesResolved). To be exact, add the state or country ("Portland, OR"), use Eventbrite's own name (or--portland, the part after /d/ in its search URLs), or paste a whole search URL in Eventbrite search URLs (its own filters are kept).

Each location is searched once per category (Eventbrite's 21 categories) and once per keyword. Add a date (today, tomorrow, this weekend, this week, next week, this month, next month, or custom dates; either end can be left open), free or paid, and in person or online if you like. Eventbrite shows at most 980 events per search (49 pages of 20); for more, split by category or by dates.

Input examples

Eventbrite scraper for one city (music events in New York, with prices):

{ "locations": ["New York"], "categories": ["music"], "maxEventsPerSearch": 200 }

Events data for several cities in one run (business and tech events next month, no event page details):

{
"locations": ["New York", "San Francisco, CA", "London, UK", "Berlin, Germany"],
"categories": ["business", "science-and-tech"],
"datePreset": "next-month",
"maxEventsPerSearch": 980,
"details": false
}

Keywords and custom dates:

{ "locations": ["Chicago, IL"], "keywords": ["jazz", "wine tasting"], "datePreset": "custom", "startDate": "2026-12-01", "endDate": "2026-12-31" }

Paid events in person this weekend:

{ "locations": ["Austin, TX"], "categories": ["music", "food-and-drink"], "datePreset": "this-weekend", "priceFilter": "paid", "eventFormat": "in-person" }

Monitor: what is new or changed since yesterday (schedule it daily in Apify):

{ "locations": ["Austin, TX"], "categories": ["music"], "maxEventsPerSearch": 980, "monitor": "new_or_changed", "monitorName": "austin-music" }

Specific events (one row per event page):

{ "eventUrls": ["https://www.eventbrite.com/e/some-event-tickets-1234567890"] }

Eventbrite API: call it from code

Run it and get the rows back in one request (replace YOUR_TOKEN with your Apify API token):

curl -X POST "https://api.apify.com/v2/acts/usefulapi~eventbrite-events/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"locations":["New York"],"categories":["music"],"maxEventsPerSearch":50}'

Long runs: start the run with /runs, then read the dataset when it finishes. The run summary (rows per status, billed events, per-search counts, why a run stopped early) is the OUTPUT record of the run's key-value store.

Monitor mode

ModeWhat you getBilling
Offevery event foundper event
Labelevery event, with changeType (new, changed, unchanged) and changedFieldsper event
Only new or changedonly events that are new or changed; unchanged ones are left outper event delivered; unchanged USD 0.10 per 1,000

Compared fields: title, start, end, venue, address, cancelled, online, Eventbrite's search badges (urgency, e.g. fewTickets); with event page details also prices, currency, sale status and event status. Unchanged events count towards Max events per search and Max events in total. Direct event URLs are always returned (labelled). In "only new or changed" the search-page fields decide (the event page is read only for events that are new or changed there), so a sell-out with no other change shows up in Label mode with details on. The memory sits in a key-value store named eventbrite-events-monitor in your own Apify account, one record per input (or per Monitor name, which keeps the memory when you edit the input), up to 15,000 events. Events that ended more than two days ago are dropped from it.

Pricing

Pay per event, nothing else:

WhatPrice
Event (a row)USD 0.50 per 1,000
Event page details (price, sale status, organizer...)USD 0.40 per 1,000 rows that get them
Unchanged event in monitor mode "only new or changed"USD 0.10 per 1,000
Run startUSD 0.002 per run

Examples: 1,000 events without details USD 0.50; with details USD 0.90; a daily monitor of 980 events where 50 changed, with details: USD 0.045 + USD 0.093 + start = about USD 0.14 a day. Online events left out by "In person only" are not billed. Rows Eventbrite could not serve are not billed. Your maximum cost per run is respected: the run stops by itself before it, with every row so far saved.

Speed, and why it is polite

This tool reads Eventbrite the way a careful visitor would: one page at a time, search pages 10 seconds apart and event pages 1.5 seconds apart, through Apify's normal servers (no proxy). It checks Eventbrite's robots.txt for every URL and reads only pages robots.txt allows: search pages (/d/...) and event pages (/e/...), never Eventbrite's API, and never follows a redirect off those pages or off Eventbrite.

  • About 120 events a minute without details.
  • About 25 events a minute with details (one event page each).

If Eventbrite says it is busy (HTTP 429), the run waits (1, then 3 minutes) and slows down; at the third 429 in a row, or at once on HTTP 401 or 403, it stops and keeps the rows it has. Start the rest again later.

Data and privacy

  • No personal data: no emails, phone numbers, social links, performer names, attendee or buyer data. Email addresses, phone numbers, links and @handles inside the title and summary text are replaced ([email removed], [phone removed], [link removed], [handle removed]); the summary is cut at 300 characters.
  • Organizer = the name on the Eventbrite organizer profile, its public link and its public counters (events hosted, total attendees, verified).
  • No full event descriptions and no copies of images: the summary from the search results and a link to the image.

FAQ

Is this the official Eventbrite API? No. It reads Eventbrite's public web pages. Eventbrite's own API is for organizers' apps and cannot be resold, so this tool does not use it.

Do prices include fees? They are the prices Eventbrite publishes for the event (its structured data), which on the events we checked included Eventbrite's fee, as shown in the ticket list (for example USD 55.20 "incl. USD 5.20 fee").

Why are some prices null? Prices come from the event page, so switch on details. Some events hide prices or sell through another site (hasExternalTickets: true).

Why does a sold-out event say on_sale? The sale status is Eventbrite's, per event. An event with several ticket types or dates (isSeries) can still show on_sale while one date or type is sold out; check salesMessage and urgency.

Why fewer events than Eventbrite's count? Eventbrite's search stops at 49 pages (980 events). Split by category, keyword or dates to reach more.

Is it legal to scrape Eventbrite? This tool collects public event information only, respects robots.txt and collects no personal data. Eventbrite's terms of service restrict automated access and commercial use of its content; you are responsible for how you use the data. If in doubt, ask a lawyer.

Something is wrong or missing? Open an issue on the Issues tab with the run link. We answer within a few days.