# Eventbrite Turbo (`discerning_kickstand/eventbrite-turbo-scraper`) Actor

Eventbrite API alternative for calendars, tourism feeds, and organiser lists. Scrapes public /d/ hubs and /e/ event pages worldwide: ISO times, venue, geo, organiser, and ticket prices. Works worldwide. Same columns as Humanitix Turbo. Pay per event from $4 / 1,000. x402 / Skyfire ready.

- **URL**: https://apify.com/discerning\_kickstand/eventbrite-turbo-scraper.md
- **Developed by:** [Spielraum](https://apify.com/discerning_kickstand) (community)
- **Categories:** Lead generation, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $4.00 / 1,000 event results

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?

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 Turbo** is a fast, complete [Eventbrite](https://www.eventbrite.com) event scraper for the Apify platform — a practical **Eventbrite API alternative** when you need structured rows from public `/d/` listings and `/e/` event pages. It writes the same professional schema as [Humanitix Turbo](https://apify.com/discerning_kickstand/humanitix-turbo-scraper): ISO times, venue, geo, organiser, and ticket price.

Use it from the Apify Console, via API, or from an agent with x402 / Skyfire. The first 25 events on a Console try-it cost about **$0.13** on the Free plan. Apify’s new-account credit (about $5) covers a 1,000-event job at Free-plan rates.

### What does Eventbrite Turbo do?

Eventbrite Turbo reads Eventbrite **discovery hubs** (`/d/city/...`) and **event pages** (`/e/...`). Listing pages are blocked from datacentre IPs, so **residential proxy is the default**. Each row includes title, times, venue, attendance mode, category, and coordinates when Eventbrite publishes them.

It works **worldwide**. Melbourne and London are prefilled so you can see AU and UK in one run. There is no Victoria-only or Australia-only skip. `rejectOnlineEvents` defaults to **false**.

Output is one row per occurrence, with ISO 8601 timestamps and ISO-2 country codes.

### Why use Eventbrite Turbo?

- **Complete event pages** — not listing-card stubs. Latitude, longitude, attendance mode, category, and Eventbrite event id are included when present.
- **Predictable cost** — **from $4.00 / 1,000 results** on Gold (Free plan **$5.00 / 1,000**). No $20/month rental. No extra fee per `/d/` page.
- **Guided input** — set a city, country, keyword, or date range (`this-weekend`) when you do not want to hand-build URLs. Start URLs still win if you set them.
- **Agent-ready** — pay-per-event, limited permissions, no Standby, so agents can pay with x402 / Skyfire.
- **Same columns as Humanitix Turbo** — merge inventories without a second mapper.

Typical uses: local event calendars, tourism and destination feeds, lead generation from organisers, and monitoring competitor programming.

### How to scrape Eventbrite events

1. Open **Eventbrite Turbo** and click **Start**.
2. Keep the Melbourne + London + sample `/e/` URLs, or paste your own `/d/` and `/e/` links.
3. Or leave Start URLs empty and set **Location** (`London`) plus **Country** (`GB`).
4. Cap **Max events** (default 25) and **Max list pages** (default 5).
5. Run and download JSON, CSV, or Excel.

```json
{
  "startUrls": [
    { "url": "https://www.eventbrite.com.au/d/australia--melbourne/all-events/" }
  ],
  "maxItems": 25,
  "maxListPagesPerStartUrl": 5
}
```

### Input

- **Start URLs** — `/d/` hubs or `/e/` events. Wins over helpers when non-empty.
- **Location, city, country, keyword, dateRange** — build a discovery URL (`today`, `tomorrow`, `this-weekend`, `this-week`, `this-month`).
- **Max events** — hard row cap (default 25).
- **Max list pages per start URL** — default 5, hard ceiling 50. Keep this modest: residential bandwidth is absorbed into the per-result price.
- **Reject online events** — optional; off by default.
- **Proxy** — residential Apify Proxy by default. Do not switch to datacentre for `/d/` pages unless you know they load.

### Output

One row per occurrence. Download JSON, HTML, CSV, or Excel.

```json
{
  "source": "Eventbrite",
  "sourceEventId": "1996428450237",
  "title": "Know Your Rights at Work",
  "eventUrl": "https://www.eventbrite.com.au/e/know-your-rights-at-work-tickets-1996428450237",
  "startAt": "2026-08-17T17:00:00.000+10:00",
  "endAt": "2026-08-17T20:00:00.000+10:00",
  "timezone": "Australia/Melbourne",
  "venueName": "The Lounge International Students Centre",
  "city": "Geelong",
  "country": "AU",
  "latitude": -38.148,
  "longitude": 144.361,
  "isOnline": false,
  "isFree": true,
  "priceDisplay": "Free",
  "organiserName": "The Lounge, International Student Centre"
}
```

#### Data fields

| Field | Meaning |
| --- | --- |
| `source` | Always `Eventbrite` |
| `sourceEventId` | Eventbrite numeric id |
| `title`, `eventUrl`, `ticketUrl`, `imageUrl` | Identity |
| `startAt`, `endAt`, `timezone` | When (ISO 8601) |
| `venueName`, `streetAddress`, `city`, `state`, `postalCode`, `country` | Where |
| `latitude`, `longitude` | From the event page when published |
| `isOnline`, `attendanceMode` | Online / in-person / mixed |
| `organiserName`, `organiserUrl` | Organiser |
| `currency`, `priceMin`, `priceMax`, `priceDisplay`, `isFree` | Tickets |
| `description`, `category`, `tags` | Content (`category` is always a shared topic such as Music or Community) |
| `listedFromUrl`, `extractedAt` | Provenance |

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

Pay per event only. Store badge **from $4.00 / 1,000** (Gold). Free plan **$5.00 / 1,000**. Actor start stays at Apify’s default **$0.00005 per GB**. Platform usage is included in the event price — users are not billed compute or proxy on top.

| Events (Free plan) | Approx. cost |
| --- | --- |
| 25 (default try-it) | $0.13 |
| 100 | $0.50 |
| 1,000 | $5.00 |

There is no extra charge per listing page. Residential proxy cost is covered by keeping list-page caps low and charging on results. Set `maxTotalChargeUsd` (default $5) if you want a hard run cap. The minimum max cost per run is **$0.05**.

### Tips

- If a `/d/` page returns 403/405, you are almost certainly off residential proxy.
- Raise `maxListPagesPerStartUrl` only after a successful 25-event sample.
- Combine with [Humanitix Turbo](https://apify.com/discerning_kickstand/humanitix-turbo-scraper) for a two-platform calendar.

### FAQ

**Is this the official Eventbrite API?** No. It reads public Eventbrite pages. Respect Eventbrite terms and applicable law.

**Why residential proxy?** Eventbrite discovery pages are blocked from typical datacentre IPs. Event pages may still load; listings usually will not.

**Can agents pay with x402 / Skyfire?** Yes. Limited permissions and no Standby, so agents can pay with x402 or Skyfire.

**How do I report a bad parse?** Use the actor **Issues** tab.

This actor extracts publicly visible event information. You are responsible for lawful use of the dataset.

# Actor input Schema

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

Eventbrite discovery (/d/) or event (/e/) URLs. When set, this list wins over location / keyword helpers.

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

City or place used to build a /d/ discovery URL when Start URLs are empty (for example Melbourne or London).

## `city` (type: `string`):

Optional city for discovery URLs and as a post-extract filter.

## `country` (type: `string`):

Optional ISO-2 or name (AU, GB, United Kingdom). Builds the matching Eventbrite host and filters rows.

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

Optional search term added to the discovery URL when Start URLs are empty.

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

Optional Eventbrite range segment: today, tomorrow, this-weekend, this-week, this-month.

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

Hard cap on dataset rows. Default 25 keeps a Console try-it around $0.13 on the Free plan.

## `maxRequestsPerCrawl` (type: `integer`):

Maximum total page requests (0 = unlimited).

## `maxConcurrency` (type: `integer`):

How many pages to process in parallel.

## `maxListPagesPerStartUrl` (type: `integer`):

How many Eventbrite discovery pages (?page=N) to follow per hub URL. Capped at 50. Default 5 keeps residential proxy cost in the per-result price.

## `includePastEvents` (type: `boolean`):

When true, events whose end time has already passed are included.

## `rejectOnlineEvents` (type: `boolean`):

When true, online-only events are dropped. Default is false.

## `defaultDurationHours` (type: `number`):

Assumed duration when no end time can be found.

## `defaultTimeZone` (type: `string`):

IANA time zone when the event does not publish one.

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

Eventbrite listing pages are blocked from datacentre IPs. Residential is the default.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.eventbrite.com.au/d/australia--melbourne/all-events/"
    },
    {
      "url": "https://www.eventbrite.com/d/united-kingdom--london/all-events/"
    },
    {
      "url": "https://www.eventbrite.com.au/e/know-your-rights-at-work-tickets-1996428450237"
    }
  ],
  "maxItems": 25,
  "maxRequestsPerCrawl": 80,
  "maxConcurrency": 20,
  "maxListPagesPerStartUrl": 5,
  "includePastEvents": false,
  "rejectOnlineEvents": false,
  "defaultDurationHours": 2,
  "defaultTimeZone": "Australia/Melbourne",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Dataset of scraped event rows (one row per occurrence).

# 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": [
        {
            "url": "https://www.eventbrite.com.au/d/australia--melbourne/all-events/"
        },
        {
            "url": "https://www.eventbrite.com/d/united-kingdom--london/all-events/"
        },
        {
            "url": "https://www.eventbrite.com.au/e/know-your-rights-at-work-tickets-1996428450237"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("discerning_kickstand/eventbrite-turbo-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": [
        { "url": "https://www.eventbrite.com.au/d/australia--melbourne/all-events/" },
        { "url": "https://www.eventbrite.com/d/united-kingdom--london/all-events/" },
        { "url": "https://www.eventbrite.com.au/e/know-your-rights-at-work-tickets-1996428450237" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("discerning_kickstand/eventbrite-turbo-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": [
    {
      "url": "https://www.eventbrite.com.au/d/australia--melbourne/all-events/"
    },
    {
      "url": "https://www.eventbrite.com/d/united-kingdom--london/all-events/"
    },
    {
      "url": "https://www.eventbrite.com.au/e/know-your-rights-at-work-tickets-1996428450237"
    }
  ]
}' |
apify call discerning_kickstand/eventbrite-turbo-scraper --silent --output-dataset

```

## MCP server setup

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