Eventbrite Scraper | Events, Tickets & Organizers avatar

Eventbrite Scraper | Events, Tickets & Organizers

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Eventbrite Scraper | Events, Tickets & Organizers

Eventbrite Scraper | Events, Tickets & Organizers

Collect public Eventbrite events, ticket prices, venues and organizer profiles across supported country sites. Filter by city, category or keyword. Billed per delivered row plus a start fee.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Eventbrite Scraper

Get public Eventbrite events, ticket availability, venues and organizer profiles as rows you can export across supported country sites.

  • Discover events by city, category, keyword, date, price or attendance format.
  • Collect event details, organizer profiles and recurring event dates.
  • Combine several cities, event links or organizer IDs in one run.
  • Pay $3.00 per 1,000 delivered rows on the Free plan, plus a start fee.

What does Eventbrite Scraper do?

Eventbrite Scraper collects public listings and profiles for event calendars, venue research and organizer lists. It is unofficial and is not affiliated with Eventbrite. It does not buy tickets or access private attendee information.

  • Seven modes: discover, category, search, event, organizer, categories and geos.
  • Markets: 29 configured domain options, including com, co.uk, com.au, ca, de, fr, es and com.br. Use host to choose the country site.
  • Rows: events, organizers, geographic entries and a category catalog. Each row has rowType and a string id.
  • Optional rows: includeOrganizerEvents adds upcoming events; expandSeries adds dated occurrences. Both are off by default. Each added row is billed at the same rate and counts toward the input's row limit.

What data can you extract from Eventbrite?

Fields depend on the mode and what Eventbrite publishes. All rows include rowType, id and scrapedAt; optional fields may be absent or empty.

Event rows

FieldDescriptionExample
rowTypeKind of rowevent
idEvent identifier1234567890
nameEvent titleExample Community Workshop
urlEvent pagehttps://www.eventbrite.com/e/example-1234567890
startDateStart date or date/time object2026-12-12T18:00:00Z
endDateEnd date or date/time object2026-12-12T20:00:00Z
timezoneEvent timezone, when suppliedAmerica/Los_Angeles
venueVenue name and address details{"name":"Example Venue"}
ticketAvailabilityPublished prices and availability{"isFree":true,"isSoldOut":false}
organizerOrganizer details{"name":"Example Organizer"}
seriesIdParent recurring-series identifier1234567890
tagsCategory, subcategory and format informationCategory tags
addressStructured venue address{"locality":"San Francisco"}
geoCoordinates, when available{"lat":37.77,"lng":-122.42}
geoSlugOriginal city or country identifierca--san-francisco
phonesPublic organizer phone numbers, if found[]
emailsEmpty; organizer contact forms are not submitted[]
webPublic website and social links{"website":"https://example.com","socials":[]}
leadAbsencesReasons contact or address details are missingMissing-contact explanations
scrapedAtCollection timestamp2026-10-24T10:00:00+00:00

Organizer rows

These use rowType: "organizer" and the same identity fields.

FieldDescriptionExample
bioPublic organizer biographyCommunity events and workshops
metricsPublished profile metricsProfile statistics
socialsPublic social links[]
upcomingEventsCountAvailable upcoming-event count8
upcomingEventIdsUp to 50 upcoming event identifiers["1234567890"]

Geographic rows

These use rowType: "geo"; geographic entries are not events.

FieldDescriptionExample
geoSlugCity, country or online listing identifieronline
hostEventbrite domainwww.eventbrite.com
urlListing page for this placehttps://www.eventbrite.com/d/online/events/

Catalog rows

The categories mode returns a catalog row, not one row per event or category.

FieldDescriptionExample
categoriesCategory identifiers["music","business"]
categoryTreeCategories with subcategoriesMusic and jazz
hostsConfigured country-site optionsCountry domains

How to scrape Eventbrite

  1. Open Eventbrite Scraper in Apify Console.
  2. Leave mode on auto and fill one target field, such as geo or eventUrls.
  3. Set maxResults to 5 for a small first run.
  4. Click Start and wait for the run to finish.
  5. Open the dataset to view or download rows.

Empty input starts a San Francisco example run capped at 3 rows. These are normal, billable rows, not a free preview. Filling a target selects the matching mode automatically. An explicit discover or search without a place uses San Francisco while keeping your requested row limit.

Discover

Fill geo, or geos for several cities. Use a date facet such as events--this-weekend for a local event feed.

Category

Supply a city and category, optionally subcategory, such as music and jazz. A category alone starts the sample-city example rather than a worldwide search.

Enter query. Add a city or use geo: "online" for online events. Price and attendance filters narrow the results.

Event

