Meetup Scraper - Events, Groups & Members Data Extractor
Pricing
from $2.50 / 1,000 results
Meetup Scraper - Events, Groups & Members Data Extractor
Meetup scraper & API: search events and groups by topic and location and export event name, date, venue, description, group, attendee count, organizer and RSVP URL. Event discovery, community research and lead generation — fast, no login.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
1
Bookmarked
61
Total users
18
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Meetup Scraper – Extract Events, Groups, Members & Venues from Meetup.com
Meetup Scraper is a fast, reliable tool to scrape Meetup.com at scale – no Meetup API key, no login, no coding required. Search events by keyword and city, or paste any event or group URL, and export clean, structured Meetup data to JSON, CSV, Excel, HTML or XML in seconds.
Whether you need event data for market research, group and community data for lead generation, or attendee and organizer insights for sales prospecting, this Meetup data extractor turns the public Meetup.com website into a ready-to-use dataset. Export to JSON, CSV, Excel, or API.
⚡ TL;DR – Type a keyword + a city (or paste URLs), press Start, and download a spreadsheet of Meetup events, groups, organizers, RSVP counts, venues and members.
🧑💼 Built for growth marketers and SDRs building targeted outreach lists, event organizers and sponsors scouting active communities, developer-relations and community teams, researchers and data scientists studying local activity, and founders doing competitive and market research.
🔎 Why scrape Meetup.com?
Meetup.com is one of the largest platforms for local communities, professional networking, tech meetups, hobby groups and live events worldwide. Every day it publishes thousands of events with exact RSVP counts, venues, organizers and group sizes – a uniquely rich, real-time picture of who is gathering, around what topic, and where.
That data is incredibly valuable, but collecting it by hand is painful. Meetup's official API is rate-limited, requires OAuth authentication, and is effectively unusable for non-developers. Copy-pasting events one page at a time is slow, error-prone, and impossible to keep fresh. This Meetup scraper removes all of that friction: it talks directly to Meetup's own structured data layer and hands you a clean, de-duplicated dataset in one run – no key, no login, no browser automation to babysit.
Common reasons people scrape Meetup.com:
- 🎯 Build targeted lead lists of groups, organizers and engaged community members by topic and city.
- 📣 Find active, well-attended events to sponsor, speak at, or promote.
- 📊 Track which topics, technologies and communities are growing in any market.
- 🗓️ Power an event website, newsletter or app with a continuously refreshed feed of local and online events.
- 🔍 Run competitive and market research on rival communities and event formats.
- 🧑🔬 Collect structured datasets for academic and data-science research on networking and local activity.
- 🤝 Discover groups to partner with, join, or recruit from.
✨ What this Meetup scraper does
- ✅ No API key and no login required – works straight out of the box on public Meetup.com data.
- ✅ Three input modes – (1) keyword + city search, (2) direct event URLs, (3) group URLs (optionally pulling the group's full event history and a sample of members).
- ✅ Automatic pagination – walks Meetup's GraphQL cursor pagination (50 records per page) across every page and returns hundreds to thousands of de-duplicated records.
- ✅ Rich, structured event fields – exact
goingCount(RSVP),waitlistCount, capacity, price,topics, fullvenue(address + lat/lon),hosts, and the host group (see the full field reference below). - ✅ Group & member data – group size, category, location, organizer and founding date; plus a public sample of members with role flags (
isOrganizer,isLeader,isProOrganizer). - ✅ Filters & targeting – event type (online / in-person), date range, sort order, and a per-run
maxItemscap. - ✅ Geocoding built in – just type "London" or "New York"; the scraper resolves the city to coordinates automatically (no coordinates or Meetup location ID needed).
- ✅ Reliable at scale – datacenter proxies by default with automatic escalation to residential if Meetup throttles, fresh IP on every retry, and empty-page retries so results stay complete.
- ✅ Export anywhere – JSON, CSV, Excel, HTML, XML, or pull straight from the Apify API.
🎯 Use cases
- Lead generation & sales prospecting – build targeted lists of Meetup groups and their organizers by topic and city, then reach out with relevant offers.
- Event marketing & sponsorship discovery – identify active, well-attended events in your industry to sponsor, speak at, or promote; filter by
goingCountto find the events that actually matter. - Market & competitive research – monitor competitor events, measure community size, and spot emerging topics before anyone else.
- Event aggregation & directories – feed your own event site, app or newsletter with fresh local and online events, complete with descriptions, dates, venues and images.
- Community management & DevRel – discover relevant groups to partner with, find guest speakers, and benchmark your community against others.
- Recruiting & talent sourcing – surface engaged, skill-specific communities and their organizers.
- Academic & data-science research – collect structured datasets on social gatherings, networking behavior and online-vs-in-person event trends.
- Travel & logistics planning – pair event schedules and venues with hotel and rental data for conference and event logistics.
📥 Input
Configure the run in the Apify Console UI or via JSON/API. You can use search mode, URL mode, or both at once.
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | array of strings | ["technology"] | Keywords to search events for (e.g. javascript, yoga, startup networking). Each keyword is searched separately in the chosen city. Leave empty to get a ready-made mix of popular events. |
city | string (select) | New York | City to search events in, chosen from a built-in list of 24 major cities (New York, London, Berlin, San Francisco, Tokyo, Bangalore…). Keyword search always runs against a city. |
customCity | string | – | Any city not in the dropdown (e.g. Lisbon, Denver, USA, Cape Town). When filled it overrides city. Auto-geocoded — no coordinates needed. |
eventType | string | any | any, online, or physical (in-person). |
dateRange | string | any | any, today, tomorrow, this-week, this-weekend, next-week, this-month. Applies to upcoming events. |
sortBy | string | relevance | relevance or date (soonest first). |
startUrls | array of URLs | – | Meetup event or group page URLs to scrape directly. Works with or without the keyword search. |
scrapeGroupEvents | boolean | true | For group URLs, also scrape the group's upcoming & past events as separate event records. |
scrapeGroupMembers | boolean | false | For group URLs, also scrape the publicly listed sample of members and organizers. |
includeFullEventDetails | boolean | false | Reserved toggle. The GraphQL search already returns full event objects, so this is off by default. |
maxItems | integer | 0 (no limit) | Maximum number of records (events + groups + members) across the whole run. Use it to control cost. |
maxConcurrency | integer | 10 | Maximum parallel requests. |
maxRequestRetries | integer | 3 | Retries per failed request. |
proxyConfiguration | object | Apify Proxy (datacenter) | Proxy settings. Datacenter by default (low-cost); auto-escalates to residential if Meetup blocks. You can also force residential or your own proxies. |
Example 1 – Search events by keyword and city
Find up to 200 JavaScript events in London:
{"searchQueries": ["javascript", "web development"],"city": "London","eventType": "any","dateRange": "this-month","sortBy": "date","maxItems": 200}
Pick
cityfrom the dropdown, or usecustomCityfor any city not listed (e.g."customCity": "Lisbon").customCityalways overridescity.
Example 2 – Scrape a specific group, its events and members
{"startUrls": [{ "url": "https://www.meetup.com/london-scala/" }],"scrapeGroupEvents": true,"scrapeGroupMembers": true,"maxItems": 500}
Example 3 – Scrape individual event pages
{"startUrls": [{ "url": "https://www.meetup.com/london-scala/events/314859429/" }]}
Example 4 – Online events in a city
{"searchQueries": ["product management"],"city": "San Francisco","eventType": "online","maxItems": 100}
Keyword search always runs against a city (Meetup's event search is location-based). Online events still show up in any city's results. If you leave
searchQueriesandstartUrlsempty, the scraper auto-seeds a diverse sample of popular events for the chosen city so a run is never empty.
📤 Output
The scraper writes one record per event, group or member to the dataset. Each record carries a type field (event, group or member) so you can filter and split records easily. Every example below mirrors the real fields returned by a live run.
Event record
{"type": "event","id": "316963808","title": "Web Content Accessibility Guidelines 3.0 Discussion","url": "https://www.meetup.com/a11ynyc/events/316963808/","eventType": "PHYSICAL","isOnline": false,"status": "ACTIVE","startDateTime": "2026-11-10T19:30:00-05:00","endDateTime": "2026-11-10T21:00:00-05:00","durationMs": "PT1H30M","createdTime": "2026-10-13T14:50:13-04:00","description": "Thomas Logan will give a short tour of the latest W3C Working Draft...","howToFindUs": "Ring the bell for the 3rd floor.","goingCount": 58,"waitlistCount": 0,"maxTickets": 85,"spotsLeft": 27,"guestsAllowed": false,"isFree": true,"feeAmount": null,"feeCurrency": null,"topics": ["Web Accessibility", "Front End Development", "JavaScript"],"photo": "https://secure.meetupstatic.com/photos/event/highres_534060066.jpeg","hosts": [{ "name": "Thomas Logan", "memberId": "405145336", "memberUrl": "https://www.meetup.com/members/405145336/" }],"venue": {"name": "Equal Entry","address": "25 Broadway","city": "New York","state": "NY","postalCode": "10004","country": "us","lat": 40.705,"lon": -74.013},"groupId": "19876543","groupName": "Accessibility NYC","groupUrlname": "a11ynyc","groupUrl": "https://www.meetup.com/a11ynyc","groupMemberCount": 2187,"groupCity": "New York","groupCountry": "us","searchKeyword": "technology","searchLocation": "New York","scrapedAt": "2026-11-01T23:35:12.994Z"}
Group record
{"type": "group","id": "1562942","name": "London Scala User Group","urlname": "london-scala","url": "https://www.meetup.com/london-scala","description": "Come and meet other software developers in the London area interested in the Scala programming language...","memberCount": 3976,"city": "London","state": "17","country": "gb","postalCode": "EC1V 7DP","lat": 51.52,"lon": -0.1,"timezone": "Europe/London","foundedDate": "2009-11-28T18:25:10Z","isPrivate": false,"joinMode": "OPEN","category": "Technology","photo": "https://secure.meetupstatic.com/photos/event/highres_468051360.jpeg","organizerName": "Zainab Ali","organizerUrl": "https://www.meetup.com/members/190278895/","scrapedAt": "2026-11-01T23:40:24.599Z"}
Member record
{"type": "member","id": "5719145","name": "Barry","url": "https://www.meetup.com/members/5719145/","bio": null,"city": null,"state": null,"country": null,"isOrganizer": true,"isLeader": true,"isProOrganizer": true,"status": "ACTIVE","photo": null,"groupName": "London Scala User Group","groupUrlname": "london-scala","scrapedAt": "2026-11-01T23:41:35.458Z"}
Field reference (main fields)
| Field | Description |
|---|---|
type | Record type: event, group or member. Always present. |
id | Meetup numeric ID of the event / group / member. Always present. |
title / name | Event title (title) or group/member name (name). |
url | Direct link to the event, group or member profile. |
eventType / isOnline | ONLINE or PHYSICAL, plus a convenience boolean. |
status | Event status (e.g. ACTIVE, PAST, CANCELLED). |
startDateTime / endDateTime | Start and end time (ISO 8601 with timezone offset). |
durationMs | Event duration as an ISO 8601 duration (e.g. "PT1H30M"). |
createdTime | When the event was created on Meetup (ISO 8601). |
description | Full event or group description text. |
howToFindUs | Host's "how to find us" note. Present when provided. |
goingCount | Exact number of RSVP "yes" attendees. |
waitlistCount | Number of people on the waitlist. |
maxTickets / spotsLeft | Capacity and remaining spots. spotsLeft only when capacity is set. |
isFree / feeAmount / feeCurrency | Free vs. paid, ticket price and currency. Fee fields present only for paid events. |
topics | List of related topics / tags. Present when the event is tagged. |
photo | High-resolution image URL. Present when an image exists. |
hosts | Array of hosts/organizers: name, memberId, memberUrl. |
venue | Venue object: name, address, city, state, postalCode, country, lat, lon. Online events carry a placeholder venue. |
groupId / groupName / groupUrlname / groupUrl | The group running the event. |
groupMemberCount | Size of the host group. |
groupCity / groupCountry | Group location. |
memberCount | (Group) total number of members. |
category | (Group) category / topic area. |
foundedDate / joinMode / isPrivate | (Group) founding date, join mode, privacy. |
organizerName / organizerUrl | (Group) primary organizer. |
isOrganizer / isLeader / isProOrganizer | (Member) role flags. |
searchKeyword / searchLocation | The keyword and city that surfaced this record (search mode). |
scrapedAt | ISO timestamp of when the record was scraped. |
ℹ️ Honesty notes. Not every event fills every field — online events have no physical venue (they carry a placeholder
"Online event"venue), free events have nofeeAmount, and only tagged events havetopics. For member records, Meetup now publicly exposes only a thin profile (name, role flags, membership status); fields likebio,cityandphotoare oftennull. Private contact details (email, phone) are never exposed by Meetup and are never collected — only publicly visible data is returned.
🔁 Pagination & scale
You never have to think about pages — the Meetup scraper handles pagination for you and returns large, de-duplicated result sets:
- Keyword search uses Meetup's GraphQL cursor pagination (
pageInfo.endCursor/hasNextPage), pulling 50 events per page and walking every page until Meetup reports no more results. A popular keyword in a big city can return hundreds of events; running several keywords (as in the verification run below) easily reaches the low thousands. - Group URLs paginate the group's upcoming and past event lists the same way, so a single group URL can yield its entire event history.
- Group members (when
scrapeGroupMembersis on) paginate the publicly listed membership sample 50 at a time. - Events are de-duplicated by event ID across keywords and groups, so you never get the same event twice.
- The total run size is capped only by
maxItems(set0for no limit) — use it to control cost. Leaving it at the default keeps the run bounded for a quick preview.
✅ Latest verification run: a single run searching 8 broad keywords in New York returned 450 unique events in ~43 seconds on default datacenter proxies — 0 duplicates, with core fields (
type,id,title,url,startDateTime,endDateTime,eventType,goingCount,status,groupName) at 100% coverage and venue data at ~92%.
⚙️ How to use the Meetup Scraper (step by step)
You don't need any technical knowledge to get started.
- Open the Actor in the Apify Console and click Try for free.
- Choose one or both of the following:
- Search events by keyword – add one or more keywords (e.g.
javascript,yoga,startup networking) and pick a City (or type one in the Other city box). - Scrape specific events or groups by URL – paste Meetup event or group URLs into Start URLs.
- Search events by keyword – add one or more keywords (e.g.
- (Optional) Set filters: event type, date range, sort order, and a Max items limit to control cost.
- Click Start ▶️.
- When the run finishes, open the Storage / Dataset tab and export as JSON, CSV, Excel, HTML or XML.
- Automate it: trigger the Actor from the Apify API, schedule daily/weekly runs, or wire the output into Make, Zapier, n8n, Google Sheets, Slack or a webhook.
💡 Tips & best practices
- Combine keyword + location for the most relevant results. Keyword search always needs a city; online events still appear in any city's results.
- Use
maxItemsto control cost. Start small (50–100) to preview the data, then scale up. - Run several broad keywords at once (e.g.
technology,business,music,networking) to pull a wide, de-duplicated cross-section of a city's events in one run. - Group URLs are the most thorough way to collect a community's entire event history – keep
scrapeGroupEvents: trueto get both upcoming and past events. - For lead generation, scrape group URLs with
scrapeGroupMembers: trueto capture organizers and engaged members (the role flags identify organizers/leaders). - Filter the dataset by
type(event,group,member) after export to split records into separate sheets. - Schedule the Actor (daily/weekly) to keep an always-fresh event feed for your app or newsletter.
🌐 Proxy & reliability
This Actor talks directly to Meetup's stable public GraphQL data gateway (api.meetup.com/gql-ext) instead of parsing fragile HTML, so you get full, structured objects with exact RSVP counts and venue coordinates. Meetup applies aggressive per-IP rate limiting to its keyword event search (a throttled IP silently returns zero results), so the scraper runs on Apify Proxy (datacenter) by default and automatically escalates to residential proxies the moment Meetup blocks a datacenter IP. On top of that it rotates to a fresh IP on every retry and re-runs a keyword search on new IPs several times whenever Meetup returns an empty page, so results stay reliable and complete. It also includes retries with exponential backoff for transient network errors. Scraping events and groups by URL is lighter than keyword search, so URL-based runs usually stay on cheap datacenter IPs. You can also force residential or supply your own proxies in proxyConfiguration.
❓ Frequently asked questions
Is it legal to scrape Meetup.com?
This Actor only collects publicly available information that anyone can view on Meetup.com without logging in. Scraping public data is generally legal, but how you use the data is your responsibility — comply with GDPR/CCPA and other privacy laws, don't use the data for spam or harassment, and respect Meetup's Terms of Service. If unsure about your use case, consult a legal professional.
Do I need a Meetup API key or account?
No. This Meetup scraper requires no Meetup API key, OAuth token, or account login. It works entirely with publicly available data on Meetup.com — a true Meetup API alternative.
How many events can I scrape and how fast?
Search mode paginates automatically and returns hundreds of events per keyword/city; running several keywords returns well into the thousands. In our latest verification, a single run pulled 450 unique events in ~43 seconds. Use maxItems to cap the total and manage cost.
Do I need proxies or a login?
No login, ever. The Actor uses Apify Proxy (datacenter) by default and escalates to residential automatically if Meetup throttles. You can also bring your own proxies.
What's the difference between search mode and URL mode?
Search mode (searchQueries + city/customCity) is best for discovery — it finds many events matching a keyword in a city. URL mode (startUrls) is best when you already know the exact events or groups you want, and it can also pull a group's full event history and a sample of members.
How do I search a city that isn't in the dropdown?
Use the customCity field (the "Other city" box). Type any location — e.g. Lisbon, Denver, USA, Cape Town — and it is geocoded automatically. customCity always overrides the city dropdown.
Can I filter by event type, date or sort order?
Yes. Use eventType (any / online / physical), dateRange (today, this-week, this-month, etc.) and sortBy (relevance or date).
Can I get attendee or member email addresses?
No. Meetup does not publicly expose email addresses or phone numbers, so they are never collected. Member records return only public data (name, role flags, membership status; bio/city/photo when Meetup still shows them).
Why are some fields empty?
Not every event or group fills in every field on Meetup — online events have no physical venue, free events have no fee, untagged events have no topics, and Meetup now shows only a thin public member profile. Empty fields simply mean the data isn't published on Meetup.
How fresh is the data and is there an API?
The scraper fetches live data from Meetup.com on every run, so results reflect the current state of the site. You can call it from any language via the Apify API, schedule it, or trigger it from a webhook — making it a reliable programmatic Meetup API.
In what formats can I download the data?
JSON, CSV, Microsoft Excel (XLSX), HTML table, and XML — plus direct access via the Apify API and dataset views.
🔌 Integrations & automation
This Meetup Scraper plugs straight into your stack: the Apify API and webhooks for programmatic access, Zapier / Make / n8n to push results into thousands of apps, Google Sheets / Slack / Airtable / Gmail to deliver data where your team works, MCP / AI agents to use it as an LLM tool, and the Scheduler for daily, weekly or custom runs.
Using the Meetup Scraper via API
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run_input = {"searchQueries": ["data science"],"city": "San Francisco","eventType": "any","maxItems": 100,}run = client.actor("haketa/meetup-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], "-", item.get("goingCount"), "going")
A JavaScript/Node client (apify-client) works the same way — call client.actor('haketa/meetup-scraper').call(input) and read defaultDatasetId.
🔗 Related scrapers
Building an events, travel or lead-generation pipeline? Pair the Meetup scraper with these other Actors:
- Luma Event Scraper — extract events, hosts and attendee data from Luma (lu.ma).
- Eventbrite Scraper — scrape Eventbrite events, organizers, dates, venues and ticket prices.
- Expedia Scraper — pull Expedia hotel listings, prices and reviews for travel and event logistics.
- HRS Scraper — collect HRS hotel rates and availability for business-travel and event planning.
- Furnished Finder Scraper — scrape Furnished Finder mid-term rental listings and landlord contacts.
- Yachtall Scraper — extract Yachtall boat and yacht listings with prices and specs.
🛟 Support & feedback
Found a bug, missing a field, or need a new feature? Open an issue on the Actor's Issues tab — feedback is very welcome. If an event or group fails to scrape, please include the exact URL so it can be reproduced.
🏷️ Keywords
Meetup scraper, Meetup.com scraper, scrape Meetup, Meetup events scraper, Meetup group scraper, Meetup data extractor, Meetup API, Meetup API alternative, extract Meetup events, Meetup event data, Meetup group data, Meetup members scraper, Meetup organizer data, event scraper, community data, lead generation, event marketing, networking events, RSVP data, event aggregator, no-code scraper, JSON CSV Excel export.
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Meetup or its parent companies. "Meetup" is a trademark of its respective owner.
📅 Changelog & maintenance
Last updated: 2026-11-02 — Re-verified against the live site: a fresh run returned 450 unique events in ~43 s with 0 duplicates and 100% core-field coverage. Output examples and the field reference were refreshed to match real data. See the full Changelog tab for details.