Facebook Groups Scraper
Pricing
$29.99/month + usage
Facebook Groups Scraper
Facebook Groups Scraperr extracts public posts, comments, reactions, and group metadata from Facebook groups. Export structured JSON for research, analytics, automation, and monitoring. Fast, scalable, and built for reliable Facebook data scraping workflows. 🚀
Pricing
$29.99/month + usage
Rating
0.0
(0)
Developer
ScrapAPI
Actor stats
0
Bookmarked
6
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Facebook Groups Scraper
Facebook Groups Scraper is a Facebook groups scraping tool that extracts public group posts, comments, reactions, and group metadata into structured JSON. It solves the pain of manually monitoring discussions by acting as a reliable Facebook group posts scraper and Facebook group data extractor for marketers, developers, researchers, and analysts. With flexible sorting, time filters, and resilient fallbacks, it powers scalable monitoring, analytics, and automation across Facebook communities.
What data / output can you get?
Below are example fields the actor saves to the Apify dataset for each post. Values are real examples from the output structure.
| Data type | Description | Example value |
|---|---|---|
| facebookUrl | Source Facebook group URL | https://www.facebook.com/groups/germtheory.vs.terraintheory |
| url | Direct link to the post | https://www.facebook.com/groups/germtheory.vs.terraintheory/permalink/26139230289060632/ |
| time | ISO 8601 timestamp (UTC) | 2026-02-18T23:15:08.000Z |
| user.id | Author’s Facebook ID | 895345419797571 |
| user.name | Author’s display name | Anonymous participant |
| text | Post content text | Someone here with contamination OCD? It would be really nice... |
| id | Post node ID | UzpfSTg5NTM0NTQxOTc5NzU3MTpWSzoyNjEzOTIzMDI4OTA2MDYzMg== |
| legacyId | Legacy post ID (permalink ID) | 26139230289060632 |
| feedbackId | Feedback object ID | ZmVlZGJhY2s6MjYxMzkyMzAyODkwNjA2MzI= |
| likesCount | Total reactions count | 7 |
| commentsCount | Total comments count | 7 |
| sharesCount | Total shares count | 0 |
| reactionLikeCount | “Like” reactions | 3 |
| reactionLoveCount | “Love” reactions | 0 |
| topReactionsCount | Sum of top reactions | 7 |
| attachments[].image.uri | Attachment image URL (if present) | https://.../image.jpg |
| topComments[].commentUrl | Link to top comment | https://www.facebook.com/.../?comment_id=26139546935695634 |
| facebookId | Group ID | 430027810407566 |
| groupTitle | Group title (if available) | null |
| pageAdLibrary.is_business_page_active | Ad library flag (always false) | false |
| inputUrl | Input URL for traceability | https://www.facebook.com/groups/germtheory.vs.terraintheory |
Notes:
- The actor exports structured JSON to the Apify dataset. You can download the dataset in JSON or process it in your workflows.
- Bonus structures include rich attachments (photos/albums) and topComments with author references and reaction counts.
Key features
- 🔒 Always-on residential proxy routing
- The actor enforces Apify Residential Proxy for all requests to maximize reliability and reduce blocks during Facebook groups crawling.
- 🧭 Flexible post sorting
- Choose your feed ordering via viewOption: CHRONOLOGICAL, RECENT_ACTIVITY, TOP_POSTS, or CHRONOLOGICAL_LISTINGS for targeted exploration of group discussions.
- ⌛ Precision time filtering
- Filter results with onlyPostsNewerThan using absolute dates (YYYY-MM-DD) or natural language (e.g., “30 days”, “1 year”) to download Facebook group posts within a specific period.
- 🔍 Search within groups (no login)
- Narrow results with searchGroupKeyword and searchGroupYear. Ideal for quick, letter-based filtering and year scoping in public groups.
- 🧰 Resilient GraphQL fallback
- Provide fallbackDocId to keep your Facebook groups crawler operational if Facebook updates its frontend and automatic discovery temporarily fails.
- 🧵 Rich engagement capture
- Outputs include likesCount, commentsCount, sharesCount, reactionLikeCount, reactionLoveCount, topReactionsCount, and topComments for a robust Facebook group comments scraper workflow.
- 📦 Structured dataset export
- Clean, ready-to-use JSON records with stable identifiers (id, legacyId), author objects, timestamps, and attachments for analytics pipelines.
- 🔁 Built for scale and stability
- Automatic retries, anti-blocking delays, and pagination cursors ensure consistent collection at scale using a production-ready Facebook group scraper API approach via Apify.
How to use Facebook Groups Scraper - step by step
- Sign in to Apify and open the “facebook-groups-scraper” actor.
- Paste one or more public group URLs into startUrls (string list). Example: https://www.facebook.com/groups/germtheory.vs.terraintheory
- Set resultsLimit to control how many posts you want per run (default: 20).
- Choose viewOption to control sorting: CHRONOLOGICAL, RECENT_ACTIVITY, TOP_POSTS, or CHRONOLOGICAL_LISTINGS.
- (Optional) Use filters:
- searchGroupKeyword for lightweight text filtering (best with 1–2 letters).
- searchGroupYear to scope by year (works best when combined with the keyword).
- onlyPostsNewerThan to restrict by date (absolute or relative).
- (Optional) Set fallbackDocId if the run reports a missing doc_id after a Facebook change.
- (Optional) Configure proxyConfiguration if needed. The actor will still route through Apify Residential Proxy automatically.
- Click “Run”. Monitor logs as the Facebook groups scraping tool fetches and saves posts.
- Download the dataset once complete (JSON export) or stream it to your automation.
Pro Tip: Combine onlyPostsNewerThan with viewOption=RECENT_ACTIVITY to focus on fresh, high-engagement threads.
Use cases
| Use case name | Description |
|---|---|
| Market research & trend tracking | Monitor public group conversations to identify emerging topics and sentiment using a Facebook group posts scraper. |
| Community analysis | Map engagement patterns with likes, comments, shares, and top comments for deeper community insights. |
| Competitive intelligence | Track public group chatter around products and brands with a Facebook groups crawler for open communities. |
| Content research | Collect examples, questions, and pain points from real users to inform editorial and product roadmaps. |
| Academic & social research | Export structured Facebook group data for time-bound studies using date filters and sorting. |
| Automation pipelines | Trigger workflows when new posts match your filters, leveraging consistent JSON output in your stack. |
Why choose Facebook Groups Scraper?
A production-focused Facebook group data extractor built for precision, automation, and resilience.
- ✅ Accurate, structured output: Consistent JSON fields with IDs, timestamps, and engagement metrics.
- 🌍 Public-data only: Works on public groups without login; ideal for safe, policy-aware workflows.
- 📈 Scales with retries: Robust retry logic and residential proxy help minimize blocks on large jobs.
- 🧩 Developer-friendly records: Stable identifiers (id, legacyId) and nested structures (attachments, topComments) for downstream joins.
- 🔧 Sorting & filters that matter: viewOption, onlyPostsNewerThan, searchGroupKeyword, and searchGroupYear for focused datasets.
- 🛡️ Resilient by design: fallbackDocId keeps the Facebook group posts scraper running if Facebook updates its UI.
- 🆚 Better than browser extensions: No manual sessions, no unstable DOM automation—server-side reliability for repeatable runs.
Bottom line: a dependable Facebook groups scraping tool for analytics, automation, and reporting.
Is it legal / ethical to use Facebook Groups Scraper?
Yes—when done responsibly. This actor is designed to extract publicly available data from Facebook groups. It does not access private groups or authenticated data.
Guidelines:
- Scrape only public groups and publicly visible content.
- Review and comply with Facebook’s terms of service and applicable laws (e.g., GDPR/CCPA).
- Use data responsibly for research, analytics, or monitoring—not for spam or abusive practices.
- Consult your legal team for edge cases or jurisdiction-specific requirements.
Input parameters & output format
Example JSON input
{"startUrls": ["https://www.facebook.com/groups/germtheory.vs.terraintheory"],"resultsLimit": 20,"viewOption": "CHRONOLOGICAL","searchGroupKeyword": "","searchGroupYear": "","onlyPostsNewerThan": "","fallbackDocId": "","proxyConfiguration": {"useApifyProxy": false}}
Parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| startUrls | array (stringList) | Yes | — | Add one or more public Facebook group URLs. Only public groups are supported; private groups require authentication. You can scrape multiple groups in one run. |
| resultsLimit | integer | No | 20 | Maximum number of posts to scrape from each group. Recommended to start with 20–50 to test, then scale up. |
| viewOption | string (enum) | No | CHRONOLOGICAL | Post sorting strategy. Options: CHRONOLOGICAL, RECENT_ACTIVITY, TOP_POSTS, CHRONOLOGICAL_LISTINGS. Note: Post limit applies to “New posts” sorting only. |
| searchGroupKeyword | string | No | "" | Search posts by keyword or letter to filter results. Without login, search capabilities are limited. Best used with 1–2 letters plus the year filter. |
| searchGroupYear | string | No | "" | Year filter (e.g., 2024). For best results, combine with Search Keyword. |
| onlyPostsNewerThan | string | No | "" | Time boundary for posts. Accepts absolute (YYYY-MM-DD) or relative (e.g., “2 weeks”, “30 days”, “1 year”) values. |
| fallbackDocId | string | No | "" | Set a known working GraphQL doc_id when automatic discovery fails (e.g., after a Facebook frontend update). |
| proxyConfiguration | object | No | {"useApifyProxy": false} | Configure proxy settings for secure and reliable scraping. The actor employs residential proxy routing for operations. |
Example JSON output
{"facebookUrl": "https://www.facebook.com/groups/germtheory.vs.terraintheory","url": "https://www.facebook.com/groups/germtheory.vs.terraintheory/permalink/26139230289060632/","time": "2026-02-18T23:15:08.000Z","user": {"id": "895345419797571","name": "Anonymous participant"},"text": "Someone here with contamination OCD? It would be really nice to talk with someone who knows the feeling. I find the OCD groups very rude and not a bit compassionate.\nIf someone has the same issue: what does it cause to you, does it get better with the NH eating?","topReactionsCount": 7,"feedbackId": "ZmVlZGJhY2s6MjYxMzkyMzAyODkwNjA2MzI=","reactionLikeCount": 3,"reactionLoveCount": 0,"id": "UzpfSTg5NTM0NTQxOTc5NzU3MTpWSzoyNjEzOTIzMDI4OTA2MDYzMg==","legacyId": "26139230289060632","attachments": [],"likesCount": 7,"sharesCount": 0,"commentsCount": 7,"topComments": [{"commentUrl": "https://www.facebook.com/groups/germtheory.vs.terraintheory/permalink/26139230289060632/?comment_id=26139546935695634","id": "Y29tbWVudDoyNjEzOTIzMDI4OTA2MDYzMl8yNjEzOTU0NjkzNTY5NTYzNA==","feedbackId": "ZmVlZGJhY2s6MjYxMzkyMzAyODkwNjA2MzJfMjYxMzk1NDY5MzU2OTU2MzQ=","date": "2026-02-18T23:57:54.000Z","text": "I grew up with it and started seeing a therapist when I was child...","profileUrl": null,"profilePicture": "https://scontent.fmlm1-1.fna.fbcdn.net/v/t39.30808-1/297778910_10227860631765240_3586262800094343766_n.jpg?...","profileId": "1353974969","profileName": "Alisa Ulven","likesCount": "5","threadingDepth": 0}],"facebookId": "430027810407566","groupTitle": null,"pageAdLibrary": {"is_business_page_active": false,"id": "430027810407566"},"inputUrl": "https://www.facebook.com/groups/germtheory.vs.terraintheory"}
Notes:
- All fields above are pushed directly via Actor.pushData during the run.
- Some fields may be null or empty when not present on the source page (e.g., groupTitle for certain stories).
FAQ
Does this support private groups or require login?
No. The scraper is designed for public Facebook groups only. The input schema explicitly notes that private groups require authentication and are not supported by this actor.
Can I control how many posts are scraped?
Yes. Use the resultsLimit parameter to set a maximum number of posts to extract per group. Start small to validate your setup and then scale up.
How do I sort posts (e.g., newest, top posts)?
Use the viewOption parameter. Supported values are CHRONOLOGICAL, RECENT_ACTIVITY, TOP_POSTS, and CHRONOLOGICAL_LISTINGS. Note that the post limit applies to “New posts” sorting only.
Can I filter by time or year?
Yes. You can use onlyPostsNewerThan for absolute dates (YYYY-MM-DD) or relative periods like “30 days” and combine searchGroupYear with searchGroupKeyword for year-scoped filtering.
What happens if Facebook changes its frontend and the scraper can’t find a doc_id?
Provide a known working fallbackDocId in the input. The actor is built with automatic discovery and will use your fallback when needed to keep the pipeline running.
Are comments and reactions included?
Yes. The output includes likesCount, commentsCount, sharesCount, reactionLikeCount, reactionLoveCount, topReactionsCount, plus an array of topComments with IDs, timestamps, and author references.
Do I need to configure a proxy?
You can leave proxyConfiguration as-is. The actor automatically uses Apify Residential Proxy under the hood to improve stability and reduce blocking during Facebook groups crawling.
Which export formats are supported?
Results are saved to the Apify dataset in structured JSON. You can download the JSON output and integrate it into your analytics or automation workflows.
Closing CTA / Final thoughts
Facebook Groups Scraper is built to reliably extract structured, public Facebook group posts at scale. With residential proxy routing, robust sorting and time filters, and a fallback GraphQL doc ID, it powers dependable research, monitoring, and analytics.
Whether you work in marketing, data analysis, or research, this Facebook groups crawler helps you collect clean post data, top comments, reactions, and attachments in JSON. Developers can plug the dataset into pipelines and automation with confidence. Start extracting smarter Facebook group insights today.