# Eventbrite Events Scraper — Venues, Dates & Ticket Prices (`sourcesauce/eventbrite-events-scraper`) Actor

Search Eventbrite by city, category, or keyword and get clean event records: dates, venue with full address, geo coordinates for venue-based events, and the ticket price range. Covers conferences, meetups, workshops, concerts and local events. Pay only per delivered event record.

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

## Pricing

$3.00 / 1,000 event records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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 — Venues, Dates & Ticket Prices

Search Eventbrite by **city, category, or keyword** and get clean, complete event records —
including the fields most scrapers skip: **full venue address with geo coordinates, and the
real ticket price range in the event's own currency.**

You pay **only per delivered event record**. Failed or incomplete records are never charged.

### What you get

| name | start\_date | city | category | currency | price\_low | price\_high |
|---|---|---|---|---|---|---|
| From Pitch To Partnership | 2026-08-06 | Dallas | Business & Professional | USD | 0.00 | 55.20 |
| 2026 Sparkler: Emerald Excellence | 2026-09-13 | Dallas | Business & Professional | USD | 25.09 | 59.75 |
| The Science of Dreams \[online] | 2026-08-11 | online | Science & Technology | GBP | 15.00 | 15.00 |

Every record carries: `event_id`, `name`, `summary`, `url`, `start_date`, `start_time`,
`end_date`, `end_time`, `timezone`, `is_online_event`, `language`, `venue_name`,
`venue_address`, `city`, `region`, `country`, `postal_code`, `latitude`, `longitude`,
`category`, `subcategory`, `event_format`, `image_url`, `tickets_url`, `series_id` — and with
**Include ticket prices** on (default): `is_free`, `currency`, `price_low`, `price_high`,
`ticket_availability`. That is 30 fields per event.

### What kinds of events you'll find

The category filter maps onto plain event types: **business** covers conferences, networking nights
and workshops · **music** covers concerts, festivals and club nights · **science-and-tech** covers
hackathons and developer meetups · **food-and-drink** covers tastings, classes and pop-ups ·
**community** covers local events and neighbourhood gatherings. Leave category and keyword empty to
sweep everything on in a city.

### Who uses this

- **Event marketers and sponsorship teams** — see how many events run in a city, in which
  category, and at what price point.
- **Venue and hospitality** — track local event volume and pricing by area using the latitude and
  longitude on venue-based records.
- **City guides and local media** — a clean recurring feed of what is on, with full venue addresses.
- **Market researchers** — ticket price ranges compared across categories, cities and currencies
  over time.

### Input

- **Location slug** (required): as it appears in eventbrite.com/d/ URLs — `tx--dallas`,
  `ny--new-york`, `ca--san-francisco`, or `online`.
- **Category** (optional): `business`, `music`, `food-and-drink`, `science-and-tech`, `health`,
  `sports-and-fitness`, `arts`, `community`, `family-and-education`, `charity-and-causes`,
  `nightlife`, `holiday`.
- **Keyword** (optional): free-text search, used when category is empty. Both empty = all events.
- **Max events**: cap the run; great for a cheap preview.
- **Include ticket prices**: one extra page fetch per event; slower but much richer.

### Honest notes

- **Online events have no venue.** `latitude`, `longitude` and `venue_address` are `null` for them
  — that is Eventbrite's own data, not a gap in ours. In a live check, all 10 online events
  returned null geo while all 12 venue-based Dallas events returned complete addresses and
  coordinates. Filter on `is_online_event` if you need geo on every row.
- **"Price range" is often a single price.** When an event sells one ticket type, `price_low` and
  `price_high` are equal. Some events also publish `0.00`–`0.00` while `is_free` is `false`,
  usually because pricing is not public yet — we pass that through unchanged rather than guessing.
  Read `is_free` and the pair together, not `price_low` alone.
- Price range is the event's public aggregate offer (lowest and highest listed ticket) in the
  event's own currency — runs commonly return a mix (USD, GBP, AUD). Fees at checkout are not
  included.
- Records where the detail fetch fails are delivered as **uncharged** error rows, with the search
  fields preserved.
- **No people data.** Only public event listings are read. This actor does not collect or deliver
  organizer names, organizer profiles, contact details or attendee data of any kind — by design,
  and enforced by tests, not by intention.

### Common questions

- **Does it return organizer names or contact details?** No, and it will not. Event, venue and
  pricing data only.
- **Can I search a whole country or the entire site?** No — Eventbrite's search is location-scoped,
  so run one city slug at a time (or `online`).
- **Do I pay for failed records?** No. Only delivered event records are charged.

*This actor is unofficial and is not affiliated with or endorsed by Eventbrite.*

# Actor input Schema

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

Eventbrite location slug as it appears in eventbrite.com/d/ URLs: 'tx--dallas', 'ny--new-york', 'ca--san-francisco', or 'online' for online events. State code first, then city, joined by two dashes.

## `category` (type: `string`):

Eventbrite category slug: business, music, food-and-drink, science-and-tech, health, sports-and-fitness, arts, community, family-and-education, charity-and-causes, nightlife, holiday. Takes precedence over keyword. Leave both empty for all events.

## `keyword` (type: `string`):

Free-text search instead of a category, e.g. 'coffee tasting'. Used only when category is empty.

## `maxEvents` (type: `integer`):

Stop after this many events — useful for a cheap preview. 0 = no cap (hard ceiling 5000). A city/category combo typically holds a few hundred to a few thousand upcoming events.

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

Fetch each event's page for the ticket price range, currency and availability (one extra request per event, slower but richer). Records where this enrichment fails are delivered as uncharged error rows.

## Actor input object example

```json
{
  "location": "tx--dallas",
  "category": "business",
  "maxEvents": 10,
  "includeDetails": true
}
```

# 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 = {
    "location": "tx--dallas",
    "category": "business",
    "maxEvents": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("sourcesauce/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 = {
    "location": "tx--dallas",
    "category": "business",
    "maxEvents": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "location": "tx--dallas",
  "category": "business",
  "maxEvents": 10
}' |
apify call sourcesauce/eventbrite-events-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sourcesauce/eventbrite-events-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/UNWZlGh9QXIiBMdY1/builds/NHuNMGu7AymWbUBzH/openapi.json
