Events Scraper: Eventbrite, Meetup & Luma — No Login avatar

Events Scraper: Eventbrite, Meetup & Luma — No Login

Pricing

from $2.72 / 1,000 event scrapeds

Go to Apify Store
Events Scraper: Eventbrite, Meetup & Luma — No Login

Events Scraper: Eventbrite, Meetup & Luma — No Login

Scrape public events from Eventbrite, Meetup and Luma for any city or online. Filter by keyword and date. Get dates with time zones, venues, organizers, prices and event links. No login.

Pricing

from $2.72 / 1,000 event scrapeds

Rating

0.0

(0)

Developer

Cliqto Media

Cliqto Media

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get public events from Eventbrite, Meetup and Luma in one clean dataset. Type any city (or Online), add keywords and dates, and get event names, local start times, venues, organizers, prices and links. No login. A run with 20 events costs about $0.06–$0.07.

It is for event marketers, community managers, local media and sales teams who need fresh event lists. A first run with the prefilled form (London, keyword AI, 20 events) takes about 10–20 seconds.

Eventbrite, Meetup and Luma events scraper: an Austin search returns event cards with date, local time, venue, organizer and price from three sites

Table of contents

What it does

The Actor searches the public event pages of Eventbrite, Meetup and Luma for your city. It reads several result pages, keeps events that match your keywords, dates and online setting, removes duplicates and saves one row per event.

  • Eventbrite: any city in the world, or Online. Up to 25 result pages for each keyword. Prices and organizer names are added for matching events.
  • Meetup: any city when you give a country code. One search page for each keyword, usually 20–30 events.
  • Luma: about 85 large cities (for example London, New York, Berlin, Austin, São Paulo, Singapore). Other cities are skipped, not failed.

Start times are in the event's local time with the UTC offset (for example 2026-10-26T18:00:00-05:00), plus the time zone name.

Good fit

  • Build a weekly list of tech, music or business events in a city.
  • Find events to sponsor, speak at or write about.
  • Collect organizer names and event links for outreach research.

Not a fit / limits

  • It does not log in and does not collect attendee lists, guest emails or host contact details.
  • It is not a full archive of a city. Each site shows a limited number of search pages; results change from day to day.
  • Some fields are often empty on some sites (for example Meetup prices and venues, or Luma organizers). Empty means "not published", not "free".
  • You are responsible for using the data in line with each site's terms and the law in your country.

Quick start

  1. Open the Input tab. The form is prefilled with City London, Country code GB, keyword AI and 20 events.
  2. Change City if you want. When you change the city, also change Country code (for example Berlin + DE, Austin + US + state TX).
  3. Click Start.
  4. Open the Output tab and choose the Events view. Click url to open an event.

Expected result: 20 London AI events, each with a title, start time and link, and most with a venue, organizer and price. With only 20 events, most come from Eventbrite; set Maximum events higher to get more Meetup and Luma events too.

Use cases

Buyer jobInput pathOutput entityKey fieldsNext integration
Weekly city event listlocation, countryCode, dateFrom, dateToEventtitle, startAt, venue, urlGoogle Sheets, newsletter
Topic events for outreachkeywords (for example ["AI","startup"])Eventtitle, organizer, urlCRM, spreadsheet
Online events onlylocation: Online, keywordsEventtitle, startAt, timezone, urlCalendar, Slack
Free events for a communitylocation, countryCode, then filter isFreeEventisFree, price, venue, urlSpreadsheet

Input

Input fields

FieldPlain nameTypeRequiredDefault / prefillAllowed valuesEffect
locationCitystringnodefault London, prefill Londoncity name in English, or OnlineWhere to search. Online searches online Eventbrite events only.
countryCodeCountry codestringnodefault empty, prefill GB2 letters, for example US, DENeeded for Meetup. Also stops Eventbrite from picking a city with the same name in another country.
stateCodeUS state codestringnoempty2 letters, for example TXFor US cities only. Helps Eventbrite and Meetup find the right city.
keywordsKeywordsstring arraynodefault [], prefill ["AI"]0–5 words, up to 60 characters eachAn event is kept if any keyword is a whole word in its title, description or category. Empty: all events.
sourcesEvent sitesstring arraynoall threeeventbrite, meetup, lumaWhich sites to search.
dateFromFrom datestringnoemptyYYYY-MM-DDKeep events that start on or after this date (event local time).
dateToTo datestringnoemptyYYYY-MM-DDKeep events that start on or before this date (event local time).
onlineOnline or in personbooleannoemptytrue, false or emptytrue: online only. false: in person only. Empty: both. Hybrid events with unknown mode are kept only when empty.
maxItemsMaximum eventsintegernodefault 50, prefill 201–500Maximum events in the result across all sites. The run can return fewer.

