Meetup Events Scraper avatar

Meetup Events Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Meetup Events Scraper

Meetup Events Scraper

This Meetup events scraper searches public Meetup.com events by keyword + location — title, date/time, event type, venue, going/RSVP count, capacity, fee, and hosting group (name + Meetup URL). Export to JSON, CSV, or Excel. Public-only, no login, GDPR-safe (aggregate counts, no attendee PII).

Pricing

from $4.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

11 days ago

Last modified

Share


🎯 What this scrapes

Meetup is where AI, data, startup, and tech communities run their events — and every public listing is a B2B-intent signal. This Actor searches Meetup's public events feed by keyword (optionally scoped to a city), reads each event's server-rendered data (no login, no API key), and turns it into clean, structured rows: when and where the event is, whether it's in-person or online, how many people are going, the capacity, the fee, and which group is hosting it — with a direct link to that group's Meetup page.

Pair it with our Lu.ma Event Discovery Scraper for a two-Actor events-intelligence suite covering the same B2B buyer across both platforms.

🔥 What we handle for you

  • 🛡️ Browser fingerprint impersonationcurl-cffi mimics real Chrome / Firefox / Safari TLS handshakes so Meetup serves a browser, not Python.
  • 🌐 Proxy rotation via Apify Proxy — a fresh session and exit IP whenever you need one.
  • 🔁 Retries with exponential backoff on 403 / 408 / 429 / 5xx — up to 5 attempts per page, so a transient block never costs you a row.
  • 🧮 Aggregate RSVP counts, no PII — we emit the "going" count only; individual attendee identities are never touched.
  • 🧊 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 events that land in your dataset. No data, no charge.

💡 Use cases

  • Event-led lead gen — surface hosting groups and their Meetup pages for the topics your buyers care about.
  • Community & ecosystem mapping — track which AI / data / startup groups are active in a city over time.
  • Competitive intelligence — watch a rival's or partner's event cadence, turnout, and pricing.
  • Sponsorship prospecting — find well-attended events worth a partnership pitch, ranked by going count.
  • Trend research — aggregate events across keywords and cities to spot what's heating up.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Add one or more keywords (e.g. ai, startup) and, optionally, a location (e.g. New York, NY).
  3. Pick an event type (any / physical / online) and 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
keywordsarrayyes["ai"]Search terms — one Meetup search per keyword. Accepts a bare string too.
locationstringnoCity / region for the Meetup location filter (e.g. New York, NY). Leave empty for a global relevance search.
eventTypestringnoanyFilter emitted rows: any, physical (in-person), or online (virtual).
maxEventsPerKeywordintegerno50Max events per keyword (1500). One search page yields roughly 27; use several keywords for more breadth.
includeDescriptionbooleannotrueWhen off, description is emitted as null for a leaner row.
proxyConfigurationobjectno{"useApifyProxy": true}Apify Proxy configuration. The default shared pool is sufficient.

Example input

{
"keywords": ["ai", "startup"],
"location": "New York, NY",
"eventType": "any",
"maxEventsPerKeyword": 50,
"includeDescription": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output

Every row is one public event.

FieldTypeNotes
search_keywordstringThe input keyword that produced this row.
event_idstringMeetup internal event ID.
titlestringEvent title.
event_urlstringCanonical public event URL.
date_timestringEvent start time (ISO-8601 with timezone offset).
event_typestringphysical or online.
is_onlinebooleanTrue when the event is virtual.
going_countintegerNumber of members going (aggregate RSVP count).
max_ticketsinteger | nullCapacity cap, when the host set one.
is_freebooleanTrue when the event has no fee.
fee_amountnumber | nullTicket fee amount, when paid.
fee_currencystring | nullISO currency code of the fee, when paid.
venue_namestring | nullVenue name, when present.
venue_addressstring | nullVenue street address, when present.
venue_citystring | nullVenue city, when present.
venue_statestring | nullVenue state / region, when present.
venue_countrystring | nullVenue country code, when present.
latitudenumber | nullVenue latitude, when the feed exposes it.
longitudenumber | nullVenue longitude, when the feed exposes it.
group_namestring | nullHosting group display name.
group_urlstring | nullHosting group Meetup URL.
descriptionstring | nullEvent description; null when includeDescription is off.
scraped_atstringISO-8601 timestamp of when this row was recorded.

Example output

{
"search_keyword": "ai",
"event_id": "315229748",
"title": "Build the AI Future: LinuxONE & IBM Hands-On in NYC",
"event_url": "https://www.meetup.com/ai-modeling-and-machine-learning-in-action-sponsored-by-ibm/events/315229748/",
"date_time": "2026-07-21T08:30:00-04:00",
"event_type": "physical",
"is_online": false,
"going_count": 50,
"max_tickets": 50,
"is_free": true,
"fee_amount": null,
"fee_currency": null,
"venue_name": "IBM 1 Madison Avenue",
"venue_address": "1 Madison Avenue",
"venue_city": "NYC",
"venue_state": "NY",
"venue_country": "us",
"latitude": null,
"longitude": null,
"group_name": "IBM AI - New York City",
"group_url": "https://www.meetup.com/AI-Modeling-and-Machine-Learning-in-Action-Sponsored-by-IBM/",
"description": "Join us in New York City for a full-day, hands-on meetup...",
"scraped_at": "2026-07-10T15:00:00+00:00"
}

💰 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.004Per event written to the dataset

Example: 1 000 events ≈ $4.00. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🔒 Privacy & GDPR

This Actor scrapes public-by-design event metadata only. Hosting groups are public organizer pages Meetup surfaces by design. RSVPs are emitted strictly as an aggregate count (going_count) — individual attendee identities, emails, and phone numbers are never collected. That's a deliberate design choice, not a limitation: the "who's going" list carries personal data, so we take only the number, never the people.

🚧 Limitations

  • Per-keyword results are page-limited. Meetup's public find feed serves roughly the first ~27 events per search, and it does not expose a reliable cursor for deep pagination on this surface. We deliberately do not ship a fragile pagination hack (reliability beats depth — a Devil Scrapes rule). To widen coverage, run several keywords (and/or several locations) in one run; each keyword is its own search.
  • Geo coordinates are sparse. The find feed exposes venue name and address but usually not latitude / longitude, so latitude / longitude are frequently null.
  • Public feed only. Private, members-only, or draft events are not accessible.
  • Attendee lists are out of scope — see Privacy & GDPR above.

❓ FAQ

Do I need a Meetup login or API key?

No. Everything comes from the public, server-rendered find feed — no auth at all.

How many events do I get per keyword?

Roughly the first page Meetup serves for that search (~27). For broader coverage, pass multiple keywords — each one runs its own search.

Does it collect attendee data?

No. We emit only the aggregate "going" count. Individual RSVP identities are never collected.

Can I filter to only in-person or only online events?

Yes. Set eventType to physical or online; leave it any for both.

Why is latitude / longitude sometimes null?

The public find feed usually exposes the venue name and address but not coordinates. We return null rather than guessing.

💬 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.