# Eventbrite Scraper - Events, Prices, Organizers $2/1K (`om_kh/eventbrite-scraper`) Actor

Eventbrite scraper for any city or online: event name, date, venue, address, GPS, category, ticket price range, free, sold-out and sales status, plus organizer followers, website and socials for lead generation. Up to 1,000 events per search. $2 per 1,000 events.

- **URL**: https://apify.com/om_kh/eventbrite-scraper.md
- **Developed by:** [Khandji Omar](https://apify.com/om_kh) (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.50 / 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, Prices, Organizers $2/1K

Get Eventbrite events for **any city or online**, by keyword or category, with the **ticket price range**, free, sold-out and on-sale status, the **venue address and GPS**, and the **organizer's followers, website and social links**. Up to 1,000 events per search, **$2 per 1,000 events**, everything included.

- **Search like on Eventbrite:** places such as `Montreal, Canada`, `New York, NY, USA`, `Paris` or `online`; keywords (networking, AI, yoga...) or one of Eventbrite's 20 categories; date filter (today, this weekend, next month...) or a custom date window; free events only. Or paste your own Eventbrite search links.
- **Event data:** name, summary, link, start and end (with time zone), online or in person, language, category, sub-category, format (conference, networking, class...), organizer tags, venue name, full address, city, region, country, postal code, latitude and longitude, image, published date, recurring flag.
- **Tickets:** lowest and highest price with currency, free, sold out, tickets still available, sales status (on sale, sales ended...).
- **Organizer, for lead generation:** name, Eventbrite profile, followers, website, Facebook, X, description. Turn on **Organizer profile** to also get verified flag, total events hosted, attendees hosted, years on Eventbrite, upcoming events and every social link.
- **Only new events** for scheduled runs: each run delivers only the events you have not received yet.

### Free tier — 10 results free on every run

**The first 10 results of every run are free**, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.

### Price

| | Price |
|---|---|
| Event (with prices and organizer details) | **$2 per 1,000** ($0.002 each) |
| Organizer profile | included |

The first 10 events of each run are free. Set **Max cost per run** and the run stops before it spends more.

Other Eventbrite Actors in Apify Store, prices read on 2026-10-18: aitorsm/eventbrite $20 per 1,000 events plus $15 per 1,000 organizer enrichments; hypebridge/eventbrite-search $5 per 1,000 plus $5 per 1,000 detailed events.

### Measured, not promised

Test on 2026-10-18, search "networking" in Montreal, Canada, 100 events, organizer profiles on: **49 seconds**.

| Field | Events with it |
|---|---|
| Start date and time, venue, address, GPS, category | 100 of 100 |
| Ticket price or free flag, sales status | 100 of 100 |
| Organizer name and followers | 99 |
| Organizer total events hosted | 93 |
| Organizer social links | 76 |
| Organizer website | 72 |

64 different organizers in 100 events.

### Input example

```json
{
  "locations": ["Montreal, Canada", "Toronto, Canada"],
  "keywords": ["networking", "AI"],
  "date": "next-month",
  "maxEventsPerSearch": 200,
  "includeDetails": true,
  "includeOrganizerProfile": true
}
```

Every place is searched with every keyword. Without keywords, set a **Category** or get every event of the place.

### Output example

One real row from the test above:

A real row from this Actor's latest run on Apify (2026-10-23; long texts are cut and people's names hidden here, your dataset has them in full):

