Eventbrite Search Scraper
Pricing
from $5.00 / 1,000 results
Eventbrite Search Scraper
Eventbrite Search Scraper turns any [Eventbrite](https://www.eventbrite.com) discover/search results page into a clean, structured dataset of events.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Tin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Eventbrite Search Scraper turns any Eventbrite discover/search results page into a clean, structured dataset of events. Paste a search URL (with filters like location bounding box, category, free vs. paid, keyword, or date range), and the Actor walks every page of results, opens each event, and extracts the full event details — dates, venue, organizer, pricing, and more. Run it from the Apify Console, schedule it, or call it from any of Apify's integrations and APIs.
What does Eventbrite Search Scraper do?
The scraper accepts one or more Eventbrite discover URLs (for example, https://www.eventbrite.co.uk/d/united-states/paid--events/?bbox=...) and:
- Paginates through every search results page until results run out
- Visits each event's detail page and extracts a normalised JSON record
- Carries the original search context (
bbox,discoverUrl) onto every event so you know where it came from - Outputs the result to an Apify dataset that you can download as JSON, CSV, Excel, or HTML
The scraper does not require a logged-in account and does not store any personal data — only publicly visible event information.
Why use Eventbrite Search Scraper?
Eventbrite does not offer a free public API for browsing events. If you need event data at scale — for market research, lead generation, building an event-discovery product, populating an aggregator, or competitive analysis — manual collection or browser scripts are slow and brittle. This Actor handles the messy parts (pagination, Next.js-embedded data, anti-bot headers, retries) and gives you clean rows.
Typical use cases:
- Market research — track which event categories, venues, or organisers dominate a city
- Lead generation — build a list of event organisers in a region, with their public profile URLs
- Aggregator / discovery sites — power a "what's on near me" product from real Eventbrite data
- Pricing analysis — monitor ticket prices across competing events
- Trend monitoring — schedule recurring runs and watch how the event landscape changes over time
How to use Eventbrite Search Scraper
- Open the Actor in the Apify Console and click Try for free (or Start if you already have it saved).
- In the Input tab, paste one or more Eventbrite search URLs into Start URLs. The easiest way to get one is to perform a search on eventbrite.com (or any localised domain like eventbrite.co.uk), apply any filters you want, and copy the URL from your browser's address bar.
- Optionally raise Max Requests per Crawl if you expect a large result set (each event page counts as one request, plus one request per search page). Set it to
0for unlimited. - Click Save & Start. The Actor begins paginating through your search and writing event rows to the dataset.
- When the run finishes, switch to the Output tab to preview, filter, and export the data.
Input
The Actor takes three inputs, all visible as a form in the Apify Console:
| Field | Type | Description |
|---|---|---|
startUrls | array | One or more Eventbrite discover/search URLs. Each entry is an object { "url": "https://..." } (or { "requestsFromUrl": "https://..." } to load a text file containing one URL per line, capped at 100 URLs per source). URLs may contain any filter (bounding box, category, keyword, page, etc.) — the scraper preserves them across pagination. |
maxRequestsPerCrawl | integer | Total request budget (search pages + event pages). Default 100. Use 0 for unlimited. |
proxyConfiguration | object | Apify Proxy settings. Defaults to the RESIDENTIAL group routed through US IPs, which gives the best success rate against Eventbrite's anti-bot. You can switch to datacenter, change country, or supply custom proxy URLs. |
A minimal input looks like this:
{"startUrls": [{ "url": "https://www.eventbrite.co.uk/d/united-states/paid--events/?page=1&bbox=-2.266%2C53.466%2C-2.216%2C53.484" }],"maxRequestsPerCrawl": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Output
Each row in the output dataset represents one Eventbrite event. You can download the dataset in JSON, CSV, Excel, or HTML from the Apify Console or via API.
An example row (truncated):
{"bbox": "-2.266,53.466,-2.216,53.484","discoverUrl": "https://www.eventbrite.co.uk/d/united-states/paid--events/?page=1&bbox=-2.266%2C53.466%2C-2.216%2C53.484","C_eventUrl": "https://www.eventbrite.co.uk/e/manchester-muslim-marriage-event-1-to-1-single-muslim-meetup-tickets-1986989631476","D_organiserUrl": "https://www.eventbrite.co.uk/o/single-muslim-marriage-events-by-qabul-106418222311","M_primaryOrganizerId": "https://www.eventbrite.co.uk/o/106418222311","eventId": "1986989631476","eventName": "Manchester - MUSLIM MARRIAGE EVENT | 1-to-1 Single Muslim Meetup","summary": "Halal speed-dating with 1-2-1 rotations...","startDate": "2026-05-30","startTime": "09:00:00","endDate": "2026-05-30","endTime": "19:00:00","timezone": "Europe/London","venueName": "Pendulum Hotel","venueAddress": "Sackville Street","venueCity": "Manchester","venueRegion": "England","venuePostalCode": "M1 3BB","venueCountry": "GB","venueLatitude": "53.4757676","venueLongitude": "-2.2355015","imageUrl": "https://img.evbuc.com/.../original.20260204-211015?...","ticketAvailabilityDisplay": "From £20.00","isFree": false,"isSoldOut": false,"hasAvailableTickets": true,"isOnlineEvent": false,"isCanceled": false}
Data table
| Field | Type | Description |
|---|---|---|
bbox | string | Bounding box from the source search URL (lng1,lat1,lng2,lat2). |
discoverUrl | string | The exact search page the event was discovered on. |
C_eventUrl | string | Canonical event URL (query params stripped). |
D_organiserUrl | string | Slugged organiser URL as shown on the page. |
M_primaryOrganizerId | string | Numeric-only organiser URL (/o/{id}). |
eventId | string | Eventbrite event ID. |
organizationId | string | Eventbrite organisation ID (distinct from M_primaryOrganizerId). |
eventName | string | Event title. |
summary | string | Short event summary. |
startDate, startTime | string | Local date (YYYY-MM-DD) and time (HH:MM:SS). |
endDate, endTime | string | Local end date/time. |
timezone | string | IANA timezone (e.g. Europe/London). |
venueId, venueName | string | Venue identifiers. |
venueAddress, venueCity, venueRegion, venuePostalCode, venueCountry | string | Address components. |
venueLatitude, venueLongitude | string | Venue coordinates. |
imageUrl, imageId | string | Event hero image. |
ticketAvailabilityDisplay | string | Human-readable price label (e.g. From £20.00, Free). |
isFree, isSoldOut, hasAvailableTickets, isOnlineEvent, isCanceled, isSeriesParent | boolean | Event status flags. |
seriesId | string | Series ID if the event is part of a recurring series. |
tags | string | Comma-separated tag list. |
saveFormat | string | Eventbrite format ID. |
hideStartDate, hideEndDate | boolean | Whether the organiser hid these on the public page. |
rawEventDataJSON | object | Full extracted event blob from the page's embedded data — useful when you need a field that isn't surfaced at the top level. |
How much does it cost to scrape Eventbrite?
The Actor runs on Apify's pay-per-compute model. Cost scales with the number of pages requested:
- One request per search results page (typically ~20 events per page)
- One request per event detail page
So scraping 100 events from a search costs roughly 100 event requests + 5 paginated search requests = ~105 HTTP requests, each one a lightweight Cheerio (HTML-only) fetch. There is no JavaScript rendering, so usage stays cheap.
You can control your spend precisely with the Max Requests per Crawl input — set it to the maximum number of requests you're willing to pay for.
Tips & advanced options
- Pre-filter on Eventbrite first. Apply category, free-vs-paid, online-only, date-range, or bounding-box filters in the Eventbrite UI, then copy the resulting URL. The Actor will preserve every query parameter through pagination.
- Use multiple
startUrls. You can paste a list of city-specific searches into a single run; they all share the samemaxRequestsPerCrawlbudget. - Use the
rawEventDataJSONcolumn when you need a field that isn't surfaced at the top level — it contains the full event payload Eventbrite ships to the page. - Schedule recurring runs from the Apify Console to track how an area's event landscape evolves week over week.
FAQ, disclaimers, and support
Is scraping Eventbrite legal? This Actor extracts only public information that anyone with a browser can see. You are responsible for ensuring your use of the data complies with Eventbrite's Terms of Service and any applicable data protection laws (GDPR, CCPA, etc.).
Does it work for any Eventbrite locale (e.g. eventbrite.com, .co.uk, .com.au)? Yes — paste any locale's discover URL and it will be scraped using the same logic.
Why is one of the fields null for some events? Eventbrite events vary in completeness. Where data simply isn't present on the page, the field is set to null rather than guessed.
Found a bug or need a custom variant? Open an issue on the Actor's Issues tab in the Apify Console. Custom scraping work, batched runs, or commercial licensing can be arranged on request.