An API call with empty input {} searches London on all three sites, with no keywords, up to 50 events. Without countryCode Meetup is skipped. Unknown input fields are rejected.

Interacting settings

WhenInput AInput BEffective behavior
You change the citylocationcountryCodeThe country code must match the city. A wrong code gives LOCATION_NOT_RESOLVED.
City is OnlinelocationsourcesOnly Eventbrite is searched; Meetup and Luma are skipped.
No country codecountryCodesourcesMeetup is skipped with COUNTRY_CODE_REQUIRED; other sites still run.
Several keywordskeywordsmaxItemsEventbrite and Meetup search each keyword; results are mixed and deduplicated.

Input examples

AI events in Berlin next month

{
"location": "Berlin",
"countryCode": "DE",
"keywords": ["AI", "startup"],
"dateFrom": "2026-11-01",
"dateTo": "2026-11-30",
"maxItems": 100
}

Expected behavior: searches the three sites for each keyword and keeps events in November. Expected output: events with title, startAt, venue, organizer, url.

All events in Austin, Texas

{
"location": "Austin",
"countryCode": "US",
"stateCode": "TX",
"maxItems": 500
}

Expected behavior: reads many result pages; in our test it returned 500 events (473 Eventbrite, 12 Meetup, 15 Luma) in about 2 minutes.

Output

Output fields

FieldMeaningTypeCan be empty?Example
sourceSite where the event was foundstringnoeventbrite, meetup, luma
eventIdEvent ID on that sitestringno1993713935049
titleEvent namestringnoBookPeople Presents: Adam Grant - Vibe
urlPublic event pagestringnohttps://www.eventbrite.com/e/...
startAtStart, local time with UTC offsetstringno2026-10-26T18:00:00-05:00
endAtEnd, local time with UTC offsetstringyes2026-10-26T19:00:00-05:00
timezoneTime zone namestringyesAmerica/Chicago
venuePlace namestringyesAISD Performing Arts Center
addressStreet addressstringyes1500 Barbara Jordan Boulevard, ...
cityCitystringyesAustin
countryCountry codestringyesUS
onlineOnline eventbooleanyesfalse; empty for hybrid events
organizerOrganizer or group name (never a private person)stringyesBookPeople
priceLowest ticket price; 0 can be a free or donation ticket, see isFreenumberyes49.95
currencyPrice currencystringyesUSD
isFreeEvent is freebooleanyesfalse
categoryCategory on the sitestringyesHobbies & Special Interest
descriptionShort description, plain text, up to 5,000 charactersstringyesBookPeople welcomes Adam Grant ...
sourceUrlSearch page where the event was foundstringnohttps://www.eventbrite.com/d/tx--austin/all-events/
fetchedAtWhen it was read (UTC)stringno2026-10-14T15:03:29.735Z

In our 500-event Austin test: start time and time zone 100% filled, venue, address and organizer 99%, price 97%, no duplicates.

Output entities and surfaces

SituationWhere to lookWhat you seeWhat to do
Normal runDataset (Events view)One row per eventExport or open url
No matching eventsDataset empty; RUN_SUMMARY status not_found0 rows, run succeededUse fewer filters or other keywords
One site failed or skippedRUN_SUMMARY → sourcesRun status partial or per-site skipped with a reasonUse the rows you got; check the reason
City not foundRun failed, RUN_SUMMARY reason LOCATION_NOT_RESOLVED or LOCATION_NOT_FOUND0 rowsCheck city spelling and country code

The status message shows a short result, for example complete: 20 events — eventbrite 19 (MAX_ITEMS), meetup 1 (MAX_ITEMS), luma 0 (MAX_ITEMS). MAX_ITEMS means the limit was reached.

Output example

{
"source": "eventbrite",
"eventId": "1993713935049",
"title": "BookPeople Presents: Adam Grant - Vibe",
"url": "https://www.eventbrite.com/e/bookpeople-presents-adam-grant-vibe-tickets-1993713935049",
"startAt": "2026-10-26T18:00:00-05:00",
"endAt": "2026-10-26T19:00:00-05:00",
"timezone": "America/Chicago",
"venue": "AISD Performing Arts Center",
"address": "1500 Barbara Jordan Boulevard, Austin, TX 78723",
"city": "Austin",
"country": "US",
"online": false,
"organizer": "BookPeople",
"price": 49.95,
"currency": "USD",
"isFree": false,
"category": "Hobbies & Special Interest",
"description": "BookPeople welcomes Adam Grant in conversation with Matthew McConaughey to celebrate the release of Vibe.",
"sourceUrl": "https://www.eventbrite.com/d/tx--austin/all-events/",
"fetchedAt": "2026-10-14T15:03:29.735Z"
}

