# Eventbrite Scraper - Events, Organizers & Ticket Prices (`kamerozkan/eventbrite-events-scraper`) Actor

Eventbrite scraper for events by city, category or search URL: title, dates, venue and address, organizer, ticket price range, free or paid, online flag and URL. For event marketers, sponsorship and B2B sales teams and local event apps. New events alert across runs.

- **URL**: https://apify.com/kamerozkan/eventbrite-events-scraper.md
- **Developed by:** [Kamer Ozkan](https://apify.com/kamerozkan) (community)
- **Categories:** Lead generation, Travel, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.60 / 1,000 events

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Eventbrite Scraper - Events, Organizers & Ticket Prices

**Eventbrite scraper and API: get Eventbrite events by city, category or keyword with dates, venue and full address, organizer name and page, ticket price range, free or paid, online flag and event URL, and get alerted about new events since your last run.** Pick a city like `ny--new-york`, `berlin` or `Austin, TX`, choose categories such as Business or Science & Technology, add keywords, or paste any Eventbrite search URL from your browser. No login, API key or proxy setup needed.

### What does Eventbrite Scraper do?

It opens the Eventbrite search results for every location and category or keyword (20 events per page, up to 50 pages) and saves every event: name, start and end time with time zone, summary, category, subcategory and format (conference, networking, workshop, party and so on), organizer tags, venue name, street address, postal code, city, region, country, latitude and longitude, organizer ID and page, image, ticket link and publish date. Filter by date range (today, this weekend, next week, this month and more) and skip online events if you only want in-person ones.

With **Include organizer and ticket prices** (on by default) it also opens each event page and adds the organizer name, lowest and highest ticket price, currency, free or paid, ticket availability and sales status, the exact start and end with UTC offset, age restriction and duration.

Give the run a **new events alert key** and it remembers every event it has seen: each row then shows `isNew` and `firstSeenAt`. With **Only new events** turned on, a scheduled run saves and charges only events that are new since the last run, so you get a cheap Eventbrite alert for any city and topic.

### Who is it for?

- **Sponsorship and B2B sales teams**: find organizers of conferences, meetups and trade events in your target cities and pitch them as sponsors, exhibitors or customers.
- **Event marketers and agencies**: track competing events, ticket prices and dates in your niche and city.
- **Local guide, city and ticketing apps**: fill your calendar with upcoming events with venue coordinates and images.
- **Researchers and analysts**: study event supply, pricing and formats by city, category and season.

### What data can you get?

| Field | Example |
|---|---|
| `eventId` | `1999695694653` |
| `name` | `HLNY's 10th Annual Mini Congress` |
| `url` | `https://www.eventbrite.com/e/hlnys-10th-annual-mini-congress-tickets-1999695694653` |
| `startLocal` / `endLocal` / `timezone` | `2026-10-22T08:00` / `2026-10-22T16:00` / `America/New_York` |
| `summary` | `Join us this year as we discuss topics around POLICY, PEOPLE, and PAYMENTS` |
| `category`, `subcategory`, `format` | `Business & Professional`, `Other`, `Conference` |
| `tags` | organizer tags such as `hlnyconference` |
| `venueName`, `address`, `postalCode`, `city`, `region`, `country` | `NY Academy of Medicine`, `1216 Fifth Ave, New York, NY 10029` |
| `latitude`, `longitude` | `40.7918358`, `-73.952282` |
| `isOnline`, `isCancelled` | `false`, `false` |
| `organizerId`, `organizerUrl` | `709154575`, `https://www.eventbrite.com/o/healthcare-leaders-of-new-york-709154575` |
| `imageUrl`, `ticketsUrl`, `publishedAt` | event image, ticket link, publish date |
| `search`, `searchTitle`, `page`, `position`, `totalResults`, `searchUrl` | where the event was found |
| `organizerName` | `Healthcare Leaders of New York` (with organizer and ticket prices) |
| `minPrice`, `maxPrice`, `currency`, `isFree` | `53.49`, `263.49`, `USD`, `false` (with organizer and ticket prices) |
| `availability`, `salesStatus`, `eventStatus` | `InStock`, `on_sale`, `EventScheduled` |
| `startDate`, `endDate`, `ageRestriction`, `durationMinutes` | `2026-10-22T08:00:00-04:00`, `null`, `480` |
| `isNew`, `firstSeenAt` | new events alert fields (with an alert key) |
| `scrapedAt` | `2026-10-16T08:22:47Z` |

Only events and their organizers (businesses and event hosts) are collected. Attendee lists, buyer data and contact details are never read.

### How much does it cost to scrape Eventbrite?

You pay only for events saved to your dataset: **$2.00 per 1,000 events** on the Free plan ($0.002 per event), $1.80 on Bronze, $1.70 on Silver and $1.60 on Gold and higher Apify plans. Organizer and ticket prices cost the same per event. Proxy traffic and platform usage are included.

Worked example: a weekly new events alert for business and tech events in 5 cities that finds about 60 new events per city a week saves 300 events a week, about 1,300 a month: 1,300 x $0.002 = $2.60 a month on the Free plan. A single search of 100 events costs $0.20.

Pages that Eventbrite refuses are retried through other connections; searches that still cannot be read are listed in the `FAILED_SEARCHES` record of the run's key-value store and nothing is charged for them. Events skipped by a filter (online, paid, already seen, duplicates across searches) are not charged either. Set **Max events in total** or a maximum cost per run to cap spending.

### How to use it

1. Click **Try for free**.
2. Enter one or more **locations**: the slug from an Eventbrite address such as `ny--new-york`, `ca--san-francisco`, `united-kingdom--london` or `berlin`, a name like `Austin, TX`, or `online`.
3. Pick **categories** (Business, Science & Technology, Music, Food & Drink and more) and/or enter **keywords** such as `ai startups` or `marketing conference`. Optionally choose a **date range**.
4. Or paste **search URLs** copied from eventbrite.com with any filters already set.
5. Keep **Include organizer and ticket prices** on for organizer names and prices, or turn it off for a faster list.
6. For alerts, enter a **new events alert key** such as `nyc-tech-events`, turn on **Only new events** and schedule the run (daily or weekly) in Apify.
7. Click **Start** and download the results as JSON, CSV or Excel, or read them through the API.

### Input example

```json
{
  "locations": ["berlin", "Austin, TX"],
  "categories": ["science-and-tech"],
  "keywords": ["marketing conference"],
  "dateFilter": "this-month",
  "maxItemsPerSearch": 25,
  "excludeOnline": true,
  "monitorKey": "tech-events",
  "maxItems": 80
}
```

### Output example

A real row from a test run on 2026-10-16 (Science & Technology events this month in Berlin, organizer and ticket prices on, alert key set, first run):

```json
{
  "eventId": "1980470677108",
  "name": "Women in Tech EMEA Summit 2026",
  "url": "https://www.eventbrite.com/e/women-in-tech-emea-summit-2026-tickets-1980470677108",
  "startLocal": "2026-10-29T11:30",
  "endLocal": "2026-10-30T18:00",
  "timezone": "Europe/Berlin",
  "isOnline": false,
  "category": "Science & Technology",
  "format": "Conference",
  "venueName": "smartvillage Berlin",
  "address": "Karl-Marx-Straße 101, 12043 Berlin",
  "postalCode": "12043",
  "city": "Berlin",
  "country": "DE",
  "latitude": 52.4796004,
  "longitude": 13.4375086,
  "organizerName": "FemTechConf Women in Tech EMEA Event Series",
  "organizerUrl": "https://www.eventbrite.com/o/femtechconf-women-in-tech-emea-event-series-77362059023",
  "minPrice": 195.15,
  "maxPrice": 471.93,
  "currency": "EUR",
  "isFree": false,
  "salesStatus": "on_sale",
  "search": "science-and-tech in berlin",
  "position": 1,
  "totalResults": 32,
  "isNew": true,
  "firstSeenAt": "2026-10-16T08:23:49Z",
  "scrapedAt": "2026-10-16T08:24:09Z"
}
```

The dataset has four views: **Overview** (image, event, start, venue, city, organizer, prices, free, online), **Organizers (sponsors and prospects)**, **Venues and map** and **New events alert**.

### Integrations and API

Run it from your code with the Apify API or the `apify-client` package, schedule it in Apify, or connect it to Make, n8n, Zapier, Google Sheets, HubSpot, Slack or a webhook.

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kamerozkan/eventbrite-events-scraper").call(run_input={
    "locations": ["ny--new-york", "ca--san-francisco"],
    "categories": ["business", "science-and-tech"],
    "dateFilter": "next-month",
    "monitorKey": "us-b2b-events",
    "onlyNew": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["startLocal"], item.get("organizerName"), item["name"][:60], item["url"])
```

### FAQ

**How do I find the location slug?** Search a city on eventbrite.com and copy the part after `/d/` in the address bar, for example `ny--new-york` from `eventbrite.com/d/ny--new-york/events/`. Plain names also work: `Berlin`, `London` or `Austin, TX` (the state or country goes after the comma).

**How do I get a list of event organizers for sponsorship or sales?** Pick your cities and categories (for example Business and Science & Technology), keep organizer and ticket prices on and open the *Organizers (sponsors and prospects)* view. Each row has the organizer name and Eventbrite organizer page, the event, date, city, format and tags.

**How do I get an alert for new Eventbrite events?** Enter a new events alert key, turn on *Only new events* and schedule the run daily or weekly. The first run saves everything it finds; later runs save only events that were not there before. Connect a webhook, Slack or email integration to get notified.

**Can I use other Eventbrite filters?** Yes. Set any filter on eventbrite.com (price, format, language, date) and paste the search URL into *Search URLs*. Pages are followed automatically.

**Why are prices empty on some rows?** Prices, organizer name and sales status come from the event page, so they are only filled with *Include organizer and ticket prices*. A few events hide prices until checkout; then the price fields stay empty.

**Is it legal to collect this data?** It collects public event data that Eventbrite shows to every visitor, without logging in, and never collects attendee data. You are responsible for how you use it.

### Support and feedback

- Found a bug or missing a field? Open an issue on the **Issues** tab of this Actor. We reply within
  48 hours and ship most fixes within a few days.
- Have an idea for a feature? Issues are the fastest way to get it built.
- If the Actor saves you time, a short review on this page helps other users find it.

# Actor input Schema

## `locations` (type: `array`):

Cities to search, one per line. Use the Eventbrite location slug from the browser address bar (for example "ny--new-york", "ca--san-francisco", "united-kingdom--london", "berlin") or a name such as "Berlin" or "Austin, TX". Use "online" for online events.

## `categories` (type: `array`):

Eventbrite categories to read in every location. Leave empty when you only use keywords.

## `keywords` (type: `array`):

Search terms, as typed into the Eventbrite search box, for example "ai startups", "marketing conference" or "wine tasting". Each keyword is searched in every location.

## `dateFilter` (type: `string`):

Only events in this period. Applies to category searches; keyword searches return all upcoming events.

## `startUrls` (type: `array`):

Any Eventbrite search result URL copied from your browser, for example https://www.eventbrite.com/d/ca--san-francisco/science-and-tech--events--this-weekend/. Pages are followed automatically.

## `maxItemsPerSearch` (type: `integer`):

How many events to read for each location and category or keyword, or each URL (20 per page).

## `includeDetails` (type: `boolean`):

Open every event page and add the organizer name and page, ticket price range and currency, free or paid, ticket availability and sales status, exact start and end with time zone offset, age restriction and duration. Slower (one extra page per event); the price per event stays the same.

## `onlyFree` (type: `boolean`):

Keep only events whose tickets all cost 0. Turns on organizer and ticket prices. Other events are not saved and not charged.

## `excludeOnline` (type: `boolean`):

Leave out online events that Eventbrite mixes into city results. Skipped events are not charged.

## `monitorKey` (type: `string`):

Any name, for example "nyc-tech-events". Runs with the same key remember every event they have seen, so each row gets isNew and firstSeenAt. Schedule the run daily or weekly for a new events alert. Leave empty for a plain search.

## `onlyNew` (type: `boolean`):

With a new events alert key: save (and pay for) only events not seen in earlier runs. The first run saves everything it finds.

## `maxItems` (type: `integer`):

Stop after this many events across all searches. You are charged per event, so this also caps the cost of the run.

## `proxyConfiguration` (type: `object`):

Apify Proxy is used by default; if a page is refused, the request is retried through residential proxies. Proxy traffic is included in the price.

## Actor input object example

```json
{
  "locations": [
    "ny--new-york"
  ],
  "categories": [
    "business"
  ],
  "dateFilter": "",
  "maxItemsPerSearch": 40,
  "includeDetails": true,
  "onlyFree": false,
  "excludeOnline": false,
  "onlyNew": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

One row per result in the default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "ny--new-york"
    ],
    "categories": [
        "business"
    ],
    "maxItemsPerSearch": 40,
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("kamerozkan/eventbrite-events-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "locations": ["ny--new-york"],
    "categories": ["business"],
    "maxItemsPerSearch": 40,
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("kamerozkan/eventbrite-events-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "ny--new-york"
  ],
  "categories": [
    "business"
  ],
  "maxItemsPerSearch": 40,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call kamerozkan/eventbrite-events-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,kamerozkan/eventbrite-events-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8rkdScEgtzoDUP0Fd/builds/ccrGgHWVFk5LALdse/openapi.json