Supply eventIds or eventUrls for specific events. Turn on expandSeries when you also want available occurrences within your row limit.

Organizer

Supply organizerIds or organizerUrls. Enable includeOrganizerEvents to receive event rows alongside the organizer profile.

Categories

Choose mode: "categories" explicitly. No target is required; the result describes the category catalog.

Geos

Choose mode: "geos" explicitly to list geographic entries for the selected country site. Use returned geoSlug values in a later discovery run.

What to fill in

FieldWhat to enterDefault
modeAutomatic selection or one of the seven modesauto
geo, geosOne place or up to 100 placesSample ca--san-francisco
eventIds, eventUrlsEvent IDs or links, up to 100 eachEmpty
organizerIds, organizerUrlsOrganizer IDs or links, up to 50 eachEmpty
startUrlsUp to 50 Eventbrite event, organizer or listing linksEmpty
querySearch wordsEmpty
hostCountry-domain suffix, such as co.ukcom
category, subcategoryCategory and optional subcategoryEmpty
facetDate or listing filterevents
priceany, free or paidany
eventFormatany, online or offlineany
startDate, endDateOptional YYYY-MM-DD boundsAll upcoming dates
neighborhood, expandNeighborhoodsArea slug, or expand available city neighborhoodsEmpty, false
maxResultsRows per input, from 1 to 50070; form prefill 3
page, maxPagesFirst page and number of pages to consider1, 1
enrichDestinationAdd ticket, venue, organizer and category detailstrue
enrichV3, enrichOrganizerAdditional event or organizer details; require enrichDestinationBoth true
enrichDetails, enrichBffDetailAdditional event-page or profile details, when availableBoth false
expandSeries, maxSeriesEventsInclude occurrences and cap them per seriesfalse, 20
includeOrganizerEventsAdd upcoming events as separate rowsfalse
maxGeos, scrapeSitemapGeosGeographic-entry limit and directory lookup200, true
fieldsPreferred top-level output fields; identity fields remainAll fields

Examples below use small limits. Replace event and organizer IDs with your own targets.

Discover:

{"mode":"discover","geo":"ny--new-york","facet":"events--this-weekend","maxResults":5}

Category:

{"mode":"category","geo":"ny--new-york","category":"music","subcategory":"jazz","maxResults":5}

Search:

{"mode":"search","geo":"online","query":"workshop","price":"free","eventFormat":"online","maxResults":5}

Event:

{"mode":"event","eventIds":["1984345024385"],"maxResults":1}

Organizer:

{"mode":"organizer","organizerIds":["86136754923"],"includeOrganizerEvents":true,"maxResults":3}

Categories:

{"mode":"categories","maxResults":1}

Geos:

{"mode":"geos","host":"co.uk","maxGeos":5,"maxResults":5}

maxItems and limit are aliases for maxResults. Other accepted names include keyword for query and cities for geos. Close field-name misspellings are corrected; other unknown fields are ignored with a note. Invalid price, eventFormat or facet values are ignored rather than failing the run.

Each run writes INPUT_REPORT to its key-value store with input corrections, ignored fields and mode selection. Invalid dates or event links stop collection before any row is charged, with messages such as INVALID_INPUT: endDate — the date is in the past; use today or a later date, or leave it empty. The start fee still applies. Dates are not automatically moved forward.

Output example

Illustrative event row, not a live result:

{
"rowType": "event",
"recordType": "event",
"id": "1234567890",
"name": "Example Community Workshop",
"url": "https://www.eventbrite.com/e/example-1234567890",
"startDate": {"local_date":"2026-12-12","local_time":"18:00:00","timezone":"America/Los_Angeles"},
"isOnline": false,
"isFree": true,
"ticketAvailability": {"isFree":true,"hasAvailableTickets":true,"isSoldOut":false},
"venue": {"name":"Example Venue"},
"organizer": {"name":"Example Organizer"},
"geoSlug": "ca--san-francisco",
"phones": [],
"emails": [],
"scrapedAt": "2026-10-24T10:00:00+00:00"
}

Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. RUN_SUMMARY records the outcome and row count; failures can also produce ERROR_SUMMARY.

Why use this Eventbrite scraper?

  • Pay per delivered row: unsuccessful page requests are not result rows.
  • Several inputs: collect multiple cities, event IDs or organizer profiles together.
  • Optional detail: keep the default ticket and venue enrichment, or request additional profile information.
  • Missing data stays missing: the Actor does not invent contact details.
  • No proxy setup: you do not need to set up proxies or provide Eventbrite cookies.
  • Keep delivered rows: rows already written to the dataset remain available. A manually stopped run is not a guarantee that unfinished collection will be delivered.

