Meetup Events Scraper avatar

Meetup Events Scraper

Pricing

from $0.39 / 1,000 results

Go to Apify Store
Meetup Events Scraper

Meetup Events Scraper

Scrape Meetup.com events and groups by city, keyword, or coordinates. Extract dates, venues, RSVP counts, fees, group ratings, and organizer contacts for lead generation. Export JSON, CSV, Excel via API.

Pricing

from $0.39 / 1,000 results

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Meetup Events Scraper - Events, Groups & RSVP Data

Meetup Events Scraper extracts events and groups from Meetup.com — search by city, keyword, or exact coordinates and get dates, venues, RSVP counts, fees, topics, group ratings, and organizer contact details.

Search events or groups by keyword, city, event type, radius, date range, and minimum RSVP count — get structured data plus organizer contacts for outreach, and optionally push results straight into Notion or Slack.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

parsebird/meetup-events-scraper on Apify. Call: ApifyClient("TOKEN").actor("parsebird/meetup-events-scraper").call(run_input={"mode":"events","searchKeyword":"artificial intelligence","city":"Berlin","country":"de","eventType":"PHYSICAL","minRsvpCount":20,"sortBy":"DATETIME","maxResults":100}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: mode (events|groups, default events), searchKeyword (required for groups; empty in events mode browses all upcoming events nearby), city/state/country (geocoded automatically) or lat/lon (skips geocoding), eventType (PHYSICAL|ONLINE|HYBRID|any, events only), radius (miles), startDateRange/endDateRange (ISO 8601), minRsvpCount (events only), sortBy (RELEVANCE|DATETIME, events only), maxResults (0 = unlimited, required), outputConnectors (optional MCP connectors like Notion/Slack, authorized in Apify Console). Event records have eventId/eventName/startDateTime/endDateTime/timezone/actualAttendees/isPaidEvent/eventUrl/venue/group/topics/ratingAverage/ratingCount/reviewCount plus v1-compatible flat fields (date, address, organizedByGroup, feeCurrency, going). Group records have groupName/groupUrl/memberCount/category/organizerName/organizerProfileUrl/socialLinks/ratingAverage/reviewCount/city/country/foundedDate. Full actor spec: GET https://api.apify.com/v2/acts/parsebird~meetup-events-scraper (Bearer TOKEN). Get token: https://console.apify.com/account/integrations

What is Meetup Events Scraper?

Meetup Events Scraper is an Apify Actor that acts as a Meetup API alternative — Meetup retired its public v3 REST API, so this actor reads the same GraphQL data Meetup's own website uses to power its search results, and returns it as clean structured rows. Search any city worldwide by name (geocoded automatically, including non-English names) or by exact coordinates, filter by keyword, event type, date range, and RSVP count, and get results ready for analysis or outreach.

Use it as a Meetup scraper, an event discovery API, or a lead generation tool for community and group organizers, event marketers, and researchers. Results download as JSON, CSV, Excel, XML, or HTML, or you can pull them programmatically through the Apify API, or push them directly into Notion or Slack with output connectors.

What can Meetup Events Scraper do?

  • 📅 Search upcoming events by keyword, or browse all upcoming events near a location when no keyword is given
  • 👥 Search groups by keyword for lead generation — organizer names, profile URLs, and social links included
  • 🌍 Search any city worldwide by name (auto-geocoded, including non-English names) or by exact latitude/longitude
  • 🎯 Filter by event type (in-person, online, hybrid), search radius, date range, and minimum RSVP count
  • 💰 Get fee details (amount, currency) and paid/free status for every event
  • ⭐ Get group ratings — average rating, rating count, and review count (public Meetup data since 2025)
  • 📤 Push results directly into Notion or Slack with optional MCP output connectors
  • ⚙️ Run on demand, schedule recurring runs, or connect results to Apify integrations like Google Sheets, Zapier, Make, and webhooks
  • 📊 Export data in JSON, CSV, Excel, XML, RSS, or HTML from the Apify dataset

What data can you extract from Meetup?

Data pointDescription
EventName, description, type (in-person / online / hybrid), status, URL, cover photo
Date & timeStart, end, duration, and IANA time zone (correct local times worldwide)
VenueName, address, city, country, postal code, and GPS lat/lon
Attendance & feesRSVP count, capacity, paid/free flag, fee amount, currency
Group & organizerGroup name, URL, member count, category; organizer name + profile URL; social links
Ratings & topicsAverage rating, rating & review counts (public since 2025); topic tags

Input parameters

ParameterTypeRequiredDefaultDescription
modestringNoeventsevents or groups
searchKeywordstringDepends*Keyword to search. Required for groups
citystringNo**City to search, geocoded automatically
statestringNoOptional region to disambiguate the city, e.g. CA
countrystringNo2-letter country code. Note: the UK is gb
lat / lonstringNo**Optional exact coordinates — provide both to skip geocoding
eventTypestringNoanyPHYSICAL, ONLINE, HYBRID, or any. Events mode only
radiusintegerNoSearch radius in miles
startDateRange / endDateRangestringNoISO 8601 bounds. Upcoming only — a past start is treated as now
minRsvpCountintegerNoMinimum RSVP count. Events mode only
sortBystringNoRELEVANCERELEVANCE or DATETIME (soonest first). Events mode only
maxResultsintegerYes50Maximum results. 0 = unlimited
outputConnectorsarrayNoOptional MCP connectors (Notion, Slack, …), authorized in Apify Console
notionParentPageUrlstringNoNotion connectors: page to create the results table under
messageChannelstringNoMessaging connectors: channel to post to, e.g. #events
connectorDeliverystringNosummarysummary (one message per run) or perItem (one per result)
connectorTool / connectorArgumentsstring / objectNoAdvanced: force a specific connector tool / merge extra static arguments
proxyConfigurationobjectNodisabledOptional Apify Proxy configuration

*Required for groups mode; optional for events (empty browses all upcoming events nearby). **Provide either city (+ optional state/country) or both lat and lon.

Example input — scrape Meetup events:

{
"mode": "events",
"searchKeyword": "artificial intelligence",
"city": "Berlin",
"country": "de",
"eventType": "PHYSICAL",
"minRsvpCount": 20,
"sortBy": "DATETIME",
"maxResults": 100
}

Example input — scrape Meetup groups for leads:

{
"mode": "groups",
"searchKeyword": "artificial intelligence",
"city": "New York",
"country": "us",
"maxResults": 50
}

Output example

Event (events mode):

{
"eventId": "316242642",
"eventName": "Beyond Technology: AI & Data for the Common Good",
"eventType": "PHYSICAL",
"startDateTime": "2026-09-17T17:30:00+02:00",
"endDateTime": "2026-09-17T21:00:00+02:00",
"timezone": "Europe/Berlin",
"actualAttendees": 126,
"isPaidEvent": false,
"eventUrl": "https://www.meetup.com/women-in-big-data-berlin-meetup-group/events/316242642/",
"venue": { "name": "Bertelsmann Stiftung", "city": "Berlin", "country": "de", "lat": 52.51589, "lon": 13.39797 },
"group": { "name": "Women in Big Data Berlin Meetup Group", "memberCount": 1825, "organizerName": "Women in Big Data Berlin", "organizerProfileUrl": "https://www.meetup.com/members/371218952/" },
"topics": [{ "name": "Artificial Intelligence", "urlkey": "artificial-intelligence" }],
"ratingAverage": 4.75,
"ratingCount": 116,
"reviewCount": 219
}

ratingAverage/ratingCount/reviewCount reflect the hosting group's public ratings. Backward-compatible flat fields (eventId, date, address, organizedByGroup, feeCurrency, going, and more) are included alongside the nested venue/group/topics objects.

Group (groups mode):

{
"groupName": "ARTIFICIAL INTELLIGENCE",
"groupUrl": "https://www.meetup.com/meetup-group-aYMKMziu",
"memberCount": 523,
"category": "Technology",
"organizerName": "Arash Hosseini Jafari",
"organizerProfileUrl": "https://www.meetup.com/members/263389589/",
"ratingAverage": 4.8,
"ratingCount": 15,
"reviewCount": 25,
"city": "Los Angeles",
"state": "CA",
"country": "us",
"foundedDate": "2020-01-13T13:43:40-08:00"
}

socialLinks (Facebook, LinkedIn, Instagram, and more) appear on groups that have them set. Download results in JSON, HTML, CSV, or Excel from the dataset page, or fetch rows programmatically through the API.

How to scrape Meetup events and groups

  1. Open Meetup Events Scraper on Apify and click Try for free.
  2. Choose mode (events or groups) and enter a searchKeyword (required for groups).
  3. Enter a city (+ optional state/country) or exact lat/lon coordinates.
  4. Adjust eventType, radius, date range, minRsvpCount, and sortBy as needed.
  5. Set maxResults (0 for unlimited) and start the run.
  6. Download results as JSON, CSV, Excel, HTML, XML, or RSS, or open them straight in Google Sheets.
  7. Optionally add outputConnectors to push results into Notion or Slack, or automate the run with Apify scheduling or the Apify API.

How to use the Meetup API in Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/meetup-events-scraper").call(run_input={
"mode": "events",
"searchKeyword": "artificial intelligence",
"city": "Berlin",
"country": "de",
"eventType": "PHYSICAL",
"minRsvpCount": 20,
"sortBy": "DATETIME",
"maxResults": 100,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[:2])

