Event Scraper Pro
Pricing
Pay per event
Event Scraper Pro
Aggregate upcoming events from Meetup, Lu.ma and Eventbrite into one deduplicated dataset: title, date, venue, address, coordinates, category, image and links. Meetup and Lu.ma rows add RSVP counts and organizer details. Every run reports exactly which searches completed.
Pricing
Pay per event
Rating
4.0
(5)
Developer
WebDataLabs
Maintained by CommunityActor stats
6
Bookmarked
156
Total users
16
Monthly active users
4 days ago
Last modified
Categories
Share
Event Scraper Pro — Meetup, Lu.ma & Eventbrite in one dataset
Search Meetup, Lu.ma, and Eventbrite for upcoming events in the cities and topics you care about, and get one clean, unified, deduplicated dataset — with RSVP/guest counts, organizer info, venue + geo, dates, and ticket status.
Every column in the output is a column at least one platform actually publishes — see the capability matrix for exactly which.
Built for event discovery, lead generation, community outreach, and market research.
What you get
One row per event, normalized across all three platforms:
{"platform": "meetup","title": "#37 AI Series: Stanford University — S. Sanborn","startsAt": "2026-07-15T17:00:00.000Z","timezone": "Europe/Berlin","isOnline": false,"venueName": "C130, Institut für Chemie, Technische Universität Berlin","address": "Chemiegebäude, Str. des 17. Juni 115, 10623 Berlin","city": "Berlin","country": "DE","latitude": null,"longitude": null,"rsvpCount": 196,"capacity": 250,"organizerName": "BLISS AI Speaker Series 2026","organizerUrl": "https://www.meetup.com/bliss-speaker-series","ticketStatus": "free","currency": null,"priceMin": null,"topics": ["Ai", "Machine Learning"],"category": "AI","coverImageUrl": "https://secure.meetupstatic.com/photos/event/...","eventUrl": "https://www.meetup.com/.../events/12345"}
(This event is free, so priceMin/currency are null and ticketStatus is "free" — we never write a fake 0. Meetup publishes a street address but no coordinates, hence latitude/longitude are null. See the matrix below.)
Honest capability matrix
We only fill a field when the source actually exposes it. A ❌ below means null by design, not a scraper bug — so you can trust every non-null value. There is no field on this Actor that is null for everybody: anything no platform publishes has been removed from the schema rather than shipped as a permanently empty column.
| Field | Meetup | Lu.ma | Eventbrite |
|---|---|---|---|
| Title, date, URL, cover image | ✅ | ✅ | ✅ |
| Venue name + street address | ✅ | ❌ (hidden until you register) | ✅ |
| Latitude / longitude | ❌ (address only) | ✅ | ✅ |
| City / country | ✅ | ✅ | ✅ |
| End time | ❌ (start only) | ✅ | ✅ |
| RSVP / guest count | ✅ | ✅ | ❌ (not public) |
| Organizer name | ✅ | ✅ | ❌ (search exposes only an id) |
| Organizer page link | ✅ | ✅ | ✅ |
| Capacity | ✅ (when capped) | ❌ (never set in listing) | ❌ (not in search) |
| Ticket price / currency | ✅ (when paid) | ✅ (when paid) | ❌ (not in search) |
| Ticket status (free / paid / sold out) | ✅ | ✅ | ❌ (reported as unknown) |
| Description text | ✅ | ❌ (not in listing) | ✅ |
Free events have no price, and we say so. priceMin and currency are null for free events — never 0, which would be indistinguishable from a genuinely free ticket. Use ticketStatus as the free/paid flag: free, on_sale, sold_out, or unknown. Likewise capacity is null when the organizer set no attendee limit, and rsvpCount of 0 means zero sign-ups so far — a real number, not a gap.
Why Eventbrite is thinner: we re-verified Eventbrite's public search end to end (its embedded search JSON, the page's JSON-LD, and the rendered result cards). It returns no RSVP counts, no organizer names, no ticket prices and no capacity — no scraper can extract what the source doesn't serve. You still get title, venue, geo + coordinates, category, description summary, links, and a working organizer page link built from the organizer id the search does return. Add Meetup/Lu.ma to the same run for the audience, organizer-name and pricing signals.
Eventbrite runs a browser + residential: Eventbrite's public search renders in a real browser and is reliable only over a residential proxy, so the Actor automatically routes only Eventbrite through residential (Meetup and Lu.ma stay on fast, cheap HTTP). All three are on by default; a full run finishes well under 5 minutes. Eventbrite is a bit slower and uses residential bandwidth — deselect it in Platforms for the fastest, cheapest runs.
How it works & reliability
- Meetup & Lu.ma are HTTP — both serve their data as JSON/SSR, so the default run needs no browser and is fast and cheap. Eventbrite (optional) renders in a headless browser over a residential proxy for reliable access.
- Deduplication before billing — exact + fuzzy cross-platform matching removes duplicates before any event is written or charged. You never pay for a duplicate.
- Honest run status — every run writes an
OUTPUTrecord to the Key-Value Store with a per-platform status (ok/empty/blocked). The run only fails loudly if every selected platform is blocked, or if it ran out of time before finding anything; a platform that reached its source but found no matches is a valid empty result, not a failure. - Honest coverage, never a silent partial — each platform runs one search per keyword x city. If a run stops before searching all of them, the run says so in its status message and in
OUTPUT, listing exactly which keywords/cities were never searched (requestsPlanned,requestsCompleted,truncationReason,notSearched). A run is never reported as complete when it is not. - "Max results per platform" is a hard cap — the run stops the moment it is reached, so you are never charged past the limit you set. Because each Eventbrite search returns ~20 events, a cap of 50 is met after ~3 searches: raise the cap if you want broad keyword/city coverage, lower it to keep runs small.
- Proxy — Apify Datacenter by default for Meetup/Lu.ma; Eventbrite always uses residential automatically. Switch the whole run to Residential only if Meetup/Lu.ma start blocking.
Input
| Field | Description |
|---|---|
| Keywords (required) | Topics to match, e.g. ["ai", "startup"] |
| Cities (required) | e.g. ["Berlin", "Munich"] |
| Country | Country the cities are in (builds the correct URLs) |
| Platforms | Any of Meetup / Lu.ma / Eventbrite |
| Date From / To | YYYY-MM-DD; defaults to today → +1 month |
| Max results per platform | Hard cap per platform (default 50). The run stops when it is hit — see the coverage note above |
| Filters | Online-only, min attendees, free/paid |
| Output | .ics calendar, webhook (n8n/Zapier/Make), incremental "only new events" |
Common use cases
- Lead gen: find Meetup/Lu.ma organizers running well-attended events in your niche (sort by
rsvpCount, useorganizerName+organizerUrl). Eventbrite rows carry anorganizerUrltoo, so you can still reach the organizer's page there. - Market research: track how many and what kind of events run in a city/topic over time.
- Community/newsletter curation: pull upcoming events, export the
.ics, or push to n8n via webhook.
Notes & limits
- City scope follows each platform's own geo-scoping. Results include the whole metro area (a "New York" search returns Brooklyn, Queens, etc.). For a US state that shares its name with its main city (e.g. New York), Eventbrite scopes to the state, so some far-flung events may appear — filter by
latitude/longitudedownstream if you need a tight radius. - Lu.ma is city-centric — coverage is strongest in cities with an active Lu.ma scene; a sparse city can legitimately return few or zero Lu.ma events.
- Eventbrite has a 180-second budget. It is the only browser-based platform, and the budget is what keeps a full three-platform run comfortably under 5 minutes. Measured throughput is roughly 12-16 keyword x city searches (~150-250 events) per run — so if you queue, say, 11 keywords x 3 cities = 33 searches, Eventbrite will finish part of them and the run will tell you exactly which ones it skipped (
notSearchedinOUTPUT). Searches are interleaved across cities, so a partial run still reaches every city you asked for; which keywords make the cut is not guaranteed to follow your input order, so if you need specific keywords covered, run them in a smaller query. For complete Eventbrite coverage keep the combinations under ~12, or split the query across several runs. - Dates/timezones are normalized to ISO 8601 UTC (
startsAt), with the original IANAtimezonekept. - Scraped text is treated as untrusted and never executed; only publicly available data is collected.
- Compliance: This Actor is an independent tool and is not affiliated with or endorsed by Meetup, Lu.ma, or Eventbrite; all product names and trademarks belong to their respective owners. You are responsible for using the collected data in line with applicable laws and each platform's terms.