Facebook Group Members Scraper
Pricing
from $6.00 / 1,000 member founds
Facebook Group Members Scraper
Extract active, visible members of public Facebook groups from recent post and comment authors. Cookieless, provider-backed, MCP-ready.
Pricing
from $6.00 / 1,000 member founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
11
Monthly active users
23 days ago
Last modified
Categories
Share
Facebook Group Members Scraper extracts active, visible members of public Facebook groups from recent post and comment authors. It accepts public Facebook group URLs or numeric group IDs, and returns one deduplicated record per observed member. Each record can include identity fields, activity counts, first and last seen timestamps, sample activity text, source group details, and provider source so you can review who was observed and how they appeared in the group.
The Actor is cookieless, provider-backed, and usable through Apify MCP. It is designed for public group activity that is visible in posts and comments, and the dataset represents one member record per unique person found across the scanned input groups.
Best fit and connected workflows
Use this Actor when your workflow starts with a public Facebook group and you want the people behind recent engagement rather than the group page itself. It fits well for:
- community research on active participants in a niche group
- lead discovery from public group engagement
- identifying posters, commenters, and mixed-activity members for follow-up analysis
- feeding member profiles into downstream comment or reaction workflows
A natural next step is to deepen a returned member trail into post-level or reaction-level detail:
- Then use Facebook Post Comments Scraper works well after this Actor when a returned member record points to a public post that you want to inspect at the comment level.
- Then use Facebook Likes Scraper - Public Reactions & Profiles works well after this Actor when you want public reactions and profile-level follow-up on a returned Facebook record.
Practical scenario
Maya manages a community research project focused on plant-based cooking groups. She starts with a public group URL and wants a list of active members who have recently posted or commented. The Actor returns names, profile URLs, activity types, post and comment counts, reactions received, last active timestamps, and a sample text snippet.
Maya sees that one member appears as both, with several comments and a recent post. She uses lastActiveAt to prioritize the most recent voices and uses sampleUrl to review the original post before deciding which profiles to include in her outreach shortlist.
Input
Input fields
| Field | Type | Description |
|---|---|---|
groupUrls | array of strings | Public Facebook group URLs to extract members from. Accepts /groups/<slug> or /groups/<numericId> forms. |
groupIds | array of strings | Numeric Facebook group IDs as an alternative to URLs. Merged with groupUrls. |
maxMembers | integer | Maximum unique members to return per group before stopping. Defaults to 200. |
maxPostsPerGroup | integer | Number of recent group posts to scan while collecting members. Defaults to 50. |
includeCommenters | boolean | Includes commenters from scanned posts in addition to post authors. Defaults to true. |
deepComments | boolean | Fetches full comment threads for each post to surface more commenters. Defaults to false. |
sortBy | string | Provider-side ordering for scanned posts. Supported values: RECENT_ACTIVITY, TOP_POSTS, CHRONOLOGICAL, CHRONOLOGICAL_LISTINGS. |
providerOrder | string | Selects which backing provider to try first. Defaults to scrapecreators-first. |
includeRawData | boolean | Attaches the raw provider author object under rawAuthor for debugging. Defaults to false. |
Focused input example
{"groupUrls": ["https://www.facebook.com/groups/vegrecipes"],"groupIds": ["198591470769811"],"maxMembers": 100,"maxPostsPerGroup": 50,"includeCommenters": true,"deepComments": false,"sortBy": "RECENT_ACTIVITY","providerOrder": "scrapecreators-first","includeRawData": false}
Output
One dataset row represents one unique active member observed across the scanned input groups. The dataset is published in the default Apify dataset, and the run summary is stored in the default key-value store under OUTPUT.
Output fields
| Field | Type | Description |
|---|---|---|
memberId | string | Facebook pfbid identifier for the member. |
name | string | Member display name. |
shortName | string or null | Member first or short name when provided. |
profileUrl | string | Facebook profile URL built from the member ID. |
activityType | string | How the member was seen: poster, commenter, or both. |
postCount | integer | Number of scanned posts authored by this member. |
commentCount | integer | Number of scanned comments authored by this member. |
reactionsReceived | integer | Total reactions on this member's scanned posts. |
firstSeenAt | string or null | ISO 8601 timestamp of the earliest scanned activity. |
lastActiveAt | string or null | ISO 8601 timestamp of the most recent scanned activity. |
sampleText | string or null | Snippet of the member's most recent scanned post or comment. |
sampleUrl | string or null | URL of the post tied to the sample activity. |
groupUrl | string | Canonical URL of the source group. |
groupId | string or null | Numeric group ID when known. |
groupSlug | string or null | Group vanity slug when known. |
source | string | Provider that supplied the activity (scrapecreators or sociavault). |
scrapedAt | string | ISO 8601 timestamp the record was produced. |
Illustrative output record
{"memberId": "pfbid02d8example","name": "Satish Chandra","shortName": "Satish","profileUrl": "https://www.facebook.com/pfbid02d8example","activityType": "both","postCount": 2,"commentCount": 7,"reactionsReceived": 34,"firstSeenAt": "2026-06-25T10:10:00.000Z","lastActiveAt": "2026-06-25T11:04:00.000Z","sampleText": "Thanks for sharing this recipe idea.","sampleUrl": "https://www.facebook.com/groups/vegrecipes/posts/1234567890/","groupUrl": "https://www.facebook.com/groups/vegrecipes","groupId": null,"groupSlug": "vegrecipes","source": "scrapecreators","scrapedAt": "2026-06-25T11:10:00.000Z"}
How it works
This Actor uses a cookieless, provider-backed chain to derive unique active members from public group activity.
- It accepts public Facebook group URLs and numeric group IDs.
- It scans recent visible group posts according to the selected sort order.
- It collects authors of posts and, when enabled, commenters from the scanned posts.
- It can fetch full comment threads when
deepCommentsis enabled, which surfaces more commenters from the same posts. - It deduplicates all observed authors into one member record per person per group.
- It records member activity metadata such as counts, sample text, source group, source provider, and timestamps.
- It exposes output in a dataset and run summary in the default key-value store.
The live contract also shows provider environment variables for ScrapeCreators and SociaVault, which matches the provider-backed execution model.
Pricing
Facebook Group Members Scraper uses Pay per event pricing plus Apify platform usage.
Actor startis charged once per run to cover initialization.Member foundis charged once per unique active member returned in the dataset.
For example, if a run returns one hundred unique members, the billed event count includes one actor start event plus one hundred member-found events. Open the live Pricing tab in the Apify Console for the current pricing details.
Use with AI agents (MCP)
This Actor is available as an Apify Actor usable through Apify MCP. It returns structured member records from public Facebook group activity, which makes it a practical tool for agents that need person-level signals from posts and comments.
Tool description: Given public Facebook group URLs or numeric group IDs, the tool returns deduplicated records for active members observed in recent visible posts and comments. It is useful for extracting name, profile URL, activity type, counts, sample activity, and source group metadata in a structured dataset.
Actor identity: khadinakbar/facebook-group-members-scraper
Analyze this public Facebook group and return the deduplicated member records for people who appear in recent visible posts and comments. Include names, profile URLs, activity types, counts, last active time, sample text, and source group metadata.
Output interpretation and provenance: Each dataset item represents one unique observed member. activityType shows whether the person appeared as a poster, commenter, or both. source identifies the provider that supplied the activity, and scrapedAt shows when the record was produced. groupUrl, groupId, and groupSlug connect the member back to the source group.
Scope, pagination, and cost guidance: The Actor scans recent visible posts up to maxPostsPerGroup and stops when it reaches maxMembers or when the group runs out of visible posts. includeCommenters adds commenters already embedded in scanned posts. deepComments can surface more commenters from the same posts and may increase provider work and billed member events. For small samples, set a smaller maxMembers value before running the Actor.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const input = {groupUrls: ['https://www.facebook.com/groups/vegrecipes'],maxMembers: 25,maxPostsPerGroup: 20,includeCommenters: true,deepComments: false,sortBy: 'RECENT_ACTIVITY',providerOrder: 'scrapecreators-first',includeRawData: false,};const run = await client.actor('khadinakbar/facebook-group-members-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(item.name, item.profileUrl, item.activityType);}
Best results and outcome guidance
Use a public group URL or numeric group ID that points to the exact group you want to analyze. If you want currently active members, keep sortBy on RECENT_ACTIVITY. If you want a broader view of engaged authors, increase maxPostsPerGroup and enable includeCommenters. If you want more commenter coverage from busy posts, turn on deepComments. Use includeRawData only when you want provider-level inspection in the member records.
A practical routing pattern is:
- Start with this Actor to identify active members in a public group.
- Use
sampleUrlor the member profile link to review the underlying public activity. - Continue into Facebook Post Comments Scraper when the next step is comment-level inspection.
- Continue into Facebook Likes Scraper - Public Reactions & Profiles when the next step is reaction-level or profile-oriented follow-up.
Continue the workflow
- Then use Facebook Group Posts Scraper — Text, Engagement & Comments to extend Facebook Group Members Scraper research with a complementary content contract.
- Then use Facebook Groups Scraper to extend Facebook Group Members Scraper research with a complementary content contract.
Design note
I found that the dataset contract centers each record on a single deduplicated person, and the fields consistently tie that person back to one source group and one provider. That made it clear the README should describe one member record as one observed active member, rather than a roster entry.
FAQ
Can I use group URLs and group IDs together?
Yes. The input schema accepts both groupUrls and groupIds, and the Actor merges them into one run.
What kind of Facebook input fits this Actor suitable?
Use public group URLs in /groups/<slug> form or numeric group IDs. The schema is scoped to groups, not profile URLs or page URLs.
How does this differ from a group posts scraper?
This Actor focuses on people. It derives member records from authors of recent public posts and comments. A group posts scraper focuses on post content instead.
What should I connect after this Actor if I need more detail?
If a returned member record points you to a post that needs comment-level analysis, use Facebook Post Comments Scraper. If you want public reactions and profile-oriented follow-up, use Facebook Likes Scraper - Public Reactions & Profiles when the next workflow needs that Actor's focused input and output contract.
How is the output shaped for downstream processing?
The dataset is already deduplicated and includes stable member identifiers, profile links, activity counts, source-group metadata, and timestamps, which makes it suitable for enrichment or agent workflows.
Responsible use
Use this Actor only for lawful purposes and in line with applicable platform terms and data-protection rules. It processes publicly visible group activity and returns structured records from that activity. Review your own compliance requirements before storing, sharing, or acting on the output.