How much does it cost to scrape Eventbrite?

Pricing is pay-per-event: a start event costs $0.005, plus a charge for each delivered row. The start charge is one event per GB of memory, with a minimum of one event. At the default 512 MB, the start fee is $0.005. Platform usage is included in these prices.

Apify planPrice per rowPrice per 1,000 rows
Free$0.003$3.00
Starter$0.003$3.00
Scale$0.0026$2.60
Business$0.0022$2.20

maxResults applies to each geo, event ID/link, organizer ID/link or start URL. The default is 70. All row types share that input's limit. Larger requests are collected in parts; available events and page limits can reduce delivery.

Free Apify-plan users are limited to 200 rows per run and 10 runs of this Actor, set by the developer. The whole run is limited by Maximum cost per run (maxTotalChargeUsd in the API), even with multiple inputs.

Example: three cities returning five rows each produce 15 rows. On the Free plan at 512 MB, the charge is 15 × $0.003 + $0.005 = $0.050.

What happens when the run timeout is too short

If collection needs longer than the selected timeout, the run can pause instead of failing. Its status becomes ABORTED with the message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." When results are ready, the same run starts again and reports "Resumed: delivering N rows." It writes to the same dataset and finishes as SUCCEEDED if collection succeeds.

Already delivered rows are skipped on resume, so they are not delivered or charged twice. No action is needed for this automatic pause. It can happen at most 3 times per run; keep the default 3600-second timeout to reduce pauses.

The synchronous endpoints run-sync and run-sync-get-dataset-items wait at most 300 seconds and can return an empty dataset while the run is paused. For longer jobs, start asynchronously and read the dataset after SUCCEEDED, or use a webhook for ACTOR.RUN.SUCCEEDED.

Use with AI agents and the API

Apify MCP server

Add this remote server in Claude, ChatGPT, Cursor, VS Code or another compatible MCP client:

https://mcp.apify.com?tools=lentic_clockss/eventbrite-scraper

Sign in with Apify through OAuth, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns run and dataset IDs; the agent reads rows with get-dataset-items.

Clients without remote-server support can use npx @apify/actors-mcp-server --tools lentic_clockss/eventbrite-scraper with APIFY_TOKEN set.

Example prompt: "Find five free online workshops on Eventbrite and return their names, dates and links."

Apify API

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/eventbrite-scraper").call(
run_input={"geo": "ny--new-york", "maxResults": 5}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/eventbrite-scraper')
.call({ geo: 'ny--new-york', maxResults: 5 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

For asynchronous HTTP access, send the JSON input to POST https://api.apify.com/v2/acts/lentic_clockss~eventbrite-scraper/runs with an Authorization: Bearer <YOUR_APIFY_TOKEN> header. After success, read GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.

Integrations

Use the Actor's Integrations tab with Google Sheets, Make, Zapier, n8n, Slack, Airtable or a webhook. Apify Schedules can run saved inputs regularly.

FAQ

This Actor collects public data. You are responsible for complying with Eventbrite's terms and applicable data-protection law. Processing personal data requires a lawful basis.

Why did my run end as ABORTED?

The automatic-pause status message means the same run is waiting to resume. A manual abort or another failure is different; check the status message before restarting.

How many results can I get?

Request 1–500 rows per input with maxResults. Availability, page limits, the maximum charge and free-plan limits can lower the count.

Why are some fields empty?

Eventbrite may omit dates, ticket prices, addresses or organizer details. Some fields require enrichment. Contact forms do not provide public email addresses.

Is this an official Eventbrite API?

No. This is an independent scraper; you do not need an Eventbrite API key.

Can I scrape several cities in one run?

Yes. Put their identifiers in geos. Each city has its own maxResults allowance, within the run's total charge limit.

What if no rows are returned?

Broaden the city, date or category filters. No publishable records produces a failure rather than an empty success. QUEUE_FULL in RUN_SUMMARY instead means collection could not start; retry after the indicated delay.

Can it buy tickets or collect attendees?

No. Checkout, ticket purchases and private attendee lists are outside its scope.

Limitations

  • Geographic and category catalogs are discovery aids, not guarantees of current inventory.
  • Default maxPages is 1; a high row limit alone does not guarantee more pages or matching events.
  • Series occurrences and organizer events consume rows alongside their parent records.
  • Prices and availability describe the published listing, not a guaranteed checkout price.
  • Enrichment may add fields even when fields selects a smaller set.
  • Missing contact details stay empty; Eventbrite support addresses are not organizer contacts.

More event and ticketing scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Report problems or request another field in the Issues tab of this Actor's page. Include the run ID and the input you used.