```json
{
  "status": "ok",
  "type": "event",
  "eventId": "1997503402448",
  "name": "(hidden here)",
  "summary": "Join ECO Canada at the free Environmental Professional Networking Event on November 5th, 2026 in Montreal!",
  "url": "https://www.eventbrite.ca/e/environmental-professionals-meetup-montreal-qc-registration-1997503402448",
  "start": "2026-11-05T17:30",
  "end": "2026-11-05T20:30",
  "timezone": "America/Montreal",
  "isOnline": false,
  "isCancelled": false,
  "language": "en-ca",
  "category": "Business & Professional",
  "subcategory": "Environment & Sustainability",
  "format": "Meeting or Networking Event",
  "tags": [
    "Networking",
    "Environmental"
  ],
  "venueName": "Resto Plateau",
  "address": "4450 Rue Saint-Hubert #Suite 232, Montréal, QC H2J 2W9",
  "city": "Montréal",
  "region": "QC",
  "country": "CA",
  "postalCode": "H2J 2W9",
  "latitude": 45.5250052,
  "longitude": -73.5802526,
  "imageUrl": "https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1190747302%2F66891460325%2F1%2Foriginal.20260810-212015?auto=format%2Ccompre...",
  "organizerId": "4348208881",
  "publishedAt": "2026-08-10T21:22:57Z",
  "isRecurring": false,
  "ticketsBy": "Eventbrite",
  "searchQuery": "networking | Montreal, Canada",
  "searchUrl": "https://www.eventbrite.com/d/canada--montreal/networking/",
  "searchTotalResults": 194,
  "isFree": false,
  "priceMin": 0,
  "priceMax": 13.18,
  "currency": "CAD",
  "isSoldOut": false,
  "hasAvailableTickets": true,
  "salesStatus": "on_sale",
  "organizerName": "ECO Canada",
  "organizerUrl": "https://www.eventbrite.ca/o/eco-canada-4348208881",
  "organizerFollowers": 1524,
  "organizerWebsite": "https://www.eco.ca/",
  "organizerFacebook": "ecocanada",
  "organizerTwitter": "ecocanada",
  "organizerSummary": "ECO Canada is the steward for the Canadian environmental workforce across all industriesFrom job creation and wage funding, to training a..."
}
```

#### Every field

| Field | What it holds |
|---|---|
| `eventId` | Eventbrite event ID |
| `name` | event name |
| `summary` | short summary |
| `url` | event page |
| `start` | start date and time |
| `end` | end date and time |
| `timezone` | time zone |
| `isOnline` | online event |
| `isCancelled` | cancelled |
| `isRecurring` | repeats |
| `language` | language |
| `format` | conference, class, party... |
| `category` | category |
| `subcategory` | subcategory |
| `tags` | tags |
| `isFree` | free event |
| `priceMin` | cheapest ticket |
| `priceMax` | most expensive ticket |
| `currency` | currency |
| `isSoldOut` | sold out |
| `hasAvailableTickets` | tickets still available |
| `salesStatus` | ticket sales status |
| `ticketsBy` | who sells the tickets |
| `venueName` | venue |
| `address` | address |
| `city` | city |
| `region` | state or region |
| `postalCode` | postal code |
| `country` | country |
| `latitude` | latitude |
| `longitude` | longitude |
| `imageUrl` | event image |
| `organizerId` | organizer ID |
| `organizerName` | organizer |
| `organizerUrl` | organizer page |
| `organizerSummary` | organizer description |
| `organizerFollowers` | organizer followers |
| `organizerWebsite` | organizer website |
| `organizerFacebook` | organizer Facebook |
| `organizerTwitter` | organizer X (Twitter) |
| `publishedAt` | date published |
| `searchQuery` | your search |
| `searchUrl` | search page used |
| `searchTotalResults` | events matching the search |

### Compared with aitorsm/eventbrite

Read on the Store on 2026-10-23 (Eventbrite Scraper — Event & Organizer Data). Where it does better, this section says so.

- **Built on the site's own data**, not a resold scraper: no second Actor between you and the source.
- **Free results on every run** and a hard cost cap (`maxTotalChargeUsd`).
- **Price:** $2 per 1,000 here, $20 there.

### Use cases

- **Lead generation:** event organizers in a city or industry, with followers, website and socials, ranked by how many events they run.
- **Event calendars and newsletters:** every event of a city for the coming week, with prices and GPS.
- **Market research:** ticket prices, sold-out events and formats by city and category.
- **Sponsorship and sales:** find conferences and meetups in your niche before they happen.

### Why use it

