Meetup Events & Groups Scraper avatar

Meetup Events & Groups Scraper

Pricing

from $8.32 / 1,000 results

Go to Apify Store
Meetup Events & Groups Scraper

Meetup Events & Groups Scraper

Scrape Meetup events and groups by topic and location, or from URLs: event title, date, venue, online flag, RSVP and going counts, hosts, fee and topics; plus group name, member count, category, location and organizer. No login needed. For event discovery, lead generation and research.

Pricing

from $8.32 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 days ago

Last modified

Categories

Share

Meetup Events & Groups Scraper

Meetup Events & Groups Scraper

Here is one real result, with every field the actor returns:

{
"imageUrl": "https://secure.meetupstatic.com/photos/event/a/9/f/7/highres_528763511.jpeg",
"title": "Rust NYC: 'An intro to wgpu' and 'Let's Talk Generics!'",
"url": "https://www.meetup.com/rust-nyc/events/315963710/",
"id": "315963710",
"dateTime": "2026-08-11T18:30:00-04:00",
"isOnline": false,
"rsvpState": "JOIN_OPEN",
"rsvpCount": 160,
"maxTickets": 160,
"feeAmount": null,
"feeCurrency": null,
"groupName": "Rust NYC",
"groupUrl": "https://www.meetup.com/rust-nyc/",
"groupRating": 4.83,
"groupRatingCount": 865,
"venueName": "Datadog",
"venueAddress": "New York Times Building, 620 8th Ave, 50th Floor",
"venueCity": "New York",
"venueState": "NY",
"venueCountry": "us",
"guestsAllowed": false,
"numberOfAllowedGuests": 0,
"eventStatus": "ACTIVE",
"description": "Join us on Tuesday, August 11th over at Datadog. Doors open at 6:30 p.m. to give attendees time to grab pizza and socialize ... (trimmed)",
"endTime": "2026-08-11T20:30:00-04:00",
"goingCount": 160,
"waitlistCount": 10,
"hosts": ["Ross Townsend", "Sudhanshu Pandey", "Arianna Cook", "Robert Balicki", "B.Martin"],
"topics": ["Functional Programming", "Programming Languages", "Rust", "Computer Programming", "Software Development"],
"venueLat": 40.756107,
"venueLon": -73.99019,
"observedAt": "2026-08-10T14:41:39.499Z",
"error": null
}

The most complete Meetup scraper available. It returns every field the event and group expose, including RSVP and going counts, fee, venue with coordinates, group rating, hosts, topics and category, and lets you search events or groups by keyword and location or scrape specific event and group URLs.

Note: the description above is trimmed for length; live runs return the full text. All values shown are real.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches Meetup for events or groups by keyword and location, or scrapes specific event and group URLs, and writes one normalized record per item to the run's dataset. With withDetails on (the default), each event or group page is opened to add hosts, topics, going count, end time, organizer and category. Each record carries the title, date/time, RSVP and going counts, fee, group and its rating, and venue with coordinates. Missing source values are returned as null.

Quickstart

Open the actor, paste this into the input, and press Run. It returns 10 tech events in New York with full details.

{
"resultType": "events",
"keyword": "tech",
"location": "New York",
"withDetails": true,
"maxResults": 10
}

Set resultType to groups to search groups instead, or pass startUrls to scrape specific event or group pages.

Input reference

FieldTypeRequiredDefaultDescription
resultTypeenumnoeventsSearch for events or for groups.
keywordstringnotechTopic or keyword to search for, for example running, photography, startups.
locationstringnoNew YorkCity or place name, for example London, Ciudad de Mexico, Sao Paulo. The best match is used.
withDetailsbooleannotrueOpen each page to add hosts, topics, going count, end time, organizer and category. Slower but richer.
maxResultsintegerno10Maximum events or groups to collect. Free Apify plans are capped at 10 per run.
startUrlsstring[]no(none)Direct Meetup event URLs (.../events/123/) or group URLs (meetup.com/group-name/) to scrape instead of, or in addition to, a keyword search.

Output reference

One dataset item per event or group. Types: string, number, boolean, array, or null when the source value is absent. Fields marked "detail" are populated only when withDetails is on.

FieldTypeDescription
imageUrlstringEvent or group cover image URL.
titlestringEvent title (or group name).
urlstringEvent or group URL.
idstringMeetup identifier.
dateTimestringEvent start date/time (ISO 8601 with offset).
isOnlinebooleantrue if the event is online.
rsvpStatestringRSVP state, for example JOIN_OPEN.
rsvpCountnumberNumber of RSVPs.
maxTicketsnumberTicket capacity, or null.
feeAmountnumberEvent fee amount, or null if free.
feeCurrencystringFee currency, or null.
groupNamestringHost group name.
groupUrlstringHost group URL.
groupRatingnumberGroup rating (out of 5).
groupRatingCountnumberNumber of group ratings.
venueNamestringVenue name, or null for online events.
venueAddressstringVenue street address.
venueCitystringVenue city.
venueStatestringVenue state/region.
venueCountrystringVenue country code.
guestsAllowedbooleantrue if guests are allowed.
numberOfAllowedGuestsnumberNumber of guests allowed per RSVP.
eventStatusstringEvent status, for example ACTIVE.
descriptionstringEvent or group description.
endTimestringEvent end date/time (detail).
goingCountnumberNumber of attendees going (detail).
waitlistCountnumberWaitlist count (detail).
hostsstring[]Host/organizer names (detail).
topicsstring[]Topic tags (detail).
venueLatnumberVenue latitude (detail).
venueLonnumberVenue longitude (detail).
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"resultType":"events","keyword":"tech","location":"New York","maxResults":10}):

{
"title": "Rust NYC: 'An intro to wgpu' and 'Let's Talk Generics!'",
"url": "https://www.meetup.com/rust-nyc/events/315963710/",
"id": "315963710",
"dateTime": "2026-08-11T18:30:00-04:00",
"isOnline": false,
"rsvpCount": 160,
"feeAmount": null,
"groupName": "Rust NYC",
"groupRating": 4.83,
"groupRatingCount": 865,
"venueName": "Datadog",
"venueAddress": "New York Times Building, 620 8th Ave, 50th Floor",
"venueCity": "New York",
"venueState": "NY",
"endTime": "2026-08-11T20:30:00-04:00",
"goingCount": 160,
"waitlistCount": 10,
"hosts": ["Ross Townsend", "Sudhanshu Pandey", "Arianna Cook"],
"topics": ["Functional Programming", "Programming Languages", "Rust"],
"venueLat": 40.756107,
"venueLon": -73.99019,
"observedAt": "2026-08-10T14:41:39.499Z",
"error": null
}

Some fields are omitted here for length; live runs return every field listed above with real values.

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~meetup-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"resultType":"events","keyword":"photography","location":"London","maxResults":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~meetup-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"resultType":"groups","keyword":"startups","location":"Sao Paulo","maxResults":100}'

Apify CLI:

apify call scrapers_lat/meetup-scraper \
--input '{"startUrls":["https://www.meetup.com/rust-nyc/events/315963710/"]}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per record returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxResults.

FAQ and troubleshooting

A run returned 0 records. Why? The keyword and location matched no public events or groups. Try a broader keyword or a larger city. Zero-result runs are not charged.

How do I scrape groups instead of events? Set resultType to groups.

How do I get hosts, topics and going counts? Keep withDetails on (the default). These fields come from opening each event or group page.

Why is feeAmount null? The event is free, so no fee is set. Missing values are returned as null, never invented.

Is this an official Meetup tool? No. This actor is independent and has no affiliation with Meetup. It reads only data that is publicly available on the site.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Meetup. Accesses only publicly available data.