Meetup Events Scraper — Dates, Groups & Organizer Leads
Pricing
$1.00 / 1,000 event scrapeds
Meetup Events Scraper — Dates, Groups & Organizer Leads
Collect public Meetup events by city, coordinates or group. Get local dates, venues, fees, RSVP counts, group sizes and public organizer profiles with category, date and price filters.
Pricing
$1.00 / 1,000 event scrapeds
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Security
Limited permissionsShare
Meetup Events Scraper
Meetup Events Scraper collects public events by city, geographic coordinates, search term, category or group calendar. Export event dates, venues, structured fees, RSVP counts and group organizer details as one row per event.
Use it to discover community events, build a local calendar, find groups that organize relevant activities, or compare upcoming events across categories. Each recurring event date is a separate row when Meetup gives it a separate event identifier. Events from overlapping result pages and overlapping group selections are deduplicated by their Meetup event ID.
What Meetup Events Scraper returns
Each event includes its title, public URL, local start and end times with UTC offsets, event date and group time zone. Physical events include the public venue name, address, city, country code and coordinates when Meetup supplies them. Online events have empty physical location fields. A missing physical venue means the public source did not provide an address.
The group appears as organizer_name, matching how Meetup presents the organizing community. Additional fields include group URL, member count, home city and country, average event rating and rating count. The public group organizer person appears separately in organizer_member_name, with their member identifier and profile URL when available. These fields help identify the community behind an event without confusing the group with its organizer person.
Input
Supply exactly one location method: location, both latitude and longitude, or group_urls. A place search uses the first matching place. The run output includes resolved_location, so you can check the selected city and country. Add a country to an ambiguous place name when necessary. Coordinate searches bypass place resolution.
In Apify Console, clear the prefilled location before entering coordinates or group URLs. Group URLs copied from a localized Meetup page, including /de-DE/ and /fr-FR/ paths, are accepted.
radius_km sets the geographic radius, defaults to 30 kilometers and accepts integers from 1 through 300. max_items defaults to 50 and accepts 1 through 1,000. It is the total number of unique events requested across all selected groups and all continuation pages, rather than a separate limit for every group.
Set category to a Meetup category key such as technology, sports-fitness, career-business or travel-outdoor. Categories describe the organizing group. event_type accepts any, physical, online and hybrid. A hybrid event retains its public physical location and is identified by the separate event_type field.
keyword uses Meetup's semantic search ranking for geographic searches. Results can be related to the topic without containing the exact word. Enable keyword_strict to require that text in the event title or description. In group calendars, a keyword always matches the title or description literally. min_attendees filters on the number of RSVPs. This count includes hosts and represents registrations, rather than verified attendance after the event.
Date filters and group calendars
start_date and end_date accept real calendar dates in YYYY-MM-DD format, with both boundary days included. Geographic searches default to today through 30 days later. The selected city's time zone determines those days. Coordinate searches default to UTC; use timezone to choose an IANA time zone explicitly.
Alternatively, use date_preset: today, tomorrow, this_week, this_weekend, next_week or this_month. Presets cannot be combined with explicit dates. The current week and current month begin today; the next week runs Monday through Sunday. Date boundaries follow daylight saving changes.
group_urls accepts up to ten public Meetup group URLs or group URL names. group_events defaults to upcoming events; use past for the historical calendar. Group calendars have no default date restriction. Explicit group date filters use UTC unless timezone is supplied and compare each event's local start date. Upcoming group events are chronological and past events are newest first. The sort option controls geographic searches, where it accepts date or relevance.
Output
The default dataset contains one event per row. Stable fields include source, fetched_at, platform, event_id, title, url, start, end, start_date, timezone, is_online, location fields, organizer_name, category, price fields and availability flags. Additional event and group fields preserve public descriptions, images, topic keys, RSVP state, capacity and group statistics.
price_min and price_max contain the same single structured event fee in currency. They are amounts in the reported currency, not cents. When Meetup supplies no structured fee, the event is marked free, both price fields are zero and currency is empty. A price mentioned only in a description is not detected. Multiple ticket levels are not available. fee_required and fee_accepts preserve the source payment conditions when a fee is supplied.
is_sold_out identifies full or waitlisted RSVP states. tickets_available identifies open registration states; it can be false when registration has closed or has not yet opened. A closed registration state does not by itself mean the event sold out.
The run's OUTPUT record contains counts, partial, warnings and the resolved place. Large or interrupted collections can continue internally across several pages. The actor follows continuation automatically. API consumers receive next_cursor and should repeat the same input with that cursor until it is empty. A partial response preserves events already collected. If a source stops repeating useful pages, the output explains the stop.
Example output
A real row from an Amsterdam search (description and image fields left out for length):
{"event_id": "316921063","title": "ATAC Indoor Swim training - entrance on the ATAC web shop","url": "https://www.meetup.com/atac-amsterdam-triathlon-and-cycling/events/316921063/","start": "2026-10-30T07:00:00+01:00","end": "2026-10-30T08:00:00+01:00","timezone": "Europe/Amsterdam","is_online": false,"venue_name": "Sportplaza Mercator","address": "Jan van Galenstraat 315","city": "Amsterdam","country_code": "NL","lat": 52.371708,"lng": 4.846011,"organizer_name": "ATAC - Amsterdam Triathlon And Cycling","category": "Sports & Fitness","price_min": 0,"price_max": 0,"currency": null,"is_free": true,"attendees": 2,"max_attendees": 30,"event_type": "PHYSICAL","group_url": "https://www.meetup.com/atac-amsterdam-triathlon-and-cycling","group_members": 420,"group_rating": 4.87,"organizer_member_name": "ATAC Triathlon & Cycling Club"}
Use cases for a Meetup events scraper
- Lead generation: list the groups that organize events in your niche, with member counts, ratings and the public organizer profile, then contact the communities that fit your offer.
- Community marketing: find where your audience meets in a city, which categories are busiest and which groups grow, before choosing where to sponsor or speak.
- Event aggregators: feed a local calendar or newsletter with dated, geocoded events, filtered by category, price and online or physical format.
- Market research: compare the number of upcoming events and RSVPs per city or topic over time.
Meetup Events Scraper compared with other Meetup scrapers
Other Meetup scrapers on the Store mostly return a flat list of events. This actor is built around a stable, documented row: one event per row with the group as organizer, a structured fee in a single currency, RSVP counts, and explicit date filters in the selected city's time zone. It also accepts coordinates, a keyword with optional strict matching, category and event-type filters, and group calendars including past events. Results continue across pages with a cursor, overlapping pages are deduplicated by event ID, and you pay only for rows that reach the dataset.
Pricing
Billing uses one event charge per event actually delivered to the dataset. Empty results have no event charges. Duplicate events are not charged again within the same collection. Check the actor's Pricing tab for the current event price and any platform usage charges. This actor has no custom run-start charge.
Non-paying Apify accounts can receive up to ten event rows per run. This is a delivery cap; the normal event price still applies. Paying accounts can request the full max_items range. The same delivered-row count controls the event charge, including when only part of a larger request could be completed.
FAQ
Does a keyword require an exact match?
Geographic keyword searches use semantic relevance by default. Enable keyword_strict for a literal title or description match. Group calendar keywords always use literal matching.
Can I collect past group events?
Yes. Supply the group's URL or URL name in group_urls and set group_events to past. Add explicit date filters if you need a narrower period. This reads the public calendar, not private group member information.
Why is an address or price missing?
Some organizers share addresses only with members. Online events have no physical address in this output. Prices are limited to Meetup's structured fee; text inside an event description is not converted into a ticket price.
How do I identify repeated events?
Use platform together with event_id as the event key. Recurring series have a separate series_id when provided, while each published date remains its own event row. Public calendars change over time, so independently started runs can contain the same event.