Meetup Events Scraper — Whole City, Groups, Past RSVPs
Pricing
from $0.70 / 1,000 events
Meetup Events Scraper — Whole City, Groups, Past RSVPs
Every public Meetup event in a city, not just the first page of a keyword search: date, venue and coordinates, RSVP and waitlist counts, fee, host and group. Plus group profiles with member counts and past events with the attendance each one drew.
Pricing
from $0.70 / 1,000 events
Rating
0.0
(0)
Developer
Chorelet
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Every public event on Meetup.com for a city — not the first page of a keyword search. Leave the keywords empty and the Actor sweeps the city's whole feed: hundreds of events with date, venue and coordinates, RSVP and waitlist counts, fee, host and the group behind them, as JSON, CSV or Excel, or through the API.
It reads Meetup's own public GraphQL endpoint, the one the website calls in your browser. No account, no API key, no cookies. Two more modes come with it: group profiles for a city (members, founded date, organiser, rating) and the past events of a group with the attendance each one actually drew — the honest way to tell a living community from a dormant one.
Attendance is reported as counts only. Meetup's API will hand out the names of everyone who RSVP'd; this Actor never collects them.
Why this Actor
- The whole city, not the first 50 search hits. Meetup's keyword search caps out quickly; this Actor sweeps a city with no keyword at all and can widen the sweep across all 20 topic categories — 924 Berlin events in one run during testing.
- Past events with attendance. A group's entire history with the number of people who went, back to the first meetup. That is how you tell a living community from a dormant one — no other Meetup Actor offers it.
- Three modes, one schema. Events, group profiles and group history share the same fields, so a city scan and a community audit land in the same spreadsheet.
- Counts only, never people. The API happily returns named attendees; this Actor refuses to emit them and checks every row before it is saved.
Sample output
One item of the dataset (long values shortened):
{"title": "English stand-up: Sunday Comedy Party","startsAt": "2026-09-27T19:30:00+02:00","groupName": "East-West Comedy Berlin","venueCity": "Berlin","goingCount": 17,"isOnline": false,"isFree": true,"eventUrl": "https://www.meetup.com/berlinexpatevents/events/316460607/"}
What you get
- The whole city, not 30 hits. Keyword search on Meetup runs out at 30–70 events per city and stops; the keyword-free sweep returns hundreds — 518 upcoming Berlin events in one pass, 924 with the topic-category widening on
- RSVP count, waitlist count, RSVP cap and spots left on every event — demand, not just a listing
- Venue name, street address, city, country and coordinates; online events are flagged instead of being given a fake location
- The group behind every event: name, urlname, member count, topic category, link
groupsmode: the city's groups with member count, founded date, organiser, average rating and rating count — over 2,000 of them for Berlin, where keyword search stops at 200group-historymode: a group's past events, newest first, each with the attendance it drew — no competitor publishes this- Filters for in-person vs online, minimum attendance and a date window, so a daily run returns only what is new
- Monitored daily
Input
- What to scrape —
events(default),groups, orgroup-history - Cities — plain names, resolved by Meetup itself:
Berlin, Germany,New York,Austin, TX, USA,Tbilisi, Georgia. No geocoding key, no coordinates - Keywords — one search per keyword. Leave empty in
eventsandgroupsmode to sweep the whole city - Groups — for
group-history:https://www.meetup.com/python-users-berlin-pub/or the bare urlname - Search radius, Starts after / Starts before (
2026-10-01,7 days,1 year ago), Event type, Minimum attendees - Widen the sweep across topic categories — repeats the city sweep once per Meetup category for full coverage
- Max events per city or group, Max groups per city, Fetch per-event details
Limits and notes
- Meetup's city feed reaches about one month ahead and tops out near 520 upcoming events per city; a longer date window does not add events, and
Widen the sweep across topic categoriesis the way to get the rest — it took Berlin from 518 to 924 events in 82 seconds. - Keyword search returns roughly 30–70 events per city and keyword before Meetup runs out of hits, and group search stops at 200 groups per term. These are the API's limits, not the Actor's — which is exactly why the keyword-free sweep exists.
- Some organisers publish an in-person event without a venue (about 2% of rows):
venueNameand the coordinates are then null, and the event page shows the location only to members who RSVP. radiusis in miles and Meetup snaps it to its own bands — 10 and 20 usually return nearly the same set for a large city.goingCountis the people who said yes;rsvpCountadds the ones who answered no, so it is the same or higher.maxTicketsis the cap the organiser set — a handful of events carry a stale cap below their own attendance, so treatspotsRemaining: 0as "no seats advertised", not as proof the door is shut.- On group rows
latitudeandlongitudeare the coarse point Meetup publishes for the group, rounded to two decimals: every group in a smaller city shares the city-centre coordinate. Event rows carry the real venue point. - Fees are only reported when the organiser collects payment through Meetup; an event with no
feeSettingsis published as free, which is also what the website shows. Fetch per-event detailscosts one extra request per event and is charged separately. The list already carries the description, topics, hosts, venue and counts, so turn it on only for the organiser-side fields: directions, guest policy, waitlist mode, recurring-series id and the full group profile.- Attendee names, waitlist names and group member rosters are available from the endpoint and are deliberately not collected — every person figure in the output is a count.
Input example
{"mode": "events","cities": ["Berlin, Germany"],"groupUrlnames": ["python-users-berlin-pub"],"radius": 10,"startsBefore": "7 days","eventType": "any","minAttendees": 0,"sweepCategories": false,"maxEvents": 60,"maxGroups": 50,"fetchEventDetails": false}
How much does it cost?
Pay per event — no subscription, no minimum, no charge for platform usage.
| Volume | Price |
|---|---|
| 1,000 events | $1.00 (+ $0.80 with group) |
| 10,000 events | $10.00 (+ $8.00 with group) |
| 100,000 events | $100.00 (+ $80.00 with group) |
The Apify free plan includes $5 of usage every month — about 5,000 events with this Actor, no card needed. Nothing else is charged: platform usage is included in the price, and Apify Bronze, Silver and Gold subscribers get 10%, 20% and 30% off these prices.
Use it from code, n8n, Make, Zapier or an AI agent
Run the Actor and download the dataset in one call (JSON by default; add &format=csv or xlsx):
curl -X POST "https://api.apify.com/v2/acts/chorelet~meetup-events-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "events", "cities": ["Berlin, Germany"], "groupUrlnames": ["python-users-berlin-pub"], "radius": 10, "startsBefore": "7 days", "eventType": "any", "minAttendees": 0, "sweepCategories": false, "maxEvents": 60, "maxGroups": 50, "fetchEventDetails": false}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("chorelet/meetup-events-scraper").call(run_input={"mode": "events", "cities": ["Berlin, Germany"], "groupUrlnames": ["python-users-berlin-pub"], "radius": 10, "startsBefore": "7 days", "eventType": "any", "minAttendees": 0, "sweepCategories": false, "maxEvents": 60, "maxGroups": 50, "fetchEventDetails": false})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
- n8n, Make, Zapier — use the Apify node/module: run the Actor, then "get dataset items".
- Google Sheets, Slack, webhooks — add an integration on the run's Integrations tab.
- AI agents — the Actor is available as a tool through the Apify MCP server; the dataset schema describes every field for the model.
- Schedules — run it hourly, daily or weekly from the Schedules tab.
FAQ
How do I get every event in a city?
Leave Keywords empty: with no keyword the Actor uses Meetup's recommendation feed, which is not capped the way search is. Turn on Sweep topic categories to widen it further — that is what took a Berlin run from 518 to 924 events.
Can I see past events and how many people came?
Yes — that is the group-history mode. Give it group URL names and it pages through their history with the attendance count of each past event.
Do I get attendee names?
No, and that is deliberate. Meetup's API exposes named members; this Actor emits counts only and validates every row before saving it.
How do I write the city?
As a plain string — Berlin, Germany, New York, NY, Bangalore. It is resolved through Meetup's own location search, so no coordinates and no geocoding key are needed.
Does it need a Meetup account?
No. Everything comes from the public endpoint meetup.com itself calls, with no login, no cookies and no API key.
Support
Questions, missing fields or a source that changed? Open an issue on the Issues tab or write to support@chorelet.app — problems are usually fixed within a day, and the Actor is checked every morning by an automated test run. If the Actor saved you time, a short review on its Store page helps other people find it.