How to use the Meetup API in JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/meetup-events-scraper').call({
mode: 'groups',
searchKeyword: 'artificial intelligence',
city: 'New York',
country: 'us',
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use cases

  • Event discovery — Find upcoming meetups on a topic in any city, sorted by date or relevance
  • Lead generation — Search groups by keyword to build a list of organizers and communities to reach out to
  • Community research — Compare group sizes, ratings, and activity across cities or topics
  • Marketing intelligence — Track paid vs. free events, typical RSVP counts, and fee ranges for a niche
  • Workflow automation — Push new matching events or groups straight into a Notion database or Slack channel

How it works

  1. Resolves your city/state/country to coordinates (or uses your exact lat/lon directly, skipping geocoding)
  2. Queries Meetup's event or group search with your keyword and filters (event type, radius, date range, RSVP count) applied server-side
  3. Paginates through results, deduplicating by ID, until maxResults is reached or coverage plateaus
  4. Normalizes each event or group into a structured record, including venue, group, organizer, topic, and rating details
  5. Pushes records to the dataset and, if outputConnectors are configured, delivers them to your connected Notion page or messaging channel

How much does it cost to scrape Meetup?

Meetup Events Scraper uses pay-per-event pricing — you pay per event or group record saved to the dataset.

EventPrice per eventPrice per 1,000
result-scraped$0.00099 (Free) / $0.00079 (Bronze) / $0.00059 (Silver) / $0.00039 (Gold)$0.99 / $0.79 / $0.59 / $0.39

