Eventbrite Scraper - Extract Events by City & Category
Pricing
from $3.00 / 1,000 results
Eventbrite Scraper - Extract Events by City & Category
Scrape Eventbrite events by city and category, no login or API key required. Extract event name, date, venue, price, organizer, and images as clean JSON, CSV, or Excel. Filter by date range, free-only, or online-only, and auto-deliver results to Notion, Slack, and Airtable.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Techforce Global
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Eventbrite Scraper & MCP Connector
Scrape public Eventbrite events by city and category — event details, dates, venues, prices, organizers, and images, all as structured JSON. No API key, no login, no manual copy-pasting from listing pages.
Built for event marketers, community managers, researchers, and developers who need a clean feed of what's happening in a city — in seconds, not an afternoon of browsing Eventbrite.
Pick a city and category → get every matching event → deliver it straight into Notion, Slack, Google Sheets, or your CRM.
⭐ Why This Actor?
- ✅ Just pick a city and category — use Eventbrite's own
country--cityslug (e.g.india--ahmedabad) and any of 18 built-in categories - ✅ No token, no login — the Actor pulls a session token straight from Eventbrite's public browse page, the same way a browser does
- ✅ Filter as you scrape — date range, free-only, and online-only filters cut out events you don't need before they hit your dataset
- ✅ Automatic pagination — keeps paging through results until it hits your
maxEventslimit or runs out of events - ✅ Configurable output fields — turn description, organizer info, and images on only when you need them, to keep runs fast and datasets lean
- ✅ Polite by design — small delays between pages and retry-with-backoff on rate limits, so runs don't get blocked mid-way
- ✅ Deliver anywhere via MCP connectors — push scraped events straight into Notion, Slack, Google Sheets, Airtable, Jira, and more
- ✅ Export-ready — JSON, CSV, Excel, or direct API integration for your own pipeline
📝 Use Cases & ROI
| Use Case | Time Saved | What You Get |
|---|---|---|
| Local event marketing | 1–3 hrs/city | A ready feed of what's on, to cross-promote or curate |
| Community & city guides | 2–4 hrs/batch | Structured listings for newsletters, apps, or websites |
| Competitor & market research | 1–2 hrs/category | What organizers in a category/city are running, and at what price |
| Lead generation for organizers | 2–5 hrs/batch | Organizer names and links to reach out to for partnerships |
| Data feeds & dashboards | 1–3 hrs/setup | Clean JSON/CSV ready to load into a sheet, database, or BI tool |
🚀 How to Use
- Open the Actor on Apify.
- Set Location using Eventbrite's slug format (e.g.
india--ahmedabad,united-states--new-york). - Pick a Category from the dropdown (default: All Events).
- Set Max events to cap how many results to collect (default: 100).
- (Optional) Narrow results with Start/End date, Free events only, or Online events only.
- (Optional) Toggle which output fields to include — name, date, venue, URL, and price are on by default; description, organizer, and image are off.
- (Optional) Pick an MCP connector to deliver scraped events into Notion, Slack, Google Sheets, etc.
- Click Run — events stream into the dataset as each page is scraped.
- Download as CSV, Excel, or JSON — or let the connector push them into your tools automatically.
🌐 Proxy: requests run through Apify Proxy (residential group recommended) to reduce the chance of rate-limiting or blocks. 💡 First time with a connector? Run once with a connector selected — the run log prints the connector's available tool names, so you know what to put in Connector tool name.
🧩 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
location | String | ✔️ Yes | Country--city slug (e.g. india--ahmedabad, united-states--new-york). See Location Format below. |
category | Enum | ✔️ Yes | One of 18 event categories (Music, Business, Food & Drink, Arts, Sports & Fitness, etc.). Default: All Events. |
maxEvents | Integer | ✔️ Yes | Maximum number of events to scrape (1–1000). Default: 100. |
sortBy | Enum | Optional | Sort order: default (relevance), date, or best match. |
startDate | String | Optional | Only include events starting on or after this date. Format: YYYY-MM-DD. |
endDate | String | Optional | Only include events starting on or before this date. Format: YYYY-MM-DD. |
freeOnly | Boolean | Optional | Only include free events. Default: false. |
onlineOnly | Boolean | Optional | Only include online/virtual events. Default: false. |
| Output fields | Boolean toggles | Optional | fieldName, fieldDate, fieldVenue, fieldUrl, fieldPrice (on by default); fieldDesc, fieldOrganizer, fieldImage (off by default). |
mcpConnector | Connector | Optional | Deliver scraped events into a connector you've authorized (Notion, Slack, Google Sheets, Airtable, …). |
deliveryMode | Enum | Optional | summary (one call with all events), chunked (split a long event list across a few calls), perEvent (one call per event), or none. Default: summary. |
mcpTool | String | Optional | Tool to call on the connector (e.g. create_page, send_message, append_row). |
mcpArguments | Object | Optional | Arguments for the tool; string values support {placeholders}. |
mcpMessageTemplate | String | Optional | Template rendered and exposed as the {message} placeholder in the tool arguments. |
Location Format
Use the Eventbrite URL slug format: {country}--{city}
| Location | Slug |
|---|---|
| Ahmedabad, India | india--ahmedabad |
| Mumbai, India | india--mumbai |
| New York, USA | united-states--new-york |
| London, UK | united-kingdom--london |
| Dubai, UAE | united-arab-emirates--dubai |
| Toronto, Canada | canada--toronto |
| Sydney, Australia | australia--sydney |
| Berlin, Germany | germany--berlin |
| Singapore | singapore--singapore |
Example — Scrape a city's whole event calendar
{"location": "india--ahmedabad","category": "All Events","maxEvents": 200}
Example — Free music events this month, with description and organizer
{"location": "united-states--new-york","category": "Music","maxEvents": 100,"startDate": "2026-08-01","endDate": "2026-08-31","freeOnly": true,"fieldDesc": true,"fieldOrganizer": true}
Example — Scrape and post a summary to Slack
{"location": "india--ahmedabad","category": "Music","maxEvents": 20,"mcpConnector": "<your-slack-connector>","deliveryMode": "summary","mcpTool": "send_message","mcpArguments": { "channel": "#events", "text": "{message}" },"mcpMessageTemplate": "Found {eventCount} events in {location} ({category}):\n\n{eventsText}"}
Example — Scrape and append one row per event to Google Sheets/Airtable
{"location": "united-states--new-york","category": "Business","maxEvents": 50,"mcpConnector": "<your-sheets-connector>","deliveryMode": "perEvent","mcpTool": "append_row","mcpArguments": {"row": { "Name": "{name}", "Start": "{start}", "Venue": "{venueName}", "URL": "{url}" }}}
Placeholders available in arguments / template
summarymode:{location}·{category}·{eventCount}·{eventsText}(formatted list of all events) ·{message}chunkedmode: same as summary, but{eventsText}holds one part, plus{part}and{partCount}(1-based part number and total)perEventmode:{name}·{url}·{start}·{end}·{timezone}·{is_free}·{price}·{currency}·{description}·{image_url}·{venueName}·{venueAddress}·{venueCity}·{venueCountry}·{organizerName}·{organizerUrl}·{eventText}(one formatted event block) ·{message}
📦 Output Fields
Each field below is included only if its toggle is on (see Input Configuration).
| Field | Description |
|---|---|
name | Event name |
start / end / timezone | Event start/end date-time and timezone |
venue | Object: name, address, city, country, lat, lng |
url | Link to the event page on Eventbrite |
is_free / price / currency | Whether the event is free, and ticket price/currency if not |
description | Event description/summary |
organizer | Object: name, url |
image_url | Event cover image URL |
Example Output
{"name": "Tech Summit Ahmedabad 2026","start": "2026-06-15T10:00:00","end": "2026-06-15T18:00:00","timezone": "Asia/Kolkata","is_free": false,"price": "999","currency": "INR","url": "https://www.eventbrite.com/e/tech-summit-ahmedabad-2026-tickets-123456789","venue": {"name": "Science City Auditorium","address": "Science City Rd, Sola","city": "Ahmedabad","country": "IN","lat": "23.0395","lng": "72.5096"},"organizer": {"name": "TechEvents Gujarat","url": "https://www.eventbrite.com/o/techevents-gujarat-123456"},"image_url": "https://img.evbuc.com/..."}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
🔌 Integrations & Delivery
Deliver scraped events into any MCP connector you've authorized in Apify — no glue code, no webhooks:
- Notion — create a page (or split a long event list across several pages)
- Slack / Discord — post a summary or per-event alerts to a channel
- Google Sheets / Airtable — append a structured row per event
- Jira / GitHub / Linear — open a task per event (e.g. for outreach or follow-up)
- …or any other MCP-compatible connector
Credentials stay private — delivery runs through the Apify MCP Proxy, so the Actor never sees your connector tokens. You can also consume the dataset directly via the Apify API, or wire it into n8n, Zapier, and Make.
⚙️ Delivery modes:
summarysends all scraped events in one call;chunkedsplits a long event list across a few calls/pages so services like Notion never hit block-count or timeout limits;perEventsends one call per event (great for a row-per-event sheet or a message-per-event feed);nonesaves to the dataset only. MCP delivery only runs on the Apify platform and never affects what's saved to the dataset.
🛠️ How It Works
my_actor/main.py reads the input, then for the given city and category:
- Fetches the Eventbrite browse page for the location/category and extracts a session token (from cookies, embedded page data, or a bearer-style token) — no login required.
- Calls Eventbrite's internal search API with that token, paginating page by page (with retry and backoff on rate limits).
- Parses each raw event into a clean record (name, dates, venue, price, organizer, image), applying date/free/online filters as it goes.
- Keeps only the output fields you've toggled on, pushes each record to the dataset, and stops once
maxEventsis reached or events run out. - Once scraping finishes, if a connector is configured, delivers the collected events via MCP — summarized, chunked, or one call per event.
Built with: Apify SDK for Python · httpx · BeautifulSoup4 · MCP
🆘 Support
For issues, custom scraping requests, or feature suggestions:
Email: bhavin.shah@techforceglobal.com
Need a Custom Pipeline?
Want multi-city batch runs, scheduled refreshes, deeper enrichment, or a full CRM/data-warehouse integration?
📅 Book a Free 15-min Consultation
Made with ❤️ by Techforce Specialists in High-Performance Web Scrapers and AI Automation.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Eventbrite. Eventbrite® is a trademark of Eventbrite, Inc.; all trademarks are property of their respective owners. The Actor collects only publicly available event listing data and does not log into, or scrape behind the authentication of, any platform. Use the data responsibly and in compliance with applicable laws and the terms of the platforms you operate on.