This is one real row from the Austin example (description shortened). null means the site did not publish that value.

Pricing and limits

Pricing unit

The Actor uses pay per event pricing:

  • Actor start: $0.006 once per run (256 MB memory).
  • Event scraped: one charge per saved event. FREE plan $0.0032, BRONZE $0.00304, SILVER $0.00288, GOLD and higher $0.00272.

A run with no matching events pays only the start fee. A run that fails (wrong input or a city that is not found) also pays the start fee. Events that are not saved are not charged. If you set a maximum cost per run, the Actor stops when it is reached and keeps the saved events (status partial, reason CHARGE_LIMIT).

Cost examples

ScenarioInput scopeSaved eventsFREE planGOLD plan
No matchesany0$0.006$0.006
First run (prefill)London, AI, 20 events20$0.070$0.0604
City listParis, 2 keywords, 100 events100$0.326$0.278
Large city, all eventsAustin, 500 events500$1.606$1.366

Limits

  • Up to 500 events per run. A run usually takes 10 seconds to 2 minutes and stops by itself after about 4 minutes.
  • Smaller cities and narrow keywords return fewer events. The Actor stops a search when new pages bring no matching events.
  • The sites can change their pages or limit requests. A failed site does not stop the other sites.

API, export and integrations

  • API: start the Actor with the Apify API or the JavaScript / Python client and read the default dataset.
  • Export: download the dataset as JSON, CSV, Excel, XML or HTML.
  • Scheduling: use Apify schedules to run it every week. Each run is a fresh search; compare source + eventId between runs to find new events.
  • No-code: send results to Google Sheets, Slack or Zapier with Apify integrations.

Use with AI agents (MCP)

  • MCP server URL with only this Actor: https://mcp.apify.com?tools=cliqtomedia/events-aggregator.
  • Smallest useful input: {"location":"London","countryCode":"GB","keywords":["AI"],"maxItems":20}.
  • Key output fields: title (event name), startAt (local start time with offset), venue (place), url (event page), source (site).
  • A 20-event run takes about 10–20 seconds and costs $0.06–$0.07. Maximum 500 events per run.

Troubleshooting

The dataset is empty

Symptom: run succeeded, status not_found. Likely reason: no event matched all filters. Action: remove dates or the online filter, use fewer or broader keywords, or leave keywords empty.

Wrong city or LOCATION_NOT_RESOLVED

Symptom: the run failed, or one site shows LOCATION_NOT_RESOLVED. Likely reason: the country code does not match the city, or the site found a different city with this name. Action: check the spelling in English and set the right Country code (and US state code for US cities).

A site shows skipped

Symptom: RUN_SUMMARY → sources shows skipped for one site. Likely reason: LOCATION_NOT_SUPPORTED (Luma does not cover this city, or Meetup/Luma with Online) or COUNTRY_CODE_REQUIRED (Meetup without a country code). Action: this is normal; the other sites still give results. Add a country code for Meetup.

Status partial with SOURCE_ERROR

Symptom: some events saved, one site shows error with a reason like SOURCE_RATE_LIMITED or SOURCE_BLOCKED. Likely reason: the site was busy or limited requests. Action: use the saved events, or run again later.

FAQ

Do I need an Eventbrite, Meetup or Luma account?

No. The Actor reads public pages only. It does not need a login, cookies or an API key.

Does it collect personal data?

No attendee lists or guest emails. For Luma, personal hosts are not saved; only a group or calendar name is shown as organizer.

Why do I get fewer events than maxItems?

The sites show a limited number of results for a city and keyword, and some events do not match your filters. maxItems is a limit, not a promise.

Why are some prices empty?

Meetup and Luma often do not publish prices on search pages. Empty means unknown, not free. Check isFree and the event page.

How fresh are the results?

Every run reads the sites live. fetchedAt shows when each event was read.

Support

For questions, bugs or feature requests, open the Issues tab on this Actor page. Include the run ID, your input (without private data) and the reason code from RUN_SUMMARY. Never share API tokens or passwords.