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

5.0

(2)

Developer

Techforce Global

Techforce Global

Maintained by Community

Actor stats

2

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

Eventbrite Scraper & API Alternative β€” Extract Events, Venues, Organizers & Pricing by City or Category

Apify Actor MCP Ready Pricing Target

Extracts structured Eventbrite event data (name, schedule, venue coordinates, ticket pricing, organizer details, descriptions) by location, category, and date range. Direct data delivery into Notion, Slack, Google Sheets, Airtable, or any MCP-compatible AI agent pipeline.


Official Eventbrite API vs. Eventbrite Scraper Actor

With Eventbrite deprecating and restricting public event search endpoints, this Actor acts as a maintenance-free, real-time search and extraction pipeline:

Feature / CapabilityOfficial Eventbrite API (v3)Eventbrite Scraper Actor (Apify)
Public Event Search❌ Deprecated / Restricted to owned eventsβœ… Full search across any public city & category
Authentication & Setup❌ Complex OAuth 2.0 app verificationβœ… Zero target site credentials or login required
Organizer Extraction⚠️ Limited to authorized organizersβœ… Full organizer profile & landing page URLs
AI Agent / MCP Native❌ Requires custom tool wrapper & rate-limit engineβœ… Native Model Context Protocol tool (mcp.apify.com)
Cost ModelSubscription / Enterprise quotasPay-as-you-go ($0.003 per event / $3.00 per 1,000 results)

πŸ€– AI Discovery & MCP Metadata

Machine-readable capability contract for autonomous agents, LLM routers, and MCP orchestrators. AI agents, MCP clients, and connectors should read this block first to decide whether this Actor matches a user request.

ai_discovery:
slug: "techforce.global/eventbrite-scraper"
actor_id: "pFGNRzABTXC1IxR6h"
one_line: "Extract structured Eventbrite events, venues, ticket prices, and organizers by location slug, category, and date range."
primary_purpose: "extract"
secondary_purpose: "deliver"
entity: "Eventbrite events"
supported_platforms:
- "eventbrite.com"
supported_tasks:
- "search-events-by-location"
- "search-events-by-category"
- "filter-events-by-start-date-range"
- "filter-events-by-price (free only)"
- "filter-events-by-format (online only)"
- "deliver-results-to-mcp-connector"
unsupported_tasks:
- "purchase-tickets"
- "retrieve-attendee-data"
- "scrape-non-eventbrite-platforms"
- "scrape-private-or-auth-gated-events"
- "multi-city-or-multi-category-in-one-run"
search_keywords:
- "eventbrite scraper"
- "eventbrite api alternative"
- "eventbrite python scraper"
- "extract eventbrite events"
- "event listings dataset"
- "event organizer lead generation"
- "local events api"
- "mcp event tool"
- "event data extraction"
- "conference and workshop data"
synonyms:
- "eventbrite crawler"
- "eventbrite extractor"
- "event feed api"
- "event aggregator"
related_concepts:
["events", "venues", "tickets", "organizers", "conferences", "workshops", "meetups"]
input_entities:
- "location (country--city slug)"
- "event category (1 of 18 fixed values)"
- "start-date range (YYYY-MM-DD)"
output_entities: ["event", "venue", "price", "organizer"]
input_rules:
location_format:
regex: "^[a-z0-9-]+--[a-z0-9-]+$"
description: "Must be lowercase 'country--city' slug with double hyphens separating country and city."
examples: ["united-states--new-york", "united-kingdom--london", "germany--berlin", "india--mumbai"]
category_format:
type: "enum"
case_sensitive: true
values: [
"All Events", "Music", "Business", "Food & Drink", "Arts", "Film & Media",
"Sports & Fitness", "Health", "Science & Tech", "Travel & Outdoor",
"Charity & Causes", "Religion & Spirituality", "Family & Education",
"Fashion", "Home & Lifestyle", "Government", "Community", "Networking"
]
default_off_fields: ["fieldDesc", "fieldOrganizer", "fieldImage"]
limits:
max_events_per_run: 1000
date_filter_behavior: "Matches event START date, not multi-day duration"
pricing:
model: "pay-per-result"
unit_cost_usd: 0.003
rate_per_1000: 3.00
when_to_use: >
You need a structured, repeatable feed of public Eventbrite events for a
specific city and category β€” for market research, event aggregation,
lead generation, or competitive analysis.
when_not_to_use: >
You need to buy tickets, access attendee or ticket-buyer personal data,
scrape platforms other than Eventbrite, or pull more than 1,000 events
in a single run.
alternatives:
- "Use a general-purpose web scraper if the target is not eventbrite.com"
- "Use a platform-specific Actor (Meetup, Facebook Events, 10times) for those sources"
- "Use Smart Event Scraper (techforce.global) for multi-platform aggregation across 6 sources in one run"

