# Facebook Group Details Scraper - Metadata & Rules (`scrapingmonkey/facebook-group-details-scraper`) Actor

Extract public Facebook group details from URLs, names or IDs. Get descriptions, privacy labels, member counts, history, rules and visible administrator previews in one table.

- **URL**: https://apify.com/scrapingmonkey/facebook-group-details-scraper.md
- **Developed by:** [ScrapingMonkey](https://apify.com/scrapingmonkey) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

Review the public identity, description, membership signals and rules of Facebook groups in a consistent dataset. **Facebook Group Details Scraper** accepts group URLs, vanity names or numeric IDs and saves one metadata row per processed group.

Use it to qualify communities before deeper research. A visible private-group overview does not make private discussions or member lists available.

| At a glance | Details |
|---|---|
| 📥 Input | Group URLs, vanity names or numeric IDs |
| 📤 Output | Identity, description, privacy, member counts, rules and visible staff previews |
| 📄 Collection | One group detail lookup; no feed pagination |
| 🔐 Facebook login | Not required |
| 💾 Delivery | One table with matching flat JSON and exportable rows |

### What the Facebook group details scraper extracts 👥

The Actor collects the group name, URL, description, pictures, privacy and discoverability labels, member-count text and numeric counts when exposed. It can also return creation history, visible administrator or moderator previews, group rules and navigation tabs.

Staff previews are limited to what the public response supplies. The administrator count and the length of the returned administrator lists can differ; these lists are not a complete membership export.

### How to scrape Facebook group details 🚀

1. Add a group URL, vanity name or numeric group ID to `inputList`.
2. Use a separate string for each group.
3. Start the Actor and review privacy, member and status columns.
4. Export the dataset or add the records to your research workflow.

```json
{"inputList":["457660044251817"]}
```

A URL such as `https://www.facebook.com/groups/harborartists/` is also a valid input form. Example targets illustrate syntax and may not be publicly available.

### Group data fields and output 📦

| Field group | Included data |
|---|---|
| Identity | Group ID, vanity name, name, URL, description and pictures |
| Visibility | Privacy, discoverability, explanatory text and public-group flag |
| Membership | Parsed member count, displayed member text and available join state |
| History | Creation timestamp, date, history text and theme color |
| Administration | Administrator count and aligned admin or moderator identity lists |
| Community information | Rule titles and descriptions, tab labels and links |

Complete illustrative success row. Group identity, counts and other values are examples, not a live-group report:

```json
{
  "input": "harborartists",
  "status": "success",
  "id": "457660044251817",
  "username": "harborartists",
  "name": "Harbor Artists Community",
  "url": "https://www.facebook.com/groups/harborartists/",
  "description": "A public group for sharing local artwork, workshops and creative projects.",
  "profile_picture_url": "https://images.example.com/harbor-artists.jpg",
  "cover_picture_url": "https://images.example.com/harbor-artists-cover.jpg",
  "privacy": "Public group",
  "privacy_description": "Anyone can see who is in the group and what they post.",
  "is_public": true,
  "discoverability": "Visible",
  "discoverability_description": "Anyone can find this group.",
  "members_count": 8400,
  "members_text": "8.4K members",
  "created_timestamp": 1592211600,
  "created_at": "2020-06-15T09:00:00Z",
  "history_text": "Group created on June 15, 2020",
  "viewer_join_state": "CAN_JOIN",
  "theme_color": "#1877F2",
  "admins_count": 2,
  "admins.id": [
    "100200300400500",
    "100200300400501"
  ],
  "admins.page_id": [
    "100200300400500",
    "100200300400501"
  ],
  "admins.username": [
    "harborartscollective",
    "harborworkshops"
  ],
  "admins.name": [
    "Harbor Arts Collective",
    "Harbor Workshops"
  ],
  "admins.url": [
    "https://www.facebook.com/harborartscollective/",
    "https://www.facebook.com/harborworkshops/"
  ],
  "admins.profile_picture_url": [
    "https://images.example.com/harbor-arts.jpg",
    ""
  ],
  "admins.is_verified": [
    false,
    false
  ],
  "moderators.id": [],
  "moderators.page_id": [],
  "moderators.username": [],
  "moderators.name": [],
  "moderators.url": [],
  "moderators.profile_picture_url": [],
  "moderators.is_verified": [],
  "rules.id": [
    "101",
    "102"
  ],
  "rules.title": [
    "Share relevant work",
    "Be respectful"
  ],
  "rules.description": [
    "Keep posts focused on art and local creative events.",
    "Give constructive feedback and credit the original creator."
  ],
  "tabs.type": [
    "discussion",
    "about"
  ],
  "tabs.title": [
    "Discussion",
    "About"
  ],
  "tabs.url": [
    "https://www.facebook.com/groups/harborartists/",
    "https://www.facebook.com/groups/harborartists/about/"
  ]
}
```

JSON keys such as `admins.name` and `rules.title` are literal names in the same table. Matching positions in related lists describe the same administrator, rule or tab. Missing item fields keep their positions as `null`; empty lists remain `[]`. Nested lists retain their dimensions.

On success, missing source data can also remain an empty string, `0` or `false`. A zero count is not proof that there are no members or administrators. Missing or empty objects become `null`. Failed rows retain `input`, use `status: failed` and set group-data fields to `null`.

### Input requirements and group coverage ⚙️

| Parameter | Type | Required | Default and limits |
|---|---|---|---|
| `inputList` | Array of strings | Yes | At least one item; no default target or configured item-count maximum |

Bare IDs and vanity names may contain letters, digits, dots, underscores or hyphens and be up to 100 characters long. Full group URLs use `/groups/GROUP/`; standard, mobile and web Facebook hosts are supported. A Page URL is not a group URL.

There is no page-count setting. The Actor reads the available group overview, not the discussion feed. The same normalized queued target is normally handled once, while different aliases for the same group may remain separate inputs.

### Facebook group research use cases 🎯

#### Community qualification

Compare group topics, descriptions, public visibility and available membership signals before selecting communities for research.

#### Group directories

Maintain IDs, names, links and descriptions in a searchable directory, with status retained for unavailable inputs.

#### Rules and moderation research

Review published rules and visible staff previews to understand a group's stated participation requirements.

#### Group change tracking

Revisit known targets to compare descriptions, privacy labels, member-count text and available history information.

### Pricing and billable group rows 💰

The Actor's **Pricing** tab gives the current pricing model and rate. Under dataset-item pricing, each saved group result can be billable, including failed rows.

Rules, administrator previews and tabs remain within the group row rather than becoming additional dataset items. Automatic retries do not independently add rows.

### Facebook group details API and integrations 🔌

Replace `$ACTOR_ID` with the Actor ID from its API tab and `$APIFY_TOKEN` with your Apify token.

```bash
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"inputList":["457660044251817"]}'
```

Schedule repeated lookups or trigger them from a database of group links. Connect the results to spreadsheets, Make, Zapier or an internal directory through exports and integrations.

### Reliability and group limits ⚠️

A group's public overview can be partial even when the request succeeds. Membership labels may be rounded, and counts or privacy flags may be absent or defaulted. Read the accompanying text fields when interpreting these values.

Temporary request failures are retried. Login restrictions, hidden groups and public-response changes can produce failed rows. Results from other inputs remain available unless a broader run or storage failure interrupts processing.

### Frequently asked questions ❓

#### Can it read private group posts?

No. A private group may expose some overview information, but this Actor does not access private discussions.

#### Does it return every member or administrator?

No. It returns available counts and visible administrator or moderator previews, without a complete membership crawl.

#### Can I use a vanity group name?

Yes. Submit the name, a numeric ID string or the full `/groups/` URL.

#### Why do the administrator count and lists differ?

Facebook can expose a total count while showing only a limited preview. The Actor keeps both values as supplied.

#### Does it also return group posts?

No. Use Facebook Group Posts Scraper to collect posts from an accessible public discussion feed.

### Support, responsible use, and related actors 🛟

Share the run ID and a safe group target that demonstrates the issue. Do not include private group content, credentials or API tokens.

Use public group information in accordance with applicable privacy, copyright and platform requirements.

# Actor input Schema

## `inputList` (type: `array`):

Add one Facebook Group ID, vanity name or full Group URL per item. Every input produces success or failed output.

## Actor input object example

```json
{
  "inputList": [
    "457660044251817"
  ]
}
```

# Actor output Schema

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

Actor dataset results with input and status columns.

# 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 = {
    "inputList": [
        "457660044251817"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapingmonkey/facebook-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 = { "inputList": ["457660044251817"] }

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

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

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

```

## CLI example

```bash
echo '{
  "inputList": [
    "457660044251817"
  ]
}' |
apify call scrapingmonkey/facebook-group-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapingmonkey/facebook-group-details-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/gd7YqqavftZnEgVnw/builds/mXgCbfRVdD4aFgCmv/openapi.json