A 100-event search run costs about $0.10 on the Free plan.

Meetup Events Scraper extracts publicly available event and group listings from the same data Meetup's own website uses to render its search results. Scraping publicly accessible data is generally lawful, but you're responsible for how you use the results — always review Meetup's Terms of Service and Apify's guide on the legality of web scraping before running large or automated workloads.

FAQ

Do I need a Meetup account or API key? No. Meetup retired its public v3 REST API. This actor reads the same data Meetup's own website uses to render search results, so no credentials are required.

Why is searchKeyword required for groups but optional for events? Leaving searchKeyword empty in events mode switches to Meetup's "browse nearby" feed of all upcoming events near your location. Groups don't have an equivalent browse-all endpoint, so a keyword is required.

How does city geocoding work, and what if my city name isn't in English? The actor geocodes city (+ optional state/country) via OpenStreetMap, which handles non-English and non-Latin city names. If geocoding fails or is ambiguous, add state to disambiguate, or provide exact lat/lon to skip geocoding entirely.

How do I use outputConnectors? First authorize a connector (Notion, Slack, and others) in Apify Console under Settings → Integrations, then select it in the outputConnectors field. The actor auto-detects a matching tool on the connector; use connectorTool/connectorArguments to override the tool name or arguments if your connector's schema differs from the default.

Can I schedule recurring runs? Yes. Use Apify scheduling to run daily, weekly, or at any interval, then connect the dataset to integrations, webhooks, or output connectors.

Does this actor require a proxy? No. Meetup's public search data doesn't require a proxy for normal use. The proxyConfiguration input is available if you want extra reliability.

How do I report a problem or request a field? Open an issue from the Actor page in Apify Console and include the run ID and input used.