What this Actor does

  • Searches public Eventbrite listings for a given location and category.
  • Returns one structured record per event: name, start/end times with timezone, venue (with coordinates), ticket price and currency, description, organizer, event URL, and image URL β€” subject to the field toggles below.
  • Filters by start-date range, free-only, and online-only.
  • Sorts results via sortBy (relevance, date, or best match).
  • Lets you switch individual output fields on or off to control payload size and downstream token cost.
  • Optionally pushes results to an authorized MCP connector (Notion, Slack, Google Sheets, Airtable, or any MCP-compatible connector) in four delivery modes. The dataset is always saved regardless of delivery settings.
  • Uses polite request pacing with automatic retry-and-backoff.

When to use it β€” and when not to

ScenarioFit
Build a city event feed for an app, newsletter, or directoryβœ… Strong
Market/competitive research on event volume, pricing, and formatsβœ… Strong
Generate organizer lead lists from public event pagesβœ… Strong β€” must set fieldOrganizer: true
Push a recurring event digest into Slack or Notion automaticallyβœ… Strong (native MCP delivery)
Track free vs paid or online vs in-person event mix in a marketβœ… Strong
Pull >1,000 events in one execution⚠️ Split into multiple runs
Cover several cities or categories at once⚠️ One run per combination
Non-Eventbrite sourcesUse Smart Event Scraper
Buying/reserving tickets❌ Not supported β€” read-only Actor
Attendee or ticket-buyer personal data❌ Not supported β€” public listings only

⚑ Execution Rules (Avoid Common Agent Failures)

  1. location requires country--city slugs. Never pass "New York" or "new-york". Use united-states--new-york or united-kingdom--london. The regex is ^[a-z0-9-]+--[a-z0-9-]+$.
  2. category values are exact Title Case strings from a fixed list of 18. There is no "Technology" category β€” use "Science & Tech". Use "All Events" for universal queries.
  3. Description, organizer, and image fields are OFF by default to minimize compute and payload size. For organizer lead generation or full summaries, set fieldOrganizer: true and fieldDesc: true explicitly. A default run succeeds without these keys and gives no error β€” treat missing keys as intentional, not a bug.
  4. deliveryMode defaults to summary, not none. For dataset-only runs, either leave mcpConnector empty or set deliveryMode: "none" explicitly.
  5. All three required fields (location, category, maxEvents) also carry defaults. The Console pre-fills them; API and MCP callers should send all three explicitly β€” omitting location may silently scrape Ahmedabad rather than returning a validation error.
  6. Date filters match the event START date only, not its full duration. An event running 28 Aug – 4 Sep will not appear in a September-only window.
dependencies:
- rule: "delivery requires mcpConnector AND mcpTool"
on_violation: "delivery step is skipped; the dataset is still written in full"
- rule: "mcpArguments must reference {message} for the template to appear anywhere"
on_violation: "message body is empty; the tool is still called"
- rule: "setting an output toggle to false removes those keys from every item"
note: "agents must test key presence, not null"
authentication:
actor_input: none
platform: "Apify API token required for API / SDK / MCP invocation"
target_site: "no Eventbrite account or credentials required (public data only)"

πŸ“₯ Input Contract

INPUT_SCHEMA.json is authoritative β€” if any table on this page disagrees with the schema files, the schema files win. API and MCP clients should explicitly pass all required fields.

Scraping Parameters

