Skip to main content
Glama
subimpact

subimpact-data-mcp

Official

eventbrite_events

Extract detailed event listings from Eventbrite. Search by location, category, or keywords to discover venues and organizer information for events.

Instructions

Eventbrite Scraper

Scrape Eventbrite events with venue + organizer data by default. $0.002/event, usage paid by buyer. Search by city/query/category, URL mode, organizer mode, dryRun.

Pricing (pay per event, billed to your Apify account): Event: $0.002; platform usage billed to your account.

Runs on Apify as subimpact/eventbrite-scraper.

Input Schema

NameRequiredDescriptionDefault
cityNoTheir city slug or name, e.g. 'kuala-lumpur' or 'Kuala Lumpur'. Used as a single place when places is empty. Has no effect when places is set.
sortNodate = by start date (default); distance = by distance from place center (requires radius).date
priceNofree = free events only; paid = paid events only; blank or omitted for both. Empty strings from aitorsm inputs are ignored.
queryNoFree-text search term (e.g. 'tech', 'yoga'). Optional — omit for all events in the place.
dryRunNoCount only, no charge. Still bills platform usage.
placesNoONE city name (e.g. 'London') or raw place ID. v1 supports a single place. When set, radius is required (default 50 km).
radiusNoSearch radius in km. REQUIRED when places is set. Default 50, max 50.
countryNoFilters place resolution by country (e.g. 'United States'). Accepts aitorsm's lower-case slug ('malaysia', 'united-kingdom'). No-op without places.
endDateNoISO date (YYYY-MM-DD). Optional; defaults to +1 year from startDate.
keywordNoTheir keyword field. It is used as our query only when category is 'custom'; with a standard or blank category it is ignored, exactly like their actor. Has no effect when query is set.
categoryNoEventbrite category. Accepts our ID labels (e.g. '103: Music'), aitorsm's display labels (e.g. 'Music') or 'custom' (keyword search). Optional; blank is ignored. IDs verified against observed EventbriteCategory/* tags in probe fixtures (Probe-8/9/12).
_maxItemsNoHow many dataset items to return to the model (1-1000, default 50). Truncates the response only; it does not change what the Actor collects or charges for.
eventUrlsNoList of Eventbrite event URLs to scrape directly. Series URLs return a parent stub (not charged).
maxEventsNoMaximum number of events to process (counts processed rows incl. duplicates). Default 1000 (above measured depth ~892 for London r50). Cap 10000.
startDateNoISO date (YYYY-MM-DD). Optional; defaults to today.
maxResultsNoTheir maxResults field. Maps to maxEvents when maxEvents is absent or still at its default of 1000. Has no effect on an explicit non-default maxEvents.
onlineOnlyNoPost-filter for online events. Mutually exclusive with places (place-scoped search returns no online events).
organizerIdNoScrape all events by this organizer (e.g. '120990958363').
_maxChargeUsdNoPer-run spending cap in USD (default 0.5). Passed to Apify as the run option maxTotalChargeUsd, so the run stops when it reaches this charge.
includeDetailsNoFetch full event details (venue address, organizer, description, status). Default true.
enrichOrganizersNoTheir organizer-enrichment switch. false means no extra organizer calls. Our actor already includes organizer name/url/website/facebook/twitter from event details; true does not add their quality signals or extra social links.
enrichDestinationNoAdd ticket price range, sales status/window, saved flags, public collections and image renditions per event (one extra lightweight API call per event). On by default.
maxTotalChargeUsdNoBill-shock guard: stop charging once total charges reach this amount. Default 20.01 (just above 10,000 events at $0.002 — avoids the floating-point knife edge where a full-size run stops one batch early).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the most consequential trait for a paid scraper: pay-per-event pricing ($0.002/event), that platform usage is billed separately to the buyer's Apify account, and that the tool runs as an Apify actor. It omits auth/token prerequisites, failure behavior on bad place IDs, and runtime characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the mode list, then pricing, then execution context — a sensible ordering. It loses a point for restating the $0.002/event cost twice in adjacent sentences, which is redundant rather than harmful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 23-parameter tool with no annotations and no output schema, the description covers what the tool does, the main usage modes, and the cost model, and it hints at return content ('venue + organizer data by default'). What it lacks is any statement about the response shape or that results are truncated by _maxItems; given the exhaustive schema, this gap is modest rather than crippling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds a mode taxonomy (location search vs URL mode vs organizer mode vs dryRun) that groups the 23 flat parameters into mutually exclusive operating shapes — a distinction not obvious from the schema alone. Individual parameter semantics are left entirely to the thorough schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Scrape Eventbrite events') and enumerates the operating modes (city/query/category search, URL mode, organizer mode, dryRun), which lets an agent tell it apart from the sibling scrapers (tiktok_hashtag, lazada_products, pinterest). It never names a sibling alternative explicitly, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The mode list ('Search by city/query/category, URL mode, organizer mode, dryRun') implicitly tells the agent which parameter family to reach for based on intent. It stops short of stating when not to use it or where the modes conflict (e.g. onlineOnly vs places, places requires radius), leaving that to the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.