Meetup Group Scraper avatar

Meetup Group Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Meetup Group Scraper

Meetup Group Scraper

Scrape Meetup.com groups by URL for upcoming/past events with organizer, venue, RSVP count, and fee. Also supports location + topic discovery. No login, GDPR-safe (aggregate RSVP counts, no attendee PII).

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share


🎯 What this scrapes

Meetup ships every group, event-listing, and event-detail page as JSON-in-HTML — a server-rendered Apollo GraphQL cache with no directly callable public API. This Actor takes a group URL (or a location + topic search) and turns it into structured event rows: organizer name, venue, RSVP count, fee, and both upcoming and past events. Our own live meetup-events-scraper covers keyword+location discovery only; this sibling owns group-targeted scraping, organizer identity, and event history.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python.
  • 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts per page, Retry-After honoured.
  • 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.

💡 Use cases

  • Event-lead prospecting — pull every upcoming event from a target group with organizer name and RSVP count as an interest signal.
  • Community/ecosystem research — track a niche's group activity over time by re-running against the same group URLs.
  • Past-event history — audit how often a group actually runs events and how well-attended they are.
  • Location + topic discovery — find active groups/events in a city for a given topic without knowing group URLs up front.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
groupUrlsarrayno['chapter-community']Meetup group URLs or bare urlnames to scrape directly. One of Group URLs / (Location or Topics) is required.
locationstringno'—'Free-text location passed verbatim to Meetup's /find/ search.
topicsarrayno'—'Topic keywords for /find/ discovery, one search per topic.
eventWindowstringno'upcoming'
maxEventsintegerno50Cap on total emitted event rows per run.
includeDescriptionbooleannoTrueWhen off, the event description field is emitted as null.
proxyConfigurationobjectno{'useApifyProxy': True}Apify Proxy config. No anti-bot challenge observed as of 2026-07-20; RESIDENTIAL documented as the fallback group.

Example input

{
"groupUrls": [
"chapter-community"
],
"maxEvents": 3,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
event_idstringMeetup Event.id.
event_urlstringCanonical event URL.
event_namestringEvent title.
group_namestringHosting group name.
group_urlstringCanonical group URL.
organizer_name['string', 'null']Group organizer or event host name.
date_time_startstringISO-8601 event start.
date_time_end['string', 'null']ISO-8601 event end.
timezone['string', 'null']IANA timezone, e.g. America/New_York.
is_onlinebooleanTrue for online-only events.
venue_name['string', 'null']Venue name, null if online or hidden.
venue_address['string', 'null']Street address.
venue_city['string', 'null']Venue city.
venue_state['string', 'null']Venue state/region.
venue_country['string', 'null']Venue country code.
venue_lat['number', 'null']Venue latitude.
venue_lon['number', 'null']Venue longitude.
rsvp_countintegerAggregate RSVP count — never individual attendees.
max_tickets['integer', 'null']Capacity, if set.
is_freebooleanTrue when no fee is configured.
fee_amount['number', 'null']Ticket fee amount.
fee_currency['string', 'null']Ticket fee currency code.
description['string', 'null']Event description, null if includeDescription is false.
matched_viastring'group_url' or 'location_topic_search'.
scraped_atstringISO-8601 UTC timestamp when this row was recorded.

Example output

{
"event_id": "315673655",
"event_url": "https://www.meetup.com/chapter-community/events/315673655/",
"event_name": "Coffee & Conversation in the West Village",
"group_name": "Chapter Community: A Group for Retirees and Beyond",
"group_url": "https://www.meetup.com/chapter-community/",
"organizer_name": "Chapter Community",
"date_time_start": "2026-07-21T10:00:00-04:00",
"date_time_end": "2026-07-21T12:00:00-04:00",
"timezone": "America/New_York",
"is_online": false,
"venue_name": "Asano (inside The Noortwyck)",
"venue_address": "289 Bleecker Street",
"venue_city": "New York",
"venue_state": "NY",
"venue_country": "us",
"venue_lat": 40.73218,
"venue_lon": -74.00332,
"rsvp_count": 7,
"max_tickets": 10,
"is_free": true,
"fee_amount": null,
"fee_currency": null,
"description": "Join us in the West Village for coffee, pastries, and a conversation...",
"matched_via": "group_url",
"scraped_at": "2026-07-20T14:20:00Z"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.005One-off warm-up charge per run
result$0.002Per dataset item

Example: 1 000 results at the rates above ≈ $2.00. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

v1 reads the first SSR-embedded page only (30 upcoming / 10 past events per group) — no cursor-walking past that. Large groups with deep event history are bounded by that cap; maxEvents governs run cost, not completeness beyond it. No authenticated/private/members-only groups.

❓ FAQ

Does this scrape individual attendee identities?

No. rsvp_count is an aggregate count only — this Actor never emits individual RSVP/attendee PII, matching the GDPR posture of our other Meetup Actor.

How is this different from your meetup-events-scraper Actor?

meetup-events-scraper covers keyword+location discovery only. This Actor is group-URL-first: it adds organizer identity and past-event history, which meetup-events-scraper explicitly scopes out.

Do I need a Meetup login?

No. All four source endpoints (group page, group events, event detail, /find/ search) return complete data unauthenticated.

Why are some venue fields null?

Meetup organizers can hide venue details pre-RSVP, and online events have no venue at all — both are expected, not a scraping failure.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.