1. **Try before you pay.** The first 10 results of every run are free.
2. **Pay only for data delivered.** Failed inputs and pages that refuse the visit are never billed.
3. **Hard cost cap.** Set `maxTotalChargeUsd` and a run never costs more than you allow.
4. **Ready to use.** JSON, CSV or Excel, the Apify API, n8n, Make, Zapier, or as an MCP tool for AI agents.

### How to use it in 3 steps

1. Click **Try for free**; the form opens with a ready example in **Places**.
2. Optional: change the other fields; every one has a description and a sensible default.
3. Click **Start** and download the results as JSON, CSV or Excel, or read them from the API.

### FAQ

**Do I need an Eventbrite account or API key?** No. The Actor reads Eventbrite's public pages, like a visitor.

**Can I get more than 1,000 events?** Eventbrite shows at most 1,000 events for one search. Split by date window (From date / To date), by keyword or by category.

**Does it give attendee lists or organizer emails?** No. Only what Eventbrite shows publicly: organizer website and social links. Attendee data is private.

**Can I call it from code?** Yes: Apify API, Python and JavaScript clients, Make, Zapier, n8n, or as an MCP tool.

# Actor input Schema

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

Cities to search: 'Montreal, Canada', 'New York, NY, USA', 'Paris', or 'online' for online events. One search per place (and per keyword).

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

Optional search words (networking, AI, marketing, yoga...). Leave empty to get every event of the place or category.

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

Optional Eventbrite category, used when no keyword is given.

## `date` (type: `string`):

Eventbrite's own date filter.

## `startDate` (type: `string`):

Optional, YYYY-MM-DD. Use with 'To date' for a custom window (split long windows to get more than 1,000 events).

## `endDate` (type: `string`):

Optional, YYYY-MM-DD.

## `freeOnly` (type: `boolean`):

Only events with free tickets.

## `searchUrls` (type: `array`):

Optional. Paste search links from eventbrite.com (or .ca, .co.uk...) starting with /d/, with any filters you set on the site.

## `maxEventsPerSearch` (type: `integer`):

Eventbrite shows at most 1,000 events for one search.

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

Ticket price range, free / sold-out / on-sale status, and the organizer's name, followers, website, Facebook and X. Included in the price.

## `includeOrganizerProfile` (type: `boolean`):

Also read each organizer's page: total events hosted, attendees hosted, years on Eventbrite, upcoming events, all social links. Included in the price; a bit slower.

## `onlyNewEvents` (type: `boolean`):

For scheduled runs: skip events delivered by earlier runs with the same monitor ID.

## `monitorId` (type: `string`):

Optional name that keeps the 'Only new events' history apart for each of your schedules.

## `maxTotalChargeUsd` (type: `number`):

The run delivers no more events than this amount pays for.

## Actor input object example

```json
{
  "locations": [
    "Montreal, Canada"
  ],
  "keywords": [
    "networking"
  ],
  "date": "any",
  "freeOnly": false,
  "maxEventsPerSearch": 100,
  "includeDetails": true,
  "includeOrganizerProfile": false,
  "onlyNewEvents": false
}
```

# Actor output Schema

## `report` (type: `string`):

A visual summary of delivery, charges, changes, and source issues.

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

Business-ready results in a sortable table. No JSON knowledge required.

## `csv` (type: `string`):

Results ready for spreadsheets, CRMs, and analytics tools.

## `excel` (type: `string`):

Results as an Excel workbook for non-technical teams.

## `runSummary` (type: `string`):

Machine-readable delivery, billing, and source diagnostics.

# 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": [
        "Montreal, Canada"
    ],
    "keywords": [
        "networking"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("om_kh/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 = {
    "locations": ["Montreal, Canada"],
    "keywords": ["networking"],
}

# Run the Actor and wait for it to finish
run = client.actor("om_kh/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 '{
  "locations": [
    "Montreal, Canada"
  ],
  "keywords": [
    "networking"
  ]
}' |
apify call om_kh/eventbrite-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,om_kh/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/XP3BpW8rOJRW8bfzT/builds/pgs6ejbdsz5s0Cj4c/openapi.json
