# Meetup Group Details Scraper (`epicscrapers/meetup-group-details-scraper`) Actor

Scrapes full details of Meetup groups by URL, including member count, description, location, social media links, topics, organizer info, and contact information.

- **URL**: https://apify.com/epicscrapers/meetup-group-details-scraper.md
- **Developed by:** [Epic Scrapers](https://apify.com/epicscrapers) (community)
- **Categories:** Lead generation, Social media, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Meetup Group Details Scraper

Pull everything Meetup knows about any group — members, organizer, ratings, social profiles, contact info, GPS coordinates, and more — from a simple URL. No login. No API key. No limits.

### What You Get

Every run returns **35+ structured fields** per group. The highlights:

**Audience & engagement** — member count, average event rating, total ratings, and a sample of active member names so you can gauge both size and community health at a glance.

**Full contact surface** — emails and phone numbers extracted directly from the group description, plus the organizer's name, ID, and profile photo. No more manually scanning pages to find who to reach.

**Social media in one object** — Facebook, Twitter/X, Instagram, LinkedIn, YouTube, TikTok, Flickr, and Tumblr links returned as a structured object keyed by platform. Evaluate a group's full digital footprint instantly.

**Location, down to the coordinates** — city, state, country, ZIP, timezone, and exact latitude/longitude. Ready for geospatial analysis, proximity filtering, or mapping.

**Group DNA** — founding date, topic tags, topic category, join mode (OPEN vs. APPROVAL), privacy status, subscription tier, and cover photo URL.

**Descriptions, two ways** — raw HTML and clean Markdown, ready for database storage or LLM ingestion without preprocessing.

**External URLs** — every non-Meetup, non-social link in the description, surfacing Discord servers, WhatsApp groups, personal sites, and other tools the organizer uses.

### Input

```json
{
  "groupUrls": [
    "https://www.meetup.com/ny-tech/",
    "https://www.meetup.com/london-elite-social/"
  ]
}
````

Paste URLs directly from your browser. Sub-pages like `/ny-tech/events/` are handled automatically — the group slug is extracted from the first path segment. Invalid or non-existent groups are reported as errors without stopping the rest of the run.

### Output

```json
{
  "id": "176399",
  "name": "NY Tech Meetup",
  "urlname": "ny-tech",
  "membersCount": 52864,
  "topicCategoryName": "Technology",
  "topics": ["New Technology", "Web Technology", "Futurology", "Entrepreneurship"],
  "city": "New York",
  "state": "NY",
  "country": "us",
  "lat": 40.73,
  "lon": -73.99,
  "foundedDate": "2004-09-25T15:30:22-04:00",
  "timezone": "America/New_York",
  "isPrivate": false,
  "joinMode": "OPEN",
  "status": "PAID",
  "rating": 4.33,
  "ratingTotal": 5846,
  "sampleMemberNames": ["Scott Heiferman", "Howard Greenstein", "Ed Sim", "dawn barber"],
  "sampleMemberCount": 10,
  "socialMedia": {
    "facebook": "https://www.facebook.com/pages/NY-Tech-Meetup/55251622633",
    "twitter": "@nytechalliance",
    "instagram": "https://www.instagram.com/nytechalliance/",
    "linkedin": "https://www.linkedin.com/company/nytechalliance/"
  },
  "contactInfo": {
    "phones": null,
    "emails": ["admin@nytech.org"]
  },
  "otherUrls": ["https://www.nytech.org", "https://www.civichall.org/"]
}
```

### Who Uses This

**Sponsorship & partnerships teams** use `membersCount`, `rating`, and `ratingTotal` to separate genuinely engaged communities from inflated headcounts — then use `contactInfo.emails` to reach the organizer directly.

**Recruiters** filter by `topics` to find communities where their target candidates self-organize, then use `sampleMemberNames` as a starting point for LinkedIn research and `organizerName` as a referral source.

**Event tech companies** use `status` (paid vs. free plan), `joinMode`, and `otherUrls` to qualify organizers as sales leads and understand what tools they already use.

**Community managers** benchmark against competitors on member count, rating, and topic coverage — using `foundedDate` to understand growth velocity relative to their own.

**Researchers** combine `lat`/`lon`, `foundedDate`, and `topicCategoryName` to map community formation across cities and time.

**Investors doing due diligence** independently verify claimed audience sizes, engagement depth, and community maturity for any company that runs Meetup groups.

### Why Not the Official Meetup API?

Meetup's official API requires a paid Pro subscription and returns a fraction of what this scraper provides. Contact extraction, Markdown descriptions, social media aggregation, sample member names, external URL discovery, event ratings — none of it is available through official channels.

Every run queries Meetup live. No caching. No stale data.

### Related Actors

| Actor | What it does |
|---|---|
| [Meetup Groups Search Scraper](https://apify.com/epicscrapers/meetup-groups-finder) | Discover groups by keyword, location, and category — then feed their URLs here |
| [Meetup Events Scraper](https://apify.com/epicscrapers/meetup-events-scraper) | Extract event details, dates, venues, and RSVP data |
| [Google News Scraper](https://apify.com/epicscrapers/google-news-scraper) | Track news coverage of communities and industries |
| [Webpage to Markdown](https://apify.com/epicscrapers/webpage-to-markdown) | Convert group pages and event pages to clean Markdown |

### FAQ

**How many groups can I run at once?** No limit. Add 1 or 1,000 — the scraper processes them all and returns results for valid groups even if some URLs fail.

**Do I need an account or API key?** No. This scraper accesses publicly available group data. Nothing to configure before you start.

**How current is the data?** Every run is live. Member counts, descriptions, ratings, and all other fields reflect the group's state at the exact moment the scraper runs.

**What groups are supported?** Any public Meetup group, anywhere in the world. Location fields accurately reflect where each group is based, regardless of country or language.

**What export formats are available?** JSON, CSV, Excel, HTML table, XML, and RSS — all via the Apify Console or API. Connects to Google Sheets, Airtable, Zapier, Make, and webhooks.

***

*This actor is not affiliated with, endorsed by, or sponsored by Meetup.com or WeWork Companies Inc. All data accessed is publicly available. You are responsible for ensuring your use complies with Meetup's Terms of Service.*

# Actor input Schema

## `groupUrls` (type: `array`):

One or more Meetup group page URLs. The urlname is automatically extracted from each URL (e.g. <code>https://www.meetup.com/ny-tech/</code> → <code>ny-tech</code>). Non-existent groups are reported as errors without failing the whole run.

## Actor input object example

```json
{
  "groupUrls": [
    "https://www.meetup.com/ny-tech/",
    "https://www.meetup.com/london-elite-social/"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

Link to the dataset of scraped records

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "groupUrls": [
        "https://www.meetup.com/ny-tech/",
        "https://www.meetup.com/london-elite-social/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("epicscrapers/meetup-group-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "groupUrls": [
        "https://www.meetup.com/ny-tech/",
        "https://www.meetup.com/london-elite-social/",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("epicscrapers/meetup-group-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "groupUrls": [
    "https://www.meetup.com/ny-tech/",
    "https://www.meetup.com/london-elite-social/"
  ]
}' |
apify call epicscrapers/meetup-group-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=epicscrapers/meetup-group-details-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Meetup Group Details Scraper",
        "description": "Scrapes full details of Meetup groups by URL, including member count, description, location, social media links, topics, organizer info, and contact information.",
        "version": "0.0",
        "x-build-id": "uuSe1dllzKLk53mmq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/epicscrapers~meetup-group-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-epicscrapers-meetup-group-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/epicscrapers~meetup-group-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-epicscrapers-meetup-group-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/epicscrapers~meetup-group-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-epicscrapers-meetup-group-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "groupUrls"
                ],
                "properties": {
                    "groupUrls": {
                        "title": "📍 Group URLs",
                        "type": "array",
                        "description": "One or more Meetup group page URLs. The urlname is automatically extracted from each URL (e.g. <code>https://www.meetup.com/ny-tech/</code> → <code>ny-tech</code>). Non-existent groups are reported as errors without failing the whole run.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
