Events Scraper: Eventbrite, Meetup & Luma — No Login
Pricing
from $2.72 / 1,000 event scrapeds
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
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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.

Table of contents
- What it does
- Quick start
- Use cases
- Input
- Output
- Pricing and limits
- API, export and integrations
- Troubleshooting
- FAQ
- Support
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
- Open the Input tab. The form is prefilled with City
London, Country codeGB, keywordAIand 20 events. - Change City if you want. When you change the city, also change Country code (for example
Berlin+DE,Austin+US+ stateTX). - Click Start.
- Open the Output tab and choose the Events view. Click
urlto 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 job | Input path | Output entity | Key fields | Next integration |
|---|---|---|---|---|
| Weekly city event list | location, countryCode, dateFrom, dateTo | Event | title, startAt, venue, url | Google Sheets, newsletter |
| Topic events for outreach | keywords (for example ["AI","startup"]) | Event | title, organizer, url | CRM, spreadsheet |
| Online events only | location: Online, keywords | Event | title, startAt, timezone, url | Calendar, Slack |
| Free events for a community | location, countryCode, then filter isFree | Event | isFree, price, venue, url | Spreadsheet |
Input
Input fields
| Field | Plain name | Type | Required | Default / prefill | Allowed values | Effect |
|---|---|---|---|---|---|---|
location | City | string | no | default London, prefill London | city name in English, or Online | Where to search. Online searches online Eventbrite events only. |
countryCode | Country code | string | no | default empty, prefill GB | 2 letters, for example US, DE | Needed for Meetup. Also stops Eventbrite from picking a city with the same name in another country. |
stateCode | US state code | string | no | empty | 2 letters, for example TX | For US cities only. Helps Eventbrite and Meetup find the right city. |
keywords | Keywords | string array | no | default [], prefill ["AI"] | 0–5 words, up to 60 characters each | An event is kept if any keyword is a whole word in its title, description or category. Empty: all events. |
sources | Event sites | string array | no | all three | eventbrite, meetup, luma | Which sites to search. |
dateFrom | From date | string | no | empty | YYYY-MM-DD | Keep events that start on or after this date (event local time). |
dateTo | To date | string | no | empty | YYYY-MM-DD | Keep events that start on or before this date (event local time). |
online | Online or in person | boolean | no | empty | true, false or empty | true: online only. false: in person only. Empty: both. Hybrid events with unknown mode are kept only when empty. |
maxItems | Maximum events | integer | no | default 50, prefill 20 | 1–500 | Maximum 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
| When | Input A | Input B | Effective behavior |
|---|---|---|---|
| You change the city | location | countryCode | The country code must match the city. A wrong code gives LOCATION_NOT_RESOLVED. |
City is Online | location | sources | Only Eventbrite is searched; Meetup and Luma are skipped. |
| No country code | countryCode | sources | Meetup is skipped with COUNTRY_CODE_REQUIRED; other sites still run. |
| Several keywords | keywords | maxItems | Eventbrite 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
| Field | Meaning | Type | Can be empty? | Example |
|---|---|---|---|---|
source | Site where the event was found | string | no | eventbrite, meetup, luma |
eventId | Event ID on that site | string | no | 1993713935049 |
title | Event name | string | no | BookPeople Presents: Adam Grant - Vibe |
url | Public event page | string | no | https://www.eventbrite.com/e/... |
startAt | Start, local time with UTC offset | string | no | 2026-10-26T18:00:00-05:00 |
endAt | End, local time with UTC offset | string | yes | 2026-10-26T19:00:00-05:00 |
timezone | Time zone name | string | yes | America/Chicago |
venue | Place name | string | yes | AISD Performing Arts Center |
address | Street address | string | yes | 1500 Barbara Jordan Boulevard, ... |
city | City | string | yes | Austin |
country | Country code | string | yes | US |
online | Online event | boolean | yes | false; empty for hybrid events |
organizer | Organizer or group name (never a private person) | string | yes | BookPeople |
price | Lowest ticket price; 0 can be a free or donation ticket, see isFree | number | yes | 49.95 |
currency | Price currency | string | yes | USD |
isFree | Event is free | boolean | yes | false |
category | Category on the site | string | yes | Hobbies & Special Interest |
description | Short description, plain text, up to 5,000 characters | string | yes | BookPeople welcomes Adam Grant ... |
sourceUrl | Search page where the event was found | string | no | https://www.eventbrite.com/d/tx--austin/all-events/ |
fetchedAt | When it was read (UTC) | string | no | 2026-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
| Situation | Where to look | What you see | What to do |
|---|---|---|---|
| Normal run | Dataset (Events view) | One row per event | Export or open url |
| No matching events | Dataset empty; RUN_SUMMARY status not_found | 0 rows, run succeeded | Use fewer filters or other keywords |
| One site failed or skipped | RUN_SUMMARY → sources | Run status partial or per-site skipped with a reason | Use the rows you got; check the reason |
| City not found | Run failed, RUN_SUMMARY reason LOCATION_NOT_RESOLVED or LOCATION_NOT_FOUND | 0 rows | Check 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
| Scenario | Input scope | Saved events | FREE plan | GOLD plan |
|---|---|---|---|---|
| No matches | any | 0 | $0.006 | $0.006 |
| First run (prefill) | London, AI, 20 events | 20 | $0.070 | $0.0604 |
| City list | Paris, 2 keywords, 100 events | 100 | $0.326 | $0.278 |
| Large city, all events | Austin, 500 events | 500 | $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+eventIdbetween 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.