Eventbrite [Only $0.99] Scraper avatar

Eventbrite [Only $0.99] Scraper

Pricing

from $0.99 / 1,000 results

Go to Apify Store
Eventbrite [Only $0.99] Scraper

Eventbrite [Only $0.99] Scraper

Turn Eventbrite into an events feed AND an organizer lead list: event name, dates, venue, geo, ticket price range and category, plus each organizer’s website, socials, followers and a best-effort email. Any search, event or organizer URL in. One row per event, JSON or CSV out.

Pricing

from $0.99 / 1,000 results

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

4

Monthly active users

2 days ago

Last modified

Share

Eventbrite + Lu.ma + Meetup Events Scraper

Three event platforms, one scraper. Pull structured events from any Eventbrite, Lu.ma, or Meetup URL — name, description, start/end dates, venue + address + real lat/long, price, attendance mode, and the organizer/host/group behind each event (incl. website, social links, and best-effort contact email on Eventbrite & Lu.ma). Each row carries a source field (eventbrite, luma, or meetup) so you can keep all three in one dataset or split them. One row per event, JSON or CSV out, billed per result.

How it works

How Eventbrite Scraper works

✨ Why use this scraper?

Building an events feed? Prospecting event organizers for sponsorship, venues, or services? Tracking ticket prices across a city or category? Most Eventbrite scrapers stop at the event. This one also turns every organizer into a lead.

  • 🎯 Three starting points. Paste an Eventbrite search URL (/d/{location}/{category}/), a direct event URL (/e/...-tickets-{id}), or an organizer URL (/o/...) — all classified automatically. Or just set location + category + keyword and let the actor build the search.
  • 📋 JSON-LD–backed accuracy. Name, dates, venue, address, price and organizer all come from the page's application/ld+json block — the same structured data Google reads.
  • 💰 Ticket price range, not guesses. Each row carries priceMin, priceMax, currency, isFree, ticketAvailability, and the on-sale window (saleStart / saleEnd).
  • 📍 Venue + real coordinates. Venue name, full street address, postcode, and latitude / longitude for in-person events (online events are flagged isOnline: true).
  • 📧 Organizer lead-gen — the differentiator. For each unique organizer the actor adds organizerWebsite, organizerDomain, organizerSocials, organizerFollowers, and a best-effort organizerEmail harvested from the organizer's own website. Turn an events list into an outreach list.
  • 🔁 Monitoring mode. Run on a schedule and get only NEW events each time — the actor keeps a private per-user record of what it already delivered.
  • 🧰 No anti-bot, no auth. Straight HTML over a parallel impit stack. Search pages paginate via ?page=N and the actor walks them automatically up to your maxItems.
  • 📤 Clean exports. One row per event with organizer fields merged inline — no duplicate rows. JSON + CSV.

🎯 Use cases

TeamWhat they build
Event marketers / sponsorship salesOutreach lists of organizers (website + email) running events in a category or city
Venues, caterers, A/V, ticketing vendorsLead lists of nearby organizers with upcoming events
Event aggregators / city guidesAlways-fresh event feeds by location + category, with venue, price, and dates
Market & pricing researchTicket-price benchmarks across a category, city, or date range
Competitive intelligenceTrack a competitor organizer's events, cadence, pricing, and follower growth
Data journalists / researchersDatasets on local event activity, pricing, and organizer reach

📥 Supported inputs

Pass any mix of URLs in startUrls — each is classified automatically. Leave startUrls empty to build a search from the convenience fields.

URL patternSourceBehaviour
https://www.eventbrite.com/d/{location}/{category}/EventbriteSearch / listing — walks every result page (?page=N) collecting events
https://www.eventbrite.com/e/{slug}-tickets-{id}EventbriteEvent detail — routed straight to the parser
https://www.eventbrite.com/o/{slug}-{id}EventbriteOrganizer — used to enrich events from that organizer
https://luma.com/{slug}Lu.maEvent detail — auto-detected (Lu.ma event pages and city pages share this shape)
https://luma.com/{city} or a calendar pageLu.maListing — collects the events on the page
https://www.meetup.com/{group}/events/{id}MeetupEvent detail — routed straight to the parser
https://www.meetup.com/find/?source=EVENTS&keywords=... or /{group}/events/MeetupListing — collects the events on the page
location + category + keyword + onlineOnlyEventbriteThe actor builds https://www.eventbrite.com/d/{location}/{category}/?q={keyword} for you

