Eventbrite Events Scraper

live$0.003/eventSignal Detection

Last updated November 12, 2026

Eventbrite events by location and keyword, or by event URL: dates, venue with coordinates, category, organizer, and ticket price range. One flat row per event, Clay ready. No login, no key. Refused pages are free.

Features

  • One flat row per event, with dates, venue, and coordinates.
  • Organizer name, profile, and ticket price range from the event page.
  • Search by location and keyword, with a start date range.
  • Refused pages and missing events are free rows.
  • Pay per event: Event row with details at $0.003.

Input

locationsarrayoptional

Places to search, one per line: "City, Region" such as "Austin, TX" or "London, United Kingdom", an Eventbrite location slug such as ca--san-francisco, or online. A location Eventbrite does not know returns a free row.

keywordsarrayoptional

Search words, such as tech, startup, or yoga. Each keyword is searched in each location. Leave empty to list all events in a location.

event_urlsarrayoptional

Eventbrite event URLs or event IDs, on any Eventbrite domain. Each event page is read for its organizer and price.

start_date_fromstringoptional

Optional, YYYY-MM-DD. Search results that start earlier are skipped and not charged.

start_date_tostringoptional

Optional, YYYY-MM-DD. Search results that start later are skipped and not charged.

read_detailsstringoptional

true (default) or false. With true, each event page is read for the organizer name and the ticket price range, at the event row with details price. With false, rows come from search pages only, at the lower event row price, with no organizer name and no price.

max_eventsstringoptional

The most events to return in this run, across every search and URL, from 1 to 2,000. Default 50. Text or a number.

max_pages_per_searchstringoptional

Search pages read for each location and keyword pair, from 1 to 50. A page holds about 20 events. Default 5.

max_charge_usdstringoptional

Optional. The run stops before a charge that would pass this amount. Summary rows are always returned.

Output schema

json
{
  "row_type": "string",
  "input": "string",
  "search_location": "string",
  "search_keyword": "string",
  "search_page": "integer",
  "event_id": "string",
  "event_name": "string",
  "summary": "string",
  "event_url": "string",
  "start_date": "string",
  "start_time": "string",
  "end_date": "string",
  "end_time": "string",
  "start_datetime": "string",
  "end_datetime": "string",
  "timezone": "string",
  "is_online": "boolean",
  "is_cancelled": "boolean",
  "event_status": "string",
  "attendance_mode": "string",
  "venue_name": "string",
  "address": "string",
  "city": "string",
  "region": "string",
  "postal_code": "string",
  "country": "string",
  "latitude": "number",
  "longitude": "number",
  "category": "string",
  "subcategory": "string",
  "event_format": "string",
  "tags": "string",
  "organizer_id": "string",
  "organizer_name": "string",
  "organizer_url": "string",
  "organizer_description": "string",
  "price_low": "number",
  "price_high": "number",
  "currency": "string",
  "is_free": "boolean",
  "ticket_availability": "string",
  "sales_end": "string",
  "tickets_url": "string",
  "tickets_by": "string",
  "image_url": "string",
  "language": "string",
  "published_at": "string",
  "keyword_in_text": "boolean",
  "detail_read": "boolean",
  "attempts": "integer",
  "row_status": "string",
  "error_reason": "string",
  "billable_events_json": "string",
  "scraped_at": "string"
}

Pricing

$0.003per event
EventFree plan price
Event row with details$0.003
Event row$0.0015
Search$0.007
Actor Start$0.026

Pay per event on the Apify platform. Paid Apify plans pay less per event. No subscription, no seat license.

On the Apify free plan the actor stops at $1.50 of charges a month, about 500 events. Any paid Apify plan removes the cap.

Limits

  • A search page holds about 20 events. max_pages_per_search caps pages per location and keyword pair, 5 by default.
  • Search results are ordered by Eventbrite's relevance, not by date. The date filter is applied to the results read, so a narrow date range can return fewer events than max_events.
  • A date in the search address drops the keyword on Eventbrite's side, so dates are filtered by the actor, not by Eventbrite.
  • Eventbrite answers a keyword it has no events for with every event in the location. When no result on the first search page carries a word of the keyword in its name, summary, category, or tags, the actor returns one no_results row for that search, and the search is charged once. keyword_in_text marks each row; a row marked false matched on its description or is a looser match from Eventbrite.
  • Keyword words under 3 letters, such as "AI", are not checked.
  • Prices are the range shown on the event page, before Eventbrite's checkout fees. Events with hidden or invite only tickets have no price.
  • is_cancelled is often empty on search results. event_status from the event page is the better field.
  • Organizer email and phone are not returned. Eventbrite does not show them on public pages.
  • Refused pages are not retried. Rerun the inputs that came back blocked.

Available on