# 🎟️ Eventbrite Events Scraper (`scraper-engine/eventbrite-scraper`) Actor

🎟️ Eventbrite Events Scraper extracts event details from Eventbrite—titles, dates, locations & more. 🚀 Perfect for lead gen, market research, and discovering local happenings at scale. 📊⚡

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

## Pricing

from $4.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🎟️ Eventbrite Events Scraper

Scrape **Eventbrite** events at scale — by pasting listing URLs or using a friendly guided search (location + date window + keyword). For every event you get clean, structured **schema.org** data: name, dates, venue, full address, organizer, performers, attendance mode, language and ticket prices.

No login required. Data is collected only from **publicly available** Eventbrite pages.

***

### 💡 Why Choose This Actor?

- **Two ways to search** — paste any Eventbrite URL *or* fill in a guided form (e.g. `Miami Beach, FL` + `this-weekend`).
- **Rich output** — full schema.org Event JSON (venue, organizer, performers, price range) — not just titles.
- **Smart anti-blocking** — starts with a direct connection and only escalates to datacenter → residential proxies when Eventbrite pushes back, then sticks with what works.
- **Live results** — every event is saved the moment it's scraped, so a long run never loses progress.
- **Real-time logs** — watch events stream in by name, date, venue and price as they're collected.

***

### ✨ Key Features

| Feature | Description |
|---------|-------------|
| 🔗 URL mode | Paste one or many listing/search URLs (bulk input supported). Direct `/e/` event URLs work too. |
| 🧭 Guided mode | Enter a location, pick a date window, add an optional keyword — we build the search URL for you. |
| 📄 Pagination | Crawl multiple listing pages per URL (configurable). |
| ⚡ Concurrency | Fetch event pages in parallel for speed. |
| 🛡️ Proxy ladder | Direct → Datacenter → Residential, with automatic, sticky fallback. |
| 💾 Live saving | Results pushed to the dataset one event at a time. |

***

### 📥 Input

| Field | Type | Description |
|-------|------|-------------|
| `searchMode` | string | `url` (paste URLs) or `guided` (form-based search). |
| `startUrls` | array | Eventbrite listing/search/event URLs (URL mode, bulk). |
| `location` | string | Human-friendly location, e.g. `Miami Beach, FL` (guided mode). |
| `dateRange` | string | `all-events`, `today`, `this-week`, `this-weekend`, `this-month` (guided mode). |
| `keywords` | string | Optional keyword filter (guided mode). |
| `maxPage` | integer | Listing pages to crawl per start URL (1–500). |
| `concurrency` | integer | Parallel event-page fetches (1–20). |
| `maxRetries` | integer | Retry attempts per blocked request (1–10). |
| `proxy` | object | Apify proxy configuration. |

#### Example input

```json
{
  "searchMode": "url",
  "startUrls": [
    { "url": "https://www.eventbrite.com/d/fl--miami-beach/all-events/?page=1" }
  ],
  "maxPage": 2,
  "concurrency": 5,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
```

***

### 📤 Output

Each dataset item is one event. Example:

```json
{
  "id": "1990423964659",
  "crawled_at": "2026-06-14T09:28:00.811Z",
  "url": "https://www.eventbrite.com/e/...-registration-1990423964659",
  "@context": "https://schema.org/",
  "@type": "SocialEvent",
  "name": "250 United: America's 250th Celebration at Bayfront Park",
  "description": "Free concert for America's 250th! ...",
  "image": "https://img.evbuc.com/...",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "Place",
    "name": "Bayfront Park",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Miami",
      "addressRegion": "FL",
      "addressCountry": "US",
      "streetAddress": "301 Biscayne Boulevard, Miami, FL 33132"
    }
  },
  "organizer": { "@type": "Organization", "name": "Bayfront Park Management Trust", "url": "https://www.eventbrite.com/o/..." },
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "inLanguage": "en-US",
  "startDate": "2026-07-04T13:00:00-04:00",
  "endDate": "2026-07-05T00:00:00-04:00",
  "performer": [ { "@type": "Person", "name": "Ashanti", "url": "https://open.spotify.com/artist/..." } ],
  "offers": [ { "@type": "AggregateOffer", "lowPrice": "0.0", "highPrice": "0.0", "priceCurrency": "USD", "availability": "InStock" } ]
}
```

