Eventbrite [Only $0.99] Scraper
Pricing
from $0.99 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
2 days ago
Last modified
Categories
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

✨ 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+jsonblock — 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/longitudefor in-person events (online events are flaggedisOnline: true). - 📧 Organizer lead-gen — the differentiator. For each unique organizer the actor adds
organizerWebsite,organizerDomain,organizerSocials,organizerFollowers, and a best-effortorganizerEmailharvested 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=Nand the actor walks them automatically up to yourmaxItems. - 📤 Clean exports. One row per event with organizer fields merged inline — no duplicate rows. JSON + CSV.
🎯 Use cases
| Team | What they build |
|---|---|
| Event marketers / sponsorship sales | Outreach lists of organizers (website + email) running events in a category or city |
| Venues, caterers, A/V, ticketing vendors | Lead lists of nearby organizers with upcoming events |
| Event aggregators / city guides | Always-fresh event feeds by location + category, with venue, price, and dates |
| Market & pricing research | Ticket-price benchmarks across a category, city, or date range |
| Competitive intelligence | Track a competitor organizer's events, cadence, pricing, and follower growth |
| Data journalists / researchers | Datasets 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 pattern | Source | Behaviour |
|---|---|---|
https://www.eventbrite.com/d/{location}/{category}/ | Eventbrite | Search / listing — walks every result page (?page=N) collecting events |
https://www.eventbrite.com/e/{slug}-tickets-{id} | Eventbrite | Event detail — routed straight to the parser |
https://www.eventbrite.com/o/{slug}-{id} | Eventbrite | Organizer — used to enrich events from that organizer |
https://luma.com/{slug} | Lu.ma | Event detail — auto-detected (Lu.ma event pages and city pages share this shape) |
https://luma.com/{city} or a calendar page | Lu.ma | Listing — collects the events on the page |
https://www.meetup.com/{group}/events/{id} | Meetup | Event detail — routed straight to the parser |
https://www.meetup.com/find/?source=EVENTS&keywords=... or /{group}/events/ | Meetup | Listing — collects the events on the page |
| location + category + keyword + onlineOnly | Eventbrite | The 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
- Classify each
startUrlas a search, event, or organizer URL (or build a search fromlocation+category+keyword). - Walk each search page (
?page=N) collecting event links — ~20 events per page — untilmaxItemsis reached. - Fetch each event detail page in parallel via a global sliding window.
- Parse the Event JSON-LD for name, dates, venue, full address + geo, ticket price range, availability, organizer, status, and attendance mode.
- Enrich each unique organizer (when
enrichOrganizer: true) by fetching/o/{slug}-{id}once for website, socials, description, and follower count — cached per organizer. - Harvest a contact email (when
harvestOrganizerEmails: true) from the organizer's website (homepage +/contact+/about), best-effort. - Push one merged row per event to the dataset.
⚙️ Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | ["https://www.eventbrite.com/d/ny--new-york/all-events/"] | Eventbrite search, event, and/or organizer URLs. Mix freely. |
location | string | — | Location slug (e.g. ny--new-york, london, online). Used only when startUrls is empty. |
category | string | all-events | Category slug (e.g. music--events, business--events). Used only when startUrls is empty. |
keyword | string | — | Free-text keyword (?q=). Used only when startUrls is empty. |
onlineOnly | boolean | false | Restrict the built search to online events. |
enrichOrganizer | boolean | true | Fetch each unique organizer profile for organizerWebsite, organizerDomain, organizerSocials, organizerFollowers. |
harvestOrganizerEmails | boolean | true | Best-effort: extract organizerEmail from the organizer's website. Requires enrichOrganizer. |
monitoringMode | boolean | false | Only return events not delivered to you on a previous run. The first run seeds the baseline. |
resetMonitoringState | boolean | false | One-shot: clear the saved "events seen" record at run start. |
maxItems | integer | 1000 | Hard cap on events collected (controls billing). |
maxConcurrency / minConcurrency | integer | 10 / 1 | Parallel HTTP request limits. |
proxy | object | Apify residential | Apify 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
| Group | Fields |
|---|---|
| Identifiers | type, eventId, eventUrl, scrapedAt |
| Event | name, description, image, category, status, language |
| Schedule | startDate, endDate (ISO with offset), timezoneOffset |
| Format | isOnline, attendanceMode (OfflineEventAttendanceMode / OnlineEventAttendanceMode / MixedEventAttendanceMode) |
| Venue | venueName, streetAddress, addressLocality, addressRegion, postalCode, country, latitude, longitude (null for online events) |
| Tickets | priceMin, 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
- For issues or feature requests, please use the Issues tab on the actor's Apify Console page.
- Author's website: https://muhamed-didovic.github.io/
- Email: muhamed.didovic@gmail.com
🛠 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