FieldTypeRequiredDefaultAllowed Values / FormatExample
locationstringβœ… Yesindia--ahmedabadcountry--city slug (^[a-z0-9-]+--[a-z0-9-]+$)united-states--new-york
categorystring (enum)βœ… YesAll EventsExact 18 enum values (see reference)Science & Tech
maxEventsintegerβœ… Yes1001 to 1000250
sortBystring (enum)⬜ No"""" (relevance) · date · bestdate
startDatestring⬜ No""YYYY-MM-DD2026-09-01
endDatestring⬜ No""YYYY-MM-DD2026-09-30
freeOnlyboolean⬜ Nofalsetrue / falsetrue
onlineOnlyboolean⬜ Nofalsetrue / falsetrue

Location reference

Format: country--city β€” lowercase, double hyphen between country and city, single hyphens inside multi-word names. The slug mirrors Eventbrite's own URL path segment β€” to confirm any city, open eventbrite.com/d/<slug>/all-events/ and copy the segment after /d/.

CitySlug
Ahmedabadindia--ahmedabad
Mumbaiindia--mumbai
New Yorkunited-states--new-york
Londonunited-kingdom--london

Category reference β€” all 18 values

All Events Β· Music Β· Business Β· Food & Drink Β· Arts Β· Film & Media Β· Sports & Fitness Β· Health Β· Science & Tech Β· Travel & Outdoor Β· Charity & Causes Β· Religion & Spirituality Β· Family & Education Β· Fashion Β· Home & Lifestyle Β· Government Β· Community Β· Networking

There is no Technology category β€” use Science & Tech.

Output Payload Optimization Toggles

Setting a toggle to false removes the key from the output item entirely β€” this conserves downstream token usage for LLM/agent consumers, but means consumers must test for key presence, not for null.

Field ToggleDefaultOutput Keys Controlled
fieldNametruename
fieldDatetruestart, end, timezone
fieldVenuetruevenue, venue.name, venue.address, venue.city, venue.country, venue.lat, venue.lng
fieldUrltrueurl
fieldPricetrueprice, currency, is_free
fieldDescfalsedescription
fieldOrganizerfalseorganizer, organizer.name, organizer.url
fieldImagefalseimage_url

MCP Delivery Configuration (Optional)

ParameterTypeDefaultDescription
mcpConnectorstring""Authorized MCP connector on your Apify account (e.g., Slack, Notion, Airtable). Leave empty for dataset-only runs.
deliveryModeenumsummarysummary (single digest) Β· chunked (split large lists) Β· perEvent (one call per item) Β· none.
mcpToolstring""Tool name on connector: send_message, create_page, append_row.
mcpArgumentsobject{}JSON argument template passed to the tool. Supports {message} and field placeholders.
mcpMessageTemplatestring""Template populated and exposed to mcpArguments via {message}.

πŸ“€ Output Contract & Data Structure

Storage: Apify Dataset (one JSON object per event). Pagination: limit & offset on the dataset items endpoint. Duplicates: one record per unique Eventbrite event URL within a run. Cross-run deduplication is the consumer's responsibility β€” use url as the key.

FieldTypeNullableToggleMeaning
namestringNofieldNameEvent title as listed
startstringNofieldDateEvent start, local wall time β€” pair with timezone
endstringYesfieldDateEvent end (absent for open-ended listings)
timezonestringYesfieldDateIANA timezone of the event
venueobjectYesfieldVenuenull for online-only events
venue.namestringYesfieldVenueVenue name
venue.addressstringYesfieldVenueStreet address
venue.citystringYesfieldVenueCity
venue.countrystringYesfieldVenueCountry
venue.latnumberYesfieldVenueLatitude
venue.lngnumberYesfieldVenueLongitude
urlstringNofieldUrlCanonical event URL β€” use as the dedupe key
is_freebooleanNofieldPricetrue for free events
pricestringYesfieldPriceDisplayed ticket price; null when is_free is true
currencystringYesfieldPriceISO currency code for price
descriptionstringYesfieldDesc (off by default)Event description text
organizerobjectYesfieldOrganizer (off by default)Organizer block
organizer.namestringYesfieldOrganizer (off by default)Organizer display name
organizer.urlstringYesfieldOrganizer (off by default)Organizer's public Eventbrite page
image_urlstringYesfieldImage (off by default)Event cover image

Datetime format: start and end are local wall-clock times with no UTC offset. Always read timezone alongside them; treating start as UTC will shift your data by hours.

Example output item

{
"name": "Global AI & Autonomous Agents Summit 2026",
"start": "2026-09-12T09:00:00",
"end": "2026-09-12T17:30:00",
"timezone": "America/New_York",
"venue": {
"name": "Midtown Tech Center",
"address": "120 W 44th St",
"city": "New York",
"country": "US",
"lat": 40.7566,
"lng": -73.9863
},
"url": "https://www.eventbrite.com/e/global-ai-summit-2026-tickets-000000000000",
"is_free": false,
"price": "49.00",
"currency": "USD",
"description": "Annual gathering of AI agent builders, MCP engineers, and autonomous system architects.",
"organizer": {
"name": "NextGen AI Forum",
"url": "https://www.eventbrite.com/o/nextgen-ai-forum-00000000"
},
"image_url": "https://img.evbuc.com/example.jpg"
}

What a successful run looks like

{
"status": "SUCCEEDED",
"defaultDatasetId": "<datasetId>",
"stats": { "itemCount": 250 }
}

itemCount equal to maxEvents means the cap was reached (more events may exist). itemCount less than maxEvents means the filters were exhausted. itemCount of 0 is a successful run with no matches β€” not an error.


▢️ Invocation & Integration

Lifecycle: Discover β†’ Understand β†’ Configure β†’ Execute β†’ Retrieve β†’ Validate. Authenticate every call with Authorization: Bearer <APIFY_TOKEN>.

Apify Console

Open the Actor β†’ Input tab β†’ set location, category, maxEvents β†’ enable any output fields you need β†’ Start β†’ export from the Dataset tab (JSON, CSV, Excel, XML).

Model Context Protocol (MCP)

Add this Actor directly as an AI tool in Claude Desktop, Cursor, VS Code, or LangChain agents:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=techforce.global/eventbrite-scraper"

Python (apify-client)

import os
from apify_client import ApifyClient
client = ApifyClient(os.getenv("APIFY_TOKEN"))
run = client.actor("techforce.global/eventbrite-scraper").call(run_input={
"location": "united-states--new-york",
"category": "Science & Tech",
"maxEvents": 250,
"startDate": "2026-09-01",
"endDate": "2026-09-30",
"fieldOrganizer": True,
"deliveryMode": "none"
})
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
print(f"Retrieved {len(dataset_items)} events.")

JavaScript / TypeScript (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('techforce.global/eventbrite-scraper').call({
location: 'united-kingdom--london',
category: 'Business',
maxEvents: 100,
freeOnly: true,
deliveryMode: 'none',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} items. First event:`, items[0]?.name);

cURL β€” synchronous (returns items directly; 300s limit)

curl -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
-d '{"location":"united-states--new-york","category":"Music","maxEvents":100,"deliveryMode":"none"}' \
'https://api.apify.com/v2/actors/techforce.global~eventbrite-scraper/run-sync-get-dataset-items'
# 1. Start execution with max spend limit
curl -X POST -H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
-d '{"location":"united-states--new-york","category":"Science & Tech","maxEvents":1000,"deliveryMode":"none"}' \
'https://api.apify.com/v2/actors/techforce.global~eventbrite-scraper/runs?maxTotalChargeUsd=3.00'
# 2. Poll
curl -H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
'https://api.apify.com/v2/actor-runs/<runId>'
# 3. Retrieve when SUCCEEDED
curl -H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
'https://api.apify.com/v2/datasets/<DATASET_ID>/items?clean=true&format=json&limit=1000&offset=0'

⚠️ Autonomous Agent Error Handling & Resolution Matrix

Error CodeDetection ConditionUnderlying CauseDeterministic Agent Action
AUTH_INVALIDHTTP 401Missing or malformed APIFY_TOKENAbort & Prompt User: Request valid API token.
RATE_LIMITEDHTTP 429Apify API platform concurrency limitsRetry: Exponential backoff (2s, 4s, 8s).
SYNC_TIMEOUTHTTP 408 on sync endpointRun duration exceeded 300s sync ceilingReconfigure: Switch to asynchronous call() + polling.
BAD_LOCATIONRun completes with itemCount: 0Slug not in country--city formatModify Input: Reformat location using <country>--<city> regex.
BAD_CATEGORYInput validation rejectionNon-enum category or lowercase string passedModify Input: Match against the 18 exact enum strings.
BAD_DATE_FORMATZero results or unfiltered feedDate not formatted as YYYY-MM-DDModify Input: Convert date parameters to YYYY-MM-DD.
EMPTY_RESULTSSUCCEEDED, itemCount: 0Over-constrained search filtersModify Input: Broaden date range or clear freeOnly/onlineOnly.
CAP_REACHEDitemCount == maxEvents == 1000Result set truncated by per-run maximumReconfigure: Partition into sequential runs across date windows.
DELIVERY_EMPTYTarget MCP tool received empty bodymcpArguments omitted the {message} keyModify Input: Map {message} inside mcpArguments template.
CHARGE_LIMITRun aborted before maxEvents reachedRun reached maxTotalChargeUsd spend thresholdPrompt User: Confirm spend limit increase.

πŸ—£οΈ Natural Language β†’ Actor Mapping

User saysIntentConstructed Actor input
"Find music events in New York this month"Event discoverylocation: united-states--new-york, category: Music, startDate, endDate
"Find upcoming tech conferences in New York next month"Event discovery{"location":"united-states--new-york","category":"Science & Tech","startDate":"2026-09-01","endDate":"2026-09-30"}
"Scrape Eventbrite listings for London business events"Extractionlocation: united-kingdom--london, category: Business
"Show me free online workshops next week"Filtered discoveryfreeOnly: true, onlineOnly: true, date range
"Show me free online fitness classes this weekend"Filtered search{"category":"Sports & Fitness","freeOnly":true,"onlineOnly":true}
"Build me a list of event organizers in Ahmedabad"Lead generationlocation: india--ahmedabad, fieldOrganizer: true
"Extract email and organizer leads for London business events"Lead generation{"location":"united-kingdom--london","category":"Business","maxEvents":500,"fieldOrganizer":true}
"Compare ticket prices for tech conferences in Mumbai"Market researchcategory: Science & Tech, fieldPrice: true
"Post today's local events to our Slack channel"Deliverysingle-day range, deliveryMode: summary, mcpTool: send_message
"Post today's live music listings in Austin directly to Slack #events"Pipeline/delivery{"location":"united-states--austin","category":"Music","mcpConnector":"slack","deliveryMode":"summary","mcpTool":"send_message"}
"Export upcoming Eventbrite events for a city to a spreadsheet"Exportlocation, maxEvents, then dataset export
"Track how many free vs paid events run each month"Analyticsmonthly windows, fieldPrice: true, read is_free

Should NOT route here: buying tickets Β· Meetup / Facebook / Luma / 10times events Β· attendee or ticket-buyer contact data Β· generic "scrape any website" requests.


🧭 Agent Execution & Routing Logic

[Input User Query]
β”‚
β–Ό
1. Target is eventbrite.com public listings? NO β†’ Route to alternative platform Actor
β”‚ YES
β–Ό
2. Operation is read/scrape (not ticket checkout)? NO β†’ Abort (transactional ops unsupported)
β”‚ YES
β–Ό
3. Is the data public (not attendee PII)? NO β†’ Reject
β”‚ YES
β–Ό
4. Can location map to 'country--city' slug? NO β†’ Prompt user for exact city & country
β”‚ YES
β–Ό
5. Map query to 1 of 18 categories β†’ Default: "All Events" if unclear
β”‚
β–Ό
6. Requires organizer, description, or image? YES β†’ Explicitly set matching field toggles = true
β”‚
β–Ό
7. Desired volume > 1,000 items? YES β†’ Partition query across date windows
β”‚
β–Ό
8. Is estimated cost within budget? NO β†’ Reduce maxEvents / prompt user / set maxTotalChargeUsd
β”‚
β–Ό
[Execute Apify Actor]
β”‚
β”œβ”€β”€β–Ί status == "SUCCEEDED" β†’ check itemCount (0 = valid empty result) β†’ consume dataset (dedupe via 'url')
└──► status == "FAILED" β†’ route to Error Handling Matrix above

πŸ’° Cost Control & Pricing Transparency

  • Pay-per-result pricing: $3.00 per 1,000 events ($0.003 / event). No monthly minimums β€” pay strictly for extracted records.
  • Autonomous spend caps: Pass maxTotalChargeUsd as a query parameter to guarantee hard billing limits per execution β€” important for any agent making autonomous purchase decisions on your behalf.
Scraped Results VolumeTotal Cost (USD)
100 events$0.30
250 events$0.75
1,000 events (single-run ceiling)$3.00
5,000 events (batched across 5 runs)$15.00

πŸ” Companion machine-readable files

FilePurpose
.actor/actor.jsonIdentity, version, categories
.actor/INPUT_SCHEMA.jsonAuthoritative typed input contract β€” enums for category, sortBy, deliveryMode; range for maxEvents
.actor/dataset_schema.jsonOutput field metadata β€” consumed by the Apify MCP server to describe results to agents
.actor/output_schema.jsonDeclares where results are stored

If any table on this page disagrees with the schema files, the schema files win.


πŸ› οΈ Troubleshooting

Most failed runs are input formatting issues, not scraper failures. Work through this section top to bottom β€” the first three rows account for the large majority of support tickets.

Quick symptom β†’ fix table

#Symptom you seeMost likely causeFix
1Run status SUCCEEDED, but itemCount: 0location is not a valid country--city slug (e.g. "New York", "new-york", "NYC")Use the exact slug: united-states--new-york. See Finding the correct location slug below.
2Results are from Ahmedabad and you never asked for Ahmedabadlocation was omitted entirely. It has a default (india--ahmedabad) and will not raise a validation errorAlways pass location explicitly from API / MCP / SDK calls. Never rely on Console pre-fill.
3organizer, description, or image_url missing from every itemThese toggles are false by default to reduce payload and token costSet fieldOrganizer: true, fieldDesc: true, fieldImage: true explicitly.
4Category returns nothing, or input is rejectedNon-enum category ("Technology", "tech", "music")Use one of the exact 18 Title Case values. There is no Technology β†’ use Science & Tech.
5Very few results despite a busy cityOver-constrained filters β€” freeOnly + onlineOnly + a narrow date window stack multiplicativelyRemove one filter at a time and re-run to isolate which one is emptying the set.
6A known multi-day event is missing from your date windowDate filters match the start date onlyAn event running 28 Aug β†’ 4 Sep will not appear in a September-only window. Widen startDate backwards.
7Date filter appears to be ignoredDate not in YYYY-MM-DD (e.g. 09/01/2026, 2026-9-1, 1 Sep 2026)Convert to zero-padded ISO format: 2026-09-01.
8itemCount lands exactly on maxEventsThe per-run cap truncated the result set β€” more events existPartition into sequential runs by date window (e.g. week by week) and merge datasets.
9Run aborted before reaching maxEventsmaxTotalChargeUsd spend ceiling was hitRaise the cap, or lower maxEvents so the two agree. 1000 events = $3.00.
10venue is nullThe event is online-only β€” there is no physical venueExpected behaviour. Branch on venue === null rather than treating it as an error.
11price is null but the event is realis_free is true β€” free events carry no price stringRead is_free first, then price/currency.
12Timestamps are off by several hoursstart / end are local wall-clock times with no UTC offsetAlways read the sibling timezone (IANA) field and localise. Never parse start as UTC.
13Duplicate events across scheduled runsDeduplication is per-run onlyDedupe downstream on the url field β€” it is the canonical unique key.
14HTTP 401 / 403Missing, expired, or malformed APIFY_TOKENRegenerate the token in Apify Console β†’ Settings β†’ API & Integrations and send it as Authorization: Bearer <token>.
15HTTP 429Apify account concurrency / rate limits β€” not Eventbrite blockingRetry with exponential backoff (2s β†’ 4s β†’ 8s) or reduce parallel runs.
16HTTP 408 on run-sync-get-dataset-itemsThe synchronous endpoint has a hard 300-second ceilingSwitch to the async pattern: POST /runs β†’ poll /actor-runs/<runId> β†’ fetch dataset. Use async for any run above ~200 events.
17Slack / Notion / Sheets received nothingDelivery requires both mcpConnector and mcpTool. If either is missing the delivery step is silently skippedSet both. The dataset is still written in full β€” your data is never lost.
18Connector fired, but the message body is emptymcpArguments did not reference the {message} placeholderMap {message} inside your mcpArguments template, and populate mcpMessageTemplate.
19Delivery fired when you only wanted a datasetdeliveryMode defaults to summary, not noneSet deliveryMode: "none" or leave mcpConnector empty.
20Consumer code crashes on missing keysToggling a field off removes the key entirely β€” it does not set it to nullTest for key presence ("organizer" in item), not for null.

Finding the correct location slug

The slug mirrors Eventbrite's own URL path segment, so you can always verify it at the source:

  1. Open https://www.eventbrite.com/d/india--ahmedabad/all-events/ (or search your city on Eventbrite).
  2. Look at the path segment immediately after /d/.
  3. Copy it verbatim into location.

Rules: all lowercase Β· double hyphen between country and city Β· single hyphens inside multi-word names Β· no spaces, no commas, no state or ZIP codes.

❌ Wrongβœ… Correct
New Yorkunited-states--new-york
new-yorkunited-states--new-york
NYC, NYunited-states--new-york
usa--newyorkunited-states--new-york
London, UKunited-kingdom--london
Mumbaiindia--mumbai

Diagnostic checklist before opening an issue

Run this five-step isolation test β€” it resolves nearly every "no results" report:

  1. Baseline run. location = a slug you copied from an Eventbrite URL, category = "All Events", maxEvents = 10, no date filters, freeOnly/onlineOnly off, deliveryMode: "none".
  2. Results returned? If yes, your slug is fine β€” the problem is a filter. Re-add filters one at a time.
  3. Still zero? Open the same city on eventbrite.com in a browser. If Eventbrite itself shows nothing for that city, there is genuinely no public inventory β€” this is a valid empty result, not a bug.
  4. Check the run log in the Console Log tab for the resolved input the Actor actually received. This immediately exposes a silently-defaulted location.
  5. Confirm field toggles in the Input tab if specific keys are missing, before assuming an extraction failure.

If the issue survives all five steps, open an Issues ticket on the Actor page (or email support) with: the run ID, the exact input JSON, and what you expected. Run IDs let us replay the exact execution.

ℹ️ itemCount: 0 is a successful run, not an error. A search with no matching public events returns an empty dataset with status SUCCEEDED. Under pay-per-result pricing, an empty result set means nothing to charge for.

❓ FAQ

Setup & access

Do I need an Eventbrite account, API key, or OAuth app?

No. The Actor reads publicly available listing pages only. You need an Apify account and API token; you need no Eventbrite credentials whatsoever.

Is this the official Eventbrite API?

No. This is an independent, community-maintained Actor and is not affiliated with, endorsed by, or sponsored by Eventbrite, Inc.

Do I need to configure proxies?

No. Request pacing, retries, and backoff are handled internally. There is no proxy configuration in the input schema.

Can I use this from Make, Zapier, n8n, or a webhook?

Yes. Any tool that can call the Apify API can call this Actor. Use the async pattern for anything above a couple of hundred events so you don't hit the 300-second sync ceiling.

Can I plug it into Claude, Cursor, or a LangChain agent?

Yes β€” it is a native MCP tool. Add it with:

claude mcp add --transport http apify "https://mcp.apify.com?tools=techforce.global/eventbrite-scraper"

Input & filtering

Can I search by keyword?

No. The search surface is location + category + date range + the free/online flags. If you need keyword-level targeting, pull a broader set and filter downstream on name and description (set fieldDesc: true).

Can I scrape several cities or categories in one run?

No β€” one run per location Γ— category combination. Loop the Actor in your orchestration layer, or use Smart Event Scraper when you want breadth across platforms in a single run.

Why is there no "Technology" category?

Eventbrite's taxonomy calls it Science & Tech. All 18 values are exact, case-sensitive Title Case strings. Use All Events when the user intent is unclear.

Output & data

Why are description and organizer missing?

They are off by default (fieldDesc: false, fieldOrganizer: false) to keep payloads and LLM token costs down. Turn them on explicitly.

Can I get organizer email addresses or attendee lists?

No. The Actor returns the organizer's public display name and public Eventbrite profile URL only.

Limits & pricing

How many events can one run return?

1,000. Beyond that, partition by date window or category across sequential runs and merge the datasets.

What does it cost?

$0.003 per event β€” $3.00 per 1,000 results. Pay-as-you-go, no monthly minimum.

How do I guarantee an agent never overspends?

Pass maxTotalChargeUsd as a query parameter on the run endpoint. It is a hard per-execution ceiling β€” the run aborts rather than exceeding it. Recommended for any autonomous agent.


Other event platforms

Eventbrite is one slice of the event ecosystem. Use these when your target platform is different β€” or when you want the same city covered from several sources at once.

ActorBest forWhy pick it over this one
Smart Event ScraperMulti-platform aggregation β€” Eventbrite, Meetup, AllEvents, District, EventsEye & ConferenceAlerts in one clean datasetYou want maximum market coverage for a city and don't want to orchestrate six Actors yourself
Universal Event ScraperFour specialised scrapers (AllEvents.in, EventsEye.com, District.in, Meetup.com) in a single runYou need a combined feed across those four sources specifically
Meetup City Events ScraperMeetup.com events by city β€” community and recurring group eventsGrassroots tech/hobby meetups are heavily under-represented on Eventbrite
All Events ScraperAllEvents.in β€” strong coverage of India, Southeast Asia, and local/city listingsRegional coverage where Eventbrite inventory is thin
Events Eye ScraperEventsEye.com β€” B2B trade shows and exhibitions with venue and organizer detailTrade shows and expos rarely list on Eventbrite

Enrichment & downstream pipeline

ActorUse it for
Google Maps Scraper – Business DataEnrich venue.name + venue.lat/lng into full business records β€” ratings, opening hours, contact details, categories
GOV.UK Business ScraperMatch UK organizer names against Companies House records, with PSC / beneficial-ownership enrichment
Advanced Website Crawling ActorCrawl an organizer's own website (from organizer.url) for clean HTML/Markdown/text context

Suggested pipeline patterns

🎯 Organizer lead generation Eventbrite Scraper (fieldOrganizer: true) β†’ dedupe on organizer.url β†’ Advanced Website Crawling Actor on organizer sites β†’ push to CRM via MCP connector.

πŸ—ΊοΈ City event intelligence dashboard Smart Event Scraper for breadth β†’ Eventbrite Scraper for depth on the categories that matter β†’ Google Maps Scraper to enrich venues β†’ append to Google Sheets / Airtable on a daily schedule.

πŸ“° Automated event digest Eventbrite Scraper with a single-day date window, deliveryMode: "summary", mcpConnector: "slack", mcpTool: "send_message" β†’ scheduled daily β†’ posts straight into your channel with no glue code.

πŸ“Š Market & pricing research Monthly date windows Γ— fieldPrice: true β†’ read is_free, price, currency β†’ track free-vs-paid mix, median ticket price, and online-vs-in-person split over time.

Browse all Actors by Techforce Global at apify.com/techforce.global.


πŸ” Compliance & Data Privacy

This is an independent, community-maintained Actor. It is not affiliated with, endorsed by, or sponsored by Eventbrite, Inc. "Eventbrite" is a trademark of its respective owner.

This Actor collects publicly available event listing data only. It does not access accounts, bypass authentication, or retrieve personal data of attendees or ticket buyers. You are responsible for ensuring your use complies with Eventbrite's Terms of Service, applicable data-protection law (including GDPR and CCPA), and any local regulations. Organizer names and public profile links may constitute personal data in some jurisdictions β€” handle accordingly.


πŸ†˜ Support & Custom Pipeline Engineering

Need automated multi-city scheduled feeds, webhook enrichment, or enterprise data warehouse syncs?


Made with ❀️ by Techforce Global Specialists in High-Performance Web Scrapers and AI Automation.


🏷️ Structured data for search & AI discovery

{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Eventbrite Scraper & API Alternative β€” Events, Venues, Organizers & Pricing",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Cloud (Apify platform)",
"description": "Extracts structured Eventbrite event data by location, category, and date range, with optional delivery to Notion, Slack, Google Sheets, Airtable, or any authorized MCP connector.",
"url": "https://apify.com/techforce.global/eventbrite-scraper",
"offers": {
"@type": "Offer",
"price": "3.00",
"priceCurrency": "USD",
"description": "Per 1,000 results"
}
}