The Output tab shows the data across handy views: **🎟️ Overview**, **📝 Details**, **📍 Location**, **🧑‍💼 Organizer**, and **💰 Pricing**.

***

### 🚀 How to Use (Apify Console)

1. Log in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Open **Eventbrite Events Scraper**.
3. Choose a search mode and configure your input (URLs or guided form, pages, proxy).
4. Click **Start**.
5. Watch events stream into the log in real time.
6. Open the **Output** tab and export to JSON / CSV / XLSX.

### 🤖 Use via API

```bash
curl -X POST "https://api.apify.com/v2/acts/%3CACTOR_ID%3E/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"searchMode":"url","startUrls":[{"url":"https://www.eventbrite.com/d/fl--miami-beach/all-events/"}],"maxPage":2}'
```

***

### 🎯 Best Use Cases

- Event discovery & aggregation by city or category
- Lead generation (organizers, venues)
- Market & pricing research on tickets
- Building event calendars and newsletters

### 💰 Pricing

This Actor uses the **pay-per-event** model: you're billed per **event successfully scraped** (`event-scraped`), plus the standard Actor start. You only pay for results you actually get.

### ❓ FAQ

**Do I need an Eventbrite account?** No — only public pages are scraped.

**Why did some events fail?** Occasionally a page is region-locked or removed; the run keeps all the events it could retrieve and reports the rest.

**Can I scrape a single event?** Yes — paste its `/e/...` URL into `startUrls`.

### 🛟 Support & Feedback

Open an issue on the Actor's **Issues** tab with your input and run ID and we'll help.

### ⚖️ Legal

Data is collected from publicly available sources. You are responsible for compliance with applicable laws (GDPR, CCPA, anti-spam) and Eventbrite's Terms of Service.

# Actor input Schema

## `searchMode` (type: `string`):

Pick your preferred input style: paste Eventbrite URLs, or fill in a guided form.

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

Paste one or more Eventbrite listing/search URLs (e.g. https://www.eventbrite.com/d/fl--miami-beach/all-events/). Direct event /e/ URLs are also accepted. Supports bulk input.

## `location` (type: `string`):

Guided mode only: a human-friendly location like "Miami Beach, FL" or "Dallas, TX".

## `dateRange` (type: `string`):

Guided mode only: choose which time window to scrape.

## `keywords` (type: `string`):

Guided mode only: optional keyword to narrow the search (e.g. tech, fitness, startup, music).

## `maxPage` (type: `integer`):

The scraper stops after this many listing pages per start URL (Eventbrite caps at ~49). More pages = more events.

## `proxy` (type: `object`):

Proxies to use. The scraper tries a direct connection first and only escalates to datacenter, then residential proxies if Eventbrite blocks it.

## Actor input object example

```json
{
  "searchMode": "url",
  "startUrls": [
    "https://www.eventbrite.com/d/fl--miami-beach/all-events/?page=1"
  ],
  "location": "Miami Beach, FL",
  "dateRange": "all-events",
  "maxPage": 2,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# 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 = {
    "startUrls": [
        "https://www.eventbrite.com/d/fl--miami-beach/all-events/?page=1"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraper-engine/eventbrite-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 = {
    "startUrls": ["https://www.eventbrite.com/d/fl--miami-beach/all-events/?page=1"],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scraper-engine/eventbrite-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 '{
  "startUrls": [
    "https://www.eventbrite.com/d/fl--miami-beach/all-events/?page=1"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call scraper-engine/eventbrite-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraper-engine/eventbrite-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/RJJss6FAsVyjS72co/builds/3J9QR6fujNALdlcLu/openapi.json
