Eventbrite Scraper - Extract Events by City & Category avatar

Eventbrite Scraper - Extract Events by City & Category

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Eventbrite Scraper - Extract Events by City & Category

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

Techforce Global

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

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--city slug (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 maxEvents limit 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 CaseTime SavedWhat You Get
Local event marketing1–3 hrs/cityA ready feed of what's on, to cross-promote or curate
Community & city guides2–4 hrs/batchStructured listings for newsletters, apps, or websites
Competitor & market research1–2 hrs/categoryWhat organizers in a category/city are running, and at what price
Lead generation for organizers2–5 hrs/batchOrganizer names and links to reach out to for partnerships
Data feeds & dashboards1–3 hrs/setupClean JSON/CSV ready to load into a sheet, database, or BI tool

🚀 How to Use

  1. Open the Actor on Apify.
  2. Set Location using Eventbrite's slug format (e.g. india--ahmedabad, united-states--new-york).
  3. Pick a Category from the dropdown (default: All Events).
  4. Set Max events to cap how many results to collect (default: 100).
  5. (Optional) Narrow results with Start/End date, Free events only, or Online events only.
  6. (Optional) Toggle which output fields to include — name, date, venue, URL, and price are on by default; description, organizer, and image are off.
  7. (Optional) Pick an MCP connector to deliver scraped events into Notion, Slack, Google Sheets, etc.
  8. Click Run — events stream into the dataset as each page is scraped.
  9. 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

FieldTypeRequiredDescription
locationString✔️ YesCountry--city slug (e.g. india--ahmedabad, united-states--new-york). See Location Format below.
categoryEnum✔️ YesOne of 18 event categories (Music, Business, Food & Drink, Arts, Sports & Fitness, etc.). Default: All Events.
maxEventsInteger✔️ YesMaximum number of events to scrape (1–1000). Default: 100.
sortByEnumOptionalSort order: default (relevance), date, or best match.
startDateStringOptionalOnly include events starting on or after this date. Format: YYYY-MM-DD.
endDateStringOptionalOnly include events starting on or before this date. Format: YYYY-MM-DD.
freeOnlyBooleanOptionalOnly include free events. Default: false.
onlineOnlyBooleanOptionalOnly include online/virtual events. Default: false.
Output fieldsBoolean togglesOptionalfieldName, fieldDate, fieldVenue, fieldUrl, fieldPrice (on by default); fieldDesc, fieldOrganizer, fieldImage (off by default).
mcpConnectorConnectorOptionalDeliver scraped events into a connector you've authorized (Notion, Slack, Google Sheets, Airtable, …).
deliveryModeEnumOptionalsummary (one call with all events), chunked (split a long event list across a few calls), perEvent (one call per event), or none. Default: summary.
mcpToolStringOptionalTool to call on the connector (e.g. create_page, send_message, append_row).
mcpArgumentsObjectOptionalArguments for the tool; string values support {placeholders}.
mcpMessageTemplateStringOptionalTemplate rendered and exposed as the {message} placeholder in the tool arguments.

Location Format

Use the Eventbrite URL slug format: {country}--{city}

LocationSlug
Ahmedabad, Indiaindia--ahmedabad
Mumbai, Indiaindia--mumbai
New York, USAunited-states--new-york
London, UKunited-kingdom--london
Dubai, UAEunited-arab-emirates--dubai
Toronto, Canadacanada--toronto
Sydney, Australiaaustralia--sydney
Berlin, Germanygermany--berlin
Singaporesingapore--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

  • summary mode: {location} · {category} · {eventCount} · {eventsText} (formatted list of all events) · {message}
  • chunked mode: same as summary, but {eventsText} holds one part, plus {part} and {partCount} (1-based part number and total)
  • perEvent mode: {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).

FieldDescription
nameEvent name
start / end / timezoneEvent start/end date-time and timezone
venueObject: name, address, city, country, lat, lng
urlLink to the event page on Eventbrite
is_free / price / currencyWhether the event is free, and ticket price/currency if not
descriptionEvent description/summary
organizerObject: name, url
image_urlEvent 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: summary sends all scraped events in one call; chunked splits a long event list across a few calls/pages so services like Notion never hit block-count or timeout limits; perEvent sends one call per event (great for a row-per-event sheet or a message-per-event feed); none saves 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:

  1. 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.
  2. Calls Eventbrite's internal search API with that token, paginating page by page (with retry and backoff on rate limits).
  3. Parses each raw event into a clean record (name, dates, venue, price, organizer, image), applying date/free/online filters as it goes.
  4. Keeps only the output fields you've toggled on, pushes each record to the dataset, and stops once maxEvents is reached or events run out.
  5. 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.