Meetup Group Events Scraper - New Event Monitor avatar

Meetup Group Events Scraper - New Event Monitor

Pricing

from $2.50 / 1,000 event returneds

Go to Apify Store
Meetup Group Events Scraper - New Event Monitor

Meetup Group Events Scraper - New Event Monitor

Upcoming events of the Meetup groups you list, one row per event: title, link, start and end with time zone, in-person or online, venue and city, going count, capacity, fee and group. Monitoring mode remembers what was listed and returns only events that are new since the last run.

Pricing

from $2.50 / 1,000 event returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Upcoming events of the Meetup groups you list, one row per event: title, event page, start and end time with the time zone, in-person or online, venue name and city, how many people are going, capacity, fee, status, and the group with its member count.

  • Monitoring mode returns only new events. Run the same groups on a schedule: the first run remembers what each group has listed, every later run returns only the events that were not listed before. A run with nothing new returns one free row that says so.
  • Asked for X, got X. A group that Meetup does not have comes back as a not-found row. It is never silently replaced by another group, and every row carries the group's own id and name as Meetup gives them.
  • Give group pages, not searches. Paste https://www.meetup.com/your-group-name/ (an /events/ link of the group or a language-prefixed link such as /ja-JP/your-group-name/ also works), or just the group name.
  • No login, no cookies, no proxy. Only the public group events page is read, one request at a time, and only pages Meetup's robots.txt allows.

Use cases

  • Lead generation: watch the groups of your industry or city and get each new event (with the venue and the group's size) the day it is announced.
  • Community and event marketing: track what similar communities schedule, how many people go, and which events fill up.
  • Calendars and newsletters: pull the upcoming events of a list of groups into one table every week.

Input

{
"groups": [
"https://www.meetup.com/dubaiwriters/",
"https://www.meetup.com/singapore-adventurous-group/"
],
"monitoringMode": false
}
  • groups - group page addresses or group names, one per line, up to 200 per run. No default: a run reads only what you give.
  • maxEvents - upper limit on event rows when monitoring is off (default 500). Groups after the limit is reached are not read.
  • monitoringMode - return only events that were not listed at earlier runs.
  • resetMonitoringState - forget what monitoring remembers and start again.

What you get

ColumnMeaning
title, eventUrl, eventIdEvent title, its page on meetup.com, and Meetup's event id
startAt, endAt, timezoneStart and end with the UTC offset as Meetup gives it (for example 2026-10-13T09:00:00+08:00), and the group's time zone name
format, eventType, isOnlinein-person, online or hybrid, and Meetup's own value (PHYSICAL, ONLINE, HYBRID)
venueName, venueCity, venueState, venueCountryThe venue as shown publicly. null for online events, and when the organizer shows the venue to members only
goingCountNumber of people going, as shown on the event
capacityAttendee limit set by the organizer. null when no limit is set (Meetup reports 0 then, which is not a real capacity)
eventStatus, rsvpStateACTIVE or CANCELLED (cancelled events stay on Meetup's list, so they are returned with this status), and whether RSVPs are open (JOIN_OPEN, CLOSED, ...)
feeAmount, feeCurrencyThe fee as set by the organizer on Meetup. null when the event has no fee
createdAtWhen the event was created on Meetup
groupName, groupUrlname, groupUrl, groupIdThe group, as Meetup names it
groupCity, groupState, groupCountry, groupMemberCount, groupIsPrivateWhere the group is and how many members it has
listedAsOfThe moment Meetup prepared the page that was read. Meetup can serve a group page that is a few hours old
changeMonitoring runs only: new-event
status, scrapedAtok for an event row; when the run delivered it

A value Meetup does not give is null, never an empty string or a made-up 0. Attendee names, organizer names, photos and the event description are not collected.

Monitoring mode

Turn on monitoringMode and schedule the same input (hourly, daily).

  1. First run of a group: the upcoming events listed now are remembered. No event rows, nothing charged, one baseline-saved row per group.
  2. Later runs: only events that were not listed before are returned (change: "new-event").
  3. Nothing new: one free no-new-events row, and one small monitoring check is charged for each group that was read and had nothing new.

Details that matter:

  • What is remembered is kept per group (by Meetup's group id), so adding a group to a scheduled input does not reset the others; the added group starts with its own first run.
  • An event is remembered by its id and also by its start time and title, so a scheduled repeat of a recurring event is not sold twice if Meetup gives it a new id.
  • Monitoring ignores maxEvents: every new event is returned. If the maximum total charge of a run is too small for all of them, the ones that did not fit are not remembered and come in the next run.
  • If a group could not be read, nothing about it is charged or changed.
  • Do not schedule two runs of the same groups at the same moment: both may return the same new event.

What is charged

  • Event returned: one per event row.
  • Group checked: monitoring mode only, one per group that was read and had no new event.
  • Not charged: the first monitoring read of a group, rows that say a group was not found or could not be read, no-events, no-new-events, limit and budget rows. There is no start fee.

Rows that are not events

Every run says what happened. These rows have a status other than ok, a note in plain English, and are free:

not-found (Meetup has no group with that name) · invalid-input (the line is not a group page, for example a search link) · group-unreadable / group-blocked (the page could not be read; the HTTP status is in httpStatus) · no-events (the group has nothing scheduled) · baseline-saved · no-new-events · limit-reached · budget-reached · not-read · disallowed-by-robots / robots-unreadable.

Limits

  • Meetup shows the first 30 upcoming events on a group page. A group with more (for example a weekly event scheduled a year ahead) returns its 30 soonest events and a free limit-reached row with the group's total. The rest are only reachable through Meetup's internal API, which robots.txt disallows, so this Actor does not use it. In monitoring mode, those later events are returned as new when they come inside the first 30.
  • Searching Meetup by keyword or location is not offered: robots.txt disallows those search pages. Give the groups you want to follow.
  • Private groups that hide their events from visitors cannot be read.
  • "Upcoming" is Meetup's own list: it includes an event that has started and not ended yet (for example a trip of several days).
  • Requests are sent one at a time with more than a second between them: about 2 to 3 seconds per group (36 groups took 95 seconds on 2026-10-08).
  • This Actor is not affiliated with Meetup.

Thanks for using this Actor

We build these tools for people who run them every day, and we improve them from what users tell us.

  • Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
  • Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.

If this Actor saved you time, a short review helps other people find it.