Meetup Events Scraper avatar

Meetup Events Scraper

Pricing

from $0.03 / 1,000 result extracteds

Go to Apify Store
Meetup Events Scraper

Meetup Events Scraper

Collect public Meetup event records from URLs or keyword searches. Export dates, venues, organizer labels and RSVP counts when available; coverage varies.

Pricing

from $0.03 / 1,000 result extracteds

Rating

0.0

(0)

Developer

Fetch Cat

Fetch Cat

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

4

Monthly active users

4 hours ago

Last modified

Share

Collect public Meetup event records from search, group, or event URLs, or build searches with keywords and a location. Meetup Events Scraper saves titles, dates, venue details, organizer labels and RSVP counts when available, ready for CSV, Excel or JSON export.

Results depend on what Meetup exposes publicly. Searches can include recommendations outside your requested topic or location; this is not a complete event calendar or an attendee directory.

Quick start

  1. Open the input form and choose a public Meetup URL or keyword search.
  2. Set a small maxItems limit and start the Actor.
  3. Inspect event titles and cities in the dataset, then export the records you need.
{
"keywords": ["data"],
"location": "Berlin, Germany",
"maxItems": 5,
"includeDetails": false,
"proxyConfiguration": { "useApifyProxy": false }
}

Apify platform walkthrough: set up and run an Actor. The example uses a different Actor.

Ready-to-run examples

These existing public examples demonstrate two input workflows. Their names describe search inputs, not guaranteed topic coverage.

What can you do with the data?

  • Event research: Review public dates, venues and descriptions for a selected area.
  • Community discovery: Find event pages and public organizer labels for manual follow-up.
  • Calendar curation: Export a sample, check relevance and availability, then select events for your calendar.

No Meetup login is required. Private groups, attendee identities, contact lists, ticket purchases and joining events are outside this Actor's scope.

Input

Provide startUrls, keywords, or both. Location alone is not a complete input. Combined usable sources must be between 1 and 100.

SettingAPI keyPurpose
Start URLsstartUrlsPublic Meetup find, group or event URLs.
KeywordskeywordsTerms used to build event search URLs.
LocationlocationLocation text for keyword searches; does not alter supplied URLs.
Maximum eventsmaxItemsShared result ceiling, 1–10,000; form default 10. Set it explicitly in API calls.
Open detail pagesincludeDetailsOptional public enrichment, enabled by default.
Resume start URLsresumeStartUrlsAccepted legacy field, currently unused; submit pending URLs through startUrls instead.
Proxy configurationproxyConfigurationOptional connection settings; see field help for behavior and costs.

Output

Each saved row describes one event URL. Unavailable values are null. This synthetic shape-only example illustrates the field names, not an observed event:

{
"eventId": null,
"eventUrl": "https://www.meetup.com/example-group/events/000000000/",
"title": null,
"description": null,
"startDate": null,
"endDate": null,
"timezone": null,
"isOnline": null,
"venueName": null,
"address": null,
"city": null,
"country": null,
"groupName": null,
"groupUrl": null,
"organizerName": null,
"imageUrl": null,
"attendanceCount": null,
"rsvpCount": null,
"scrapedAt": "2026-10-25T00:00:00.000Z"
}
FieldsMeaning
eventId, eventUrl, title, descriptionEvent identity, public URL, name and description. Descriptions can retain markup.
startDate, endDate, timezoneSource date strings and the trailing UTC offset or Z, not a named timezone.
isOnlineTrue for online or mixed attendance; may be unknown.
venueName, address, city, countryAvailable public venue details.
groupName, organizerName, groupUrlPublic organizer labels and URL; the two names use the same source value.
imageUrlFirst available public image URL.
attendanceCountCapacity signal: maximum or remaining capacity, not actual attendance.
rsvpCountReported RSVP or attendee count when supplied.
scrapedAtCollection timestamp in UTC.

The run's key-value store also contains RUN_SUMMARY with source statuses, saved counts and pending URLs. It is a diagnostic summary, not an automatic resume checkpoint. If a source fails after saving some events, its source-level count can understate those saved rows; inspect the dataset itself.

Pricing and limits

The start event is a one-time run charge after initial input validation. The result event is charged for each saved event row. A failed run can still have a start charge and charges for already saved events. Diagnostic summaries are not result rows. See the live Pricing tab for current rates and discounts.

  • Start small: Set maxItems explicitly and disable detail enrichment for a first sample. The limit is shared across sources, not a guaranteed result count.
  • Check relevance: Meetup may return recommendations outside your keywords or selected city. There is no guaranteed topic filter, selectable ordering, date-range filter or exhaustive collection.
  • Expect missing fields: Public pages vary; group pages do not guarantee a complete calendar and private content is not collected.
  • Keep partial records: A run can preserve useful rows despite an isolated source failure. Currently, a run with no collected events fails; inspect the summary rather than interpreting this as proof that an event was deleted or private.
  • Avoid duplicate exports: Duplicate event URLs are suppressed within a run, not across runs. Each new run can return previously collected events.

API and AI agents

Use fetch_cat/meetup-events-scraper with the same bounded JSON shown above. Read the default dataset after the run completes and inspect run status before consuming partial output.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/meetup-events-scraper').call({
keywords: ['data'], location: 'Berlin, Germany', maxItems: 5,
includeDetails: false, proxyConfiguration: { useApifyProxy: false },
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/meetup-events-scraper').call(run_input={
'keywords': ['data'], 'location': 'Berlin, Germany', 'maxItems': 5,
'includeDetails': False, 'proxyConfiguration': {'useApifyProxy': False},
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~meetup-events-scraper/runs' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"keywords":["data"],"location":"Berlin, Germany","maxItems":5,"includeDetails":false,"proxyConfiguration":{"useApifyProxy":false}}'

The official Apify MCP server can discover and run Actors. For a focused setup, use this Actor's MCP URL in a compatible client; see Apify MCP documentation. Authenticate through the client's supported secret configuration, never in a prompt.

Example agent request: “Run fetch_cat/meetup-events-scraper with keywords: ["data"], location: "Berlin, Germany", maxItems: 5 and includeDetails: false. Inspect the returned titles and cities, then summarize relevant events with their URLs. Do not assume every recommendation matches the requested topic.”

FAQ

Can I export Meetup events to CSV or Excel?

Yes. Open the run's dataset and select CSV, Excel or JSON export. API clients can read the same dataset.

Is this a Meetup events API alternative?

It provides public event records through the Apify API, not official Meetup API access. It cannot access private content or guarantee the same coverage and filters as Meetup's own services.

Why are results unrelated, missing or fewer than requested?

Public availability and Meetup recommendations vary. maxItems is only a ceiling, and topic/location matching is not enforced. Try a specific public event URL when you need one known event, and inspect RUN_SUMMARY for source failures.

Does it collect attendee names or resume a previous run?

No attendee identities are exported. Automatic checkpoint continuation is not implemented; submit pending source URLs through startUrls for a new run.

Support and feedback

For custom additions or integrations, email hello@fetchcat.dev.

Found an error or have a feature request? Open an issue from the Actor page with the run ID, a non-sensitive input example and what you expected.

Made with care for curious people, AI agents and the possibilities in data. ♥