Facebook Group Data Scraper
Pricing
from $10.00 / 1,000 results
Facebook Group Data Scraper
Extract posts, comments, engagement metrics, links, and media details from public Facebook groups. Monitor public community conversations, track brand or product mentions, research topics, and export structured Facebook group data to spreadsheets, dashboards, databases, webhooks, or AI workflows.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Muhammad Qaseem Iqbal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract posts, comments, engagement metrics, links, and media details from public Facebook groups. Use this Actor to monitor public community conversations, track brand or product mentions, research topics, and send clean Facebook group data to spreadsheets, dashboards, databases, webhooks, or AI tools.
This Actor is built for public content only. It does not use Facebook login, cookies, credentials, private group access, or any access-control bypass.
What Is This Actor?
Facebook Group Data Scraper is a Facebook group data extractor for people who need structured data from public group discussions.
Add one or more public Facebook group URLs, choose how many posts you want, and start the Actor. The default settings are tuned for low-cost runs: small post limits, no comments by default, no media metadata by default, one browser page at a time, and blocked heavy page resources. The results are saved in an Apify dataset that you can download as JSON, CSV, Excel, XML, HTML table, or JSONL.
Typical users include:
- Marketing and social listening teams
- Brand and competitor research teams
- Community managers
- Lead generation and demand research teams
- Researchers studying public conversations
- Agencies monitoring niches, events, local communities, and product feedback
- Data teams feeding public social data into BI, ETL, or AI workflows
What Can You Extract?
| Data type | Examples |
|---|---|
| Posts | Post text, post URL, post ID, permalink ID, timestamp |
| Groups | Group URL, group title, public group metadata when visible |
| Authors | Public display name, profile URL, public ID when visible |
| Engagement | Likes, reactions, comments count, shares count |
| Reactions | Like, love, care, haha, wow, sad, angry counts when visible |
| Comments | Top visible comments, comment text, author, likes, date, replies where available |
| Media | Image URLs, video URLs, thumbnails, dimensions, alt text, link previews |
| Text signals | Hashtags, mentions, external links, normalized post text |
| Monitoring | New or changed posts when incremental mode is enabled |
| Diagnostics | Extraction status, confidence flags, truncation indicators, and error records |
Common Use Cases
- Monitor public Facebook groups for brand mentions
- Track competitor discussions and product complaints
- Find high-engagement posts in a niche or local community
- Collect public comments for sentiment or topic analysis
- Discover repeated questions, requests, and buying signals
- Watch event, marketplace, hobby, or neighborhood groups
- Build dashboards in Google Sheets, Excel, BI tools, or databases
- Feed public group data into AI summaries, alerts, or research reports
How To Use It
- Open the Actor in Apify Console.
- Add one or more public Facebook group URLs.
- Set the maximum number of posts per group.
- Choose whether to collect comments, media, reaction breakdowns, and shares.
- Keep Apify Proxy enabled for better reliability.
- Click Start.
- Download the results from the Output tab or use them through the API.
You can also create an Apify Task and schedule it to run every hour, day, or week. Enable incremental mode if you only want new or changed posts after the first run.
Input
The only required input is a public Facebook group URL.
Example:
{"startUrls": [{"url": "https://www.facebook.com/groups/webscrapingandautomation"}],"costMode": "lowest_cost","maxPostsPerGroup": 25,"sortMode": "recent_activity","commentsMode": "none","maxCommentsPerPost": 0,"includeReactionBreakdown": true,"includeSharesCount": true,"includeMedia": false,"blockHeavyResources": true,"maxConcurrency": 1,"maxScrollsPerGroup": 3,"privacyMode": "include_public_author_fields","proxyConfiguration": {"useApifyProxy": true}}
Supported URL examples:
https://www.facebook.com/groups/groupname/https://www.facebook.com/groups/123456789/https://www.facebook.com/groups/groupname/permalink/1234567890/https://www.facebook.com/groups/groupname/posts/1234567890/
This Actor does not support Facebook pages, profiles, events, marketplace listings, private groups, cookies, usernames, passwords, or browser sessions.
Main Input Options
| Option | What it does |
|---|---|
startUrls | Public Facebook group URLs or public group post URLs |
costMode | Sets the default cost profile for the run |
maxPostsPerGroup | Maximum posts to collect from each group |
sortMode | Tries to sort by recent activity, new posts, or relevance |
searchQuery | Optional keyword search inside public group posts |
dateFrom / dateTo | Optional date range filters |
commentsMode | Choose no comments, top comments, expanded comments, or best-effort deeper comments |
maxCommentsPerPost | Maximum comments to collect per post |
includeMedia | Include image, video, thumbnail, and link preview metadata |
blockHeavyResources | Blocks images, video, fonts, and stylesheets to reduce browser cost |
maxScrollsPerGroup | Controls how much feed scrolling the Actor does |
incrementalMode | Emit only new or changed posts on repeated runs |
privacyMode | Include, hash, or remove public author identifiers |
outputMode | Keep comments nested in posts or write separate comments/media datasets |
Cost Modes
| Mode | Best for | Default behavior |
|---|---|---|
lowest_cost | Cheapest scheduled monitoring or quick tests | 25 posts per group, no comments, no media metadata, one browser page, heavy resources blocked |
balanced | General research runs | 100 posts per group, top comments, media metadata, two browser pages, heavy resources blocked |
maximum_data | Richer one-off exports | Higher post/comment limits, expanded comments, media metadata, more scrolling, heavy resources allowed |
Output
Results are saved to the default dataset as post records. Depending on your settings, the Actor can also write separate datasets for comments, media, and errors.
Example output:
{"recordType": "post","url": "https://www.facebook.com/groups/examplepublicgroup/permalink/1234567890","time": "2026-06-12T13:45:00.000Z","group": {"title": "Example Public Group","url": "https://www.facebook.com/groups/examplepublicgroup","isPublic": true},"author": {"name": "Public Author","profileUrl": "https://www.facebook.com/profile.php?id=123"},"content": {"text": "Example public post text.","hashtags": ["example"],"externalLinks": ["https://example.com"]},"engagement": {"likesCount": 120,"sharesCount": 3,"commentsCount": 18,"reactionLikeCount": 90,"reactionLoveCount": 20},"topComments": [{"text": "Example public comment.","likesCount": 2,"threadingDepth": 0}],"commentsTruncated": false,"extraction": {"status": "succeeded","confidence": "high","changedSinceLastRun": false}}
You can download results in:
- JSON
- JSONL
- CSV
- Excel
- XML
- HTML table
You can also access results through Apify API, Apify SDKs, webhooks, integrations, or AI workflows.
Monitoring New Posts
Turn on incrementalMode when you want to monitor the same public groups over time.
On the first run, the Actor records the posts it finds. On later runs, it compares new results with the saved state and emits only posts that are new or changed. This is useful for alerts, scheduled reports, and webhook workflows.
Privacy Controls
Some public Facebook group posts may contain personal data. This Actor includes privacy options so you can reduce what is stored.
| Mode | Result |
|---|---|
include_public_author_fields | Keeps public author fields when visible |
hash_author_ids | Replaces author IDs and profile URLs with hashed values |
omit_author_fields | Removes author fields from post and comment records |
Use omit_author_fields or hash_author_ids when you do not need author-level analysis.
Limits And Reliability
Facebook pages can change often, and public visibility may vary by location, device, language, or current Facebook restrictions. Some groups or posts may return fewer results than expected.
The Actor handles common cases by:
- Skipping private or login-only groups
- Marking unavailable posts instead of stopping the whole run
- Recording when comments are hidden or limited
- Avoiding duplicate posts where possible
- Saving structured error records when enabled
- Using conservative crawling settings by default
For the cheapest runs, keep the default lowest_cost settings, use a small maxPostsPerGroup, keep commentsMode set to none, keep includeMedia off, and keep blockHeavyResources on. Turn on comments, media, OCR, downloads, or deeper scrolling only when you need richer data.
Integrations
You can connect the results to:
- Google Sheets or Excel
- Slack alerts
- Make or Zapier workflows
- Airbyte, Keboola, or other data pipelines
- Databases and BI dashboards
- Custom webhooks
- AI agents and LLM workflows through Apify API or MCP-compatible setups
FAQ
Does this Actor scrape private Facebook groups?
No. It only works with public Facebook groups and public content. It does not use credentials, cookies, login sessions, or private group access.
Do I need a Facebook account?
No. The Actor is designed for publicly available group content only.
Why did a group return zero posts?
The group may be private, empty, unavailable, region-restricted, temporarily blocked, or showing a login wall. Check the error dataset for the exact status recorded by the Actor.
Can I scrape all comments from a post?
Use commentsMode set to expanded or all_best_effort and increase maxCommentsPerPost. Facebook may still hide or limit comments in public views, so the Actor marks records when comments appear truncated.
Can I search for keywords inside groups?
Yes. Add a searchQuery to collect matching public posts where Facebook makes group search available.
Can I use this for recurring monitoring?
Yes. Create an Apify Task, enable incrementalMode, and run it on a schedule. You can also attach a webhook to send new results to another app.
Can I export the data to Excel or CSV?
Yes. Apify datasets can be downloaded in Excel, CSV, JSON, JSONL, XML, and HTML table formats.
Is it legal to scrape Facebook group data?
This Actor is intended for publicly available content only. Results may still contain personal data, so make sure you have a lawful reason to collect and process the data. If you are unsure, ask a legal professional.
Troubleshooting
| Problem | What it usually means | What to try |
|---|---|---|
not_public | The group is private or not publicly visible | Use a public group URL |
login_required_or_blocked | Facebook showed a login wall or blocked public access | Try fewer posts, lower concurrency, and keep proxy enabled |
| Few comments returned | Comments are hidden, collapsed, or limited in the public view | Increase maxCommentsPerPost or use expanded comments |
| Missing reaction breakdown | Facebook did not show detailed reactions publicly | Use total reactions as the fallback |
| Slow run | Deep comments, media, or large limits take longer | Reduce limits or disable advanced options |
| Duplicate posts | Pinned or cross-posted content appeared multiple times | Keep deduplicatePosts enabled |
| No results from keyword search | Group search may not be available publicly | Try a normal group scrape or a broader keyword |
Responsible Use
Use this Actor for public Facebook group research, monitoring, and analysis. Do not use it to collect private data, bypass access restrictions, or process personal data without a legitimate reason.
The Actor is designed to fail clearly when content is private, unavailable, or blocked instead of attempting to access restricted information.