URLs are routed by host — Eventbrite → JSON-LD parser, Lu.ma → Next.js app-data parser, Meetup → Apollo-state parser. All three share the core event + organizer columns; each adds a few source-specific fields:

  • Eventbrite: saleStart/saleEnd, organizerFollowers, organizerEmail (harvested).
  • Lu.ma: guestCount, requiresApproval, spotsRemaining, hostName, timezone, organizerEmail (harvested).
  • Meetup: going, waitlist, maxTickets, groupMembers, groupUrlname, hostNames, topics. (No email lead-gen — Meetup groups are a closed community.)

Easiest workflow: run a search on eventbrite.com in your browser (pick a city, category, date, online/in-person, price), copy the URL from the address bar, paste it into startUrls.

Not supported: authenticated/attendee data, hosts outside eventbrite.*.

🔄 How it works

  1. Classify each startUrl as a search, event, or organizer URL (or build a search from location + category + keyword).
  2. Walk each search page (?page=N) collecting event links — ~20 events per page — until maxItems is reached.
  3. Fetch each event detail page in parallel via a global sliding window.
  4. Parse the Event JSON-LD for name, dates, venue, full address + geo, ticket price range, availability, organizer, status, and attendance mode.
  5. Enrich each unique organizer (when enrichOrganizer: true) by fetching /o/{slug}-{id} once for website, socials, description, and follower count — cached per organizer.
  6. Harvest a contact email (when harvestOrganizerEmails: true) from the organizer's website (homepage + /contact + /about), best-effort.
  7. Push one merged row per event to the dataset.

⚙️ Input parameters

ParameterTypeDefaultDescription
startUrlsarray["https://www.eventbrite.com/d/ny--new-york/all-events/"]Eventbrite search, event, and/or organizer URLs. Mix freely.
locationstringLocation slug (e.g. ny--new-york, london, online). Used only when startUrls is empty.
categorystringall-eventsCategory slug (e.g. music--events, business--events). Used only when startUrls is empty.
keywordstringFree-text keyword (?q=). Used only when startUrls is empty.
onlineOnlybooleanfalseRestrict the built search to online events.
enrichOrganizerbooleantrueFetch each unique organizer profile for organizerWebsite, organizerDomain, organizerSocials, organizerFollowers.
harvestOrganizerEmailsbooleantrueBest-effort: extract organizerEmail from the organizer's website. Requires enrichOrganizer.
monitoringModebooleanfalseOnly return events not delivered to you on a previous run. The first run seeds the baseline.
resetMonitoringStatebooleanfalseOne-shot: clear the saved "events seen" record at run start.
maxItemsinteger1000Hard cap on events collected (controls billing).
maxConcurrency / minConcurrencyinteger10 / 1Parallel HTTP request limits.
proxyobjectApify residentialApify proxy configuration. Eventbrite has no aggressive anti-bot.

📊 Output overview

Each scraped event is one single dataset row of type: "event". When enrichOrganizer is true, the organizer's website, domain, socials, followers, and harvested email are merged into the same row — no separate organizer rows, so the dataset row count equals the event count exactly.

📦 Output sample

One merged row per event:

{
"type": "event",
"eventId": "1984643225312",
"eventUrl": "https://www.eventbrite.com/e/the-2026-gracies-luncheon-tickets-1984643225312",
"name": "The 2026 Gracies Luncheon",
"description": "The Gracie Awards recognize exemplary programming created by women, for women and about women in all facets of media and entertainment.",
"image": "https://img.evbuc.com/...original.20250325-142036?...",
"startDate": "2026-06-16T11:00:00-04:00",
"endDate": "2026-06-16T14:00:00-04:00",
"timezoneOffset": "-04:00",
"isOnline": false,
"attendanceMode": "OfflineEventAttendanceMode",
"status": "EventScheduled",
"language": "en-US",
"venueName": "Cipriani 42nd Street",
"streetAddress": "110 East 42nd Street, New York, NY 10017",
"addressLocality": "New York",
"addressRegion": "NY",
"postalCode": "10017",
"country": "US",
"latitude": 40.7515845,
"longitude": -73.9771076,
"priceMin": 215.26,
"priceMax": 482.02,
"currency": "USD",
"isFree": false,
"ticketAvailability": "InStock",
"saleStart": "2026-03-20T04:00:00Z",
"saleEnd": "2026-06-18T16:30:00Z",
"category": "Business",
"organizerName": "Alliance for Women in Media",
"organizerUrl": "https://www.eventbrite.com/o/alliance-for-women-in-media-53663754033",
"organizerId": "53663754033",
"organizerWebsite": "https://allwomeninmedia.org/",
"organizerDomain": "allwomeninmedia.org",
"organizerDescription": null,
"organizerSocials": [],
"organizerFollowers": 75,
"organizerEmail": "info@allwomeninmedia.org",
"scrapedAt": "2026-06-10T14:48:58.354Z"
}

🗂 Key output fields

GroupFields
Identifierstype, eventId, eventUrl, scrapedAt
Eventname, description, image, category, status, language
SchedulestartDate, endDate (ISO with offset), timezoneOffset
FormatisOnline, attendanceMode (OfflineEventAttendanceMode / OnlineEventAttendanceMode / MixedEventAttendanceMode)
VenuevenueName, streetAddress, addressLocality, addressRegion, postalCode, country, latitude, longitude (null for online events)
TicketspriceMin, priceMax, currency, isFree, ticketAvailability, saleStart, saleEnd
Organizer (lead-gen, merged when enrichOrganizer: true)organizerName, organizerUrl, organizerId, organizerWebsite, organizerDomain, organizerSocials[], organizerFollowers, organizerDescription, organizerEmail

❓ FAQ

Which Eventbrite URLs are supported? Search/listing URLs (/d/{location}/{category}/), event URLs (/e/...-tickets-{id}), and organizer URLs (/o/...). You can also skip URLs entirely and set location + category + keyword.

Why is organizerEmail sometimes null? Eventbrite does not publish organizer emails. The actor finds the organizer's own website (when they've linked one), then best-effort extracts a public contact email from it (homepage / contact / about pages). If the organizer hasn't linked a website, or their site doesn't expose an email, the field is null — that's expected, not an error. In practice business/professional organizers convert far better than free-party organizers.

Why are some venue/address/geo fields null? Those are online events (isOnline: true) — there's no physical venue. In-person events carry the full venue, address, postcode, and coordinates.

Does it paginate? Yes — search pages paginate via ?page=N and the actor walks them automatically until maxItems is reached.

How does monitoring mode work? With monitoringMode: true, events whose ID was already delivered to you on a previous run are skipped (no fetch, no charge). The first run seeds your baseline; later runs return only new events. Pair it with Apify's scheduler for an "events added since last run" feed.

Can I scrape private or attendee data? No. The scraper accesses only publicly available event and organizer pages — no logged-in content, no attendee/ticket-buyer data.

How do I limit results? Set maxItems. The actor stops queuing new events as soon as the cap is reached.

💬 Support

🛠 Additional services

  • Custom output shape, extra fields, or one-off datasets: muhamed.didovic@gmail.com
  • Need a similar scraper for other event or ticketing sites (Meetup, Lu.ma, Ticketmaster, etc.)? Drop an email.
  • For API access (no Apify fee, just a usage fee for the API): muhamed.didovic@gmail.com

🔎 Explore more scrapers

If this Eventbrite Scraper was useful, see other scrapers and actors at memo23's Apify profile — covering events, job boards, real estate, social media, and more.


⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Eventbrite, Inc., Lu.ma, Meetup, or any of their subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available event and organizer pages on eventbrite.com — no authenticated endpoints, attendee data, or content behind an Eventbrite login. The best-effort organizer email is collected from the organizer's own public website. Users are responsible for ensuring their use complies with Eventbrite's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation, including lawful basis for any outreach to organizers.


SEO Keywords

eventbrite scraper, scrape eventbrite, eventbrite api, eventbrite.com scraper, apify eventbrite, eventbrite event scraper, eventbrite events data, eventbrite organizer scraper, eventbrite organizer emails, event lead generation scraper, event organizer leads, eventbrite ticket price scraper, eventbrite search scraper, scrape events by city, event data api, eventbrite listings export, event marketing leads, eventbrite sponsorship prospecting, eventbrite competitor tracking, event aggregator feed, meetup alternative scraper, luma events scraper alternative