Facebook Groups Post & Comments: No cookies require
Pricing
from $1.00 / 1,000 results
Facebook Groups Post & Comments: No cookies require
⚡1.5$ Facebook Group & Post Comments Scraper . Process 100+ public group URLs in parallel High Speed and extract post text, authors, timestamps, engagement, media, shared posts, sale listings, and comments. No login or cookies required.
Pricing
from $1.00 / 1,000 results
Rating
4.2
(8)
Developer
TheDoor
Maintained by CommunityActor stats
31
Bookmarked
4.5K
Total users
234
Monthly active users
3 days ago
Last modified
Categories
Share
⚡ High-Speed Facebook Group Scraper — 100+ URLs in Parallel

⚡ Built for bulk scraping: submit 100+ public Facebook Group URLs in one run and process them concurrently.
Collect structured Facebook Group posts for research, monitoring, content analysis, and automation.
⚡ Why use this Actor?
- ⚡ High-speed bulk processing — process many group URLs asynchronously in one run.
- 🚀 100+ URLs per run — built for large client jobs, automation, and SaaS workflows.
- 📊 Complete post data — text, author and profile data, timestamps, engagement, media, shared posts, sale listings, and top comments.
- 🎯 Reliable pagination — collect the requested posts with timeframe-aware filtering.
Explore the full Facebook scraping toolkit
Need comments from the posts you collect? Use the Facebook Comment Scraper for comments, replies, images, and shared links. For public Facebook Pages, use the Facebook Page Scraper to collect page posts.
📦 Output at a glance
Each dataset record can include:
- Regular posts — text, author, timestamps, engagement, media, and comments.
- Shared posts — original post details and original media.
- Sale posts — listing title, price, location, seller, and listing media.
- Comment data — comment text, author, direct URL, media, shared links, reactions, and replies.
The detailed JSON examples and field tables are provided below in the Output data section.
🚀 Quick start
{"url": ["https://www.facebook.com/groups/sciencehumor/","https://www.facebook.com/groups/dogspotting/"],"maxPosts": 50,"sortingOrder": "newest_posts","includeTopComment": true,"postsNewerThan": "7 days"}
Bulk example: many groups in one run
{"url": ["https://www.facebook.com/groups/sciencehumor/","https://www.facebook.com/groups/dogspotting/","https://www.facebook.com/groups/instantpotcommunity/"],"maxPosts": 20,"sortingOrder": "most_relevant","postsNewerThan": "7 days"}
The same format supports 50, 100, or more group URLs. The groups are not processed as one blocking sequential batch; each valid group starts its own asynchronous collection task.
Optional: collect comments for each post
Comment collection is per post returned from the group feed. Do not provide a
second URL list. Set fetchAllComments to true to fetch all comments and
replies for each post, or false for post-only output.
{"url": ["https://www.facebook.com/groups/dogspotting/"],"maxPosts": 10,"fetchAllComments": true}
🧩 Input fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | array of strings | Yes | — | One or more public Facebook Group URLs. Duplicate URLs are ignored by the input schema. |
maxPosts | integer | No | 50 | Maximum matching posts per group. |
sortingOrder | enum | No | newest_posts | newest_posts, newest_activity, most_relevant, or buy_sell_listings. |
includeTopComment | boolean | No | true | Include the top comment. When fetchAllComments is enabled, all fetched comments and replies are stored in topComment. |
fetchAllComments | boolean | No | true | Fetch all comments and replies when enabled. Posts with many comments may take longer; set to false for post-only output. |
postsNewerThan | datepicker | No | disabled | Choose the Relative or Absolute tab. Examples: 7 days or 2026-08-01. |
Use the fields shown above. Older timeframe fields are not needed.
⏱️ Timeframe filter
postsNewerThan is the only recommended timeframe input. If it is omitted, no timeframe filter is applied; the actor follows sortingOrder until maxPosts is reached or Facebook returns no more posts.
The Actor applies the date filter to the posts returned by the selected sorting order. If the feed contains fewer matching posts, the dataset may contain fewer records than maxPosts.
Relative examples:
"postsNewerThan": "30 minutes""postsNewerThan": "7 days"
Absolute date and timestamp examples:
"postsNewerThan": "2026-08-08""postsNewerThan": "2026-08-08T00:00:00Z"
The timeframe is independent of the feed order. For example, sortingOrder: "most_relevant" with postsNewerThan: "7 days" returns relevant posts from the last seven days; it does not switch to newest order.
🔀 Sorting modes
newest_posts: newest posts first.newest_activity: posts with the newest activity first.most_relevant: Facebook's most relevant posts.buy_sell_listings: Buy/Sell listings only. Ordinary posts are skipped.
Examples
url: one or more public Facebook Group URLs.maxPosts: maximum number of matching posts per group.sortingOrder:newest_posts,newest_activity,most_relevant, orbuy_sell_listings.postsNewerThan: optional absolute date, timestamp, or relative period such as7 days.
Example:
{"url": ["https://www.facebook.com/groups/768747966644550/"],"maxPosts": 20,"sortingOrder": "newest_posts","postsNewerThan": "7 days"}
Example:
{"url": ["https://www.facebook.com/groups/768747966644550/"],"maxPosts": 50,"sortingOrder": "buy_sell_listings"}
The target is the number of sale listings, not the number of feed pages. If Facebook returns ordinary posts mixed into the feed, they are skipped and are not written to the dataset.
📦 Output data
The dataset contains post records only. Run-level statistics stay in the run log.
Regular post
Example output record. Personal identity fields are redacted; post, media, and comment URLs remain available when Facebook exposes them.
{"post_type": "regular","sharedPost": null,"sale_post": null,"post_id": "26296717513297956","post_url": "https://www.facebook.com/groups/sciencehumor/permalink/26296717513297956/","text": "I'll lean towards trusting reputable scientists on this one.\n#sciencememes #funniestmemes","user_name": "***************","creation_time": "Fri, 06 Feb 2026 06:12:19 GMT","reactions_count": 2974,"comments_count": 625,"shares_count": 182,"media": [{"type": "Photo","id": "910582434846742","uri": "https://example.com/media/photo.jpg","url": "https://www.facebook.com/photo/?fbid=910582434846742&set=gm.26296717513297956&idorvanity=226096020786795"}],"topComment": [{"id": "***************","text": "Once you study and understand thermodynamics, denial just becomes willful ignorance.","url": "https://www.facebook.com/groups/sciencehumor/posts/26296717513297956/?comment_id=26296750206628020","creation_timestamp": 1770358577,"replies_count": 27,"is_reply": false,"replyto_comment_id": null,"depth": 0,"user": {"id": "***************","name": "***************","profileUrl": "***************","profilePic": "***************"},"media": []},{"id": "***************","text": "A second comment example.","url": "https://www.facebook.com/groups/sciencehumor/posts/26296717513297956/?comment_id=***************","creation_timestamp": 1770358600,"replies_count": 0,"is_reply": true,"replyto_comment_id": "***************","depth": 1,"user": {"id": "***************","name": "***************","profileUrl": "***************","profilePic": "***************"},"media": []}]}
sharedPost contains the original shared content and its media when available. sale_post contains Facebook native commerce metadata such as listing ID, product ID, title, price, location, listing URL, seller, and listing media. A regular post that only mentions selling in its text may still have sale_post: null.
Output fields
| Field | What it contains |
|---|---|
post_type, post_id, post_url | Post type, ID, and Facebook URL. |
group_url, group_id | Source group information. |
text, text_preview, creation_time | Full post text, a compact table-friendly text preview, and publication time. |
user, user_name, user_id, actors | Author name and profile details when available. |
reactions_count, comments_count, shares_count | Engagement totals. |
media | Images, videos, reels, media IDs, and Facebook URLs attached to the group post. |
sharedPost | Original post content and media when the post is shared. |
sale_post | Native Facebook sale/listing details and listing media. |
topComment | Top comment object when full comments are disabled; when fetchAllComments is enabled, this array contains all fetched comments and replies. |
Comment fields
When comments are enabled, each item in topComment may contain:
| Field | What it contains |
|---|---|
id, url | Comment ID and direct Facebook comment URL. |
text, comment_time, timestamp | Comment content and publication time. |
author_name, author_id, author_profile_url, author_profile_picture | Comment author information when available. |
media, image_url | Images or other media attached to the comment. |
shared_link, shared_post | Shared link or Facebook post referenced by the comment. |
replies_count, is_reply, replyto_comment_id, depth | Reply count and flat reply relationship. Replies are not nested; use replyto_comment_id to identify the parent comment. |
reactions_count, reaction_types | Comment engagement information when available. |
Comments and replies example
Comments and replies are returned as one flat array inside topComment. A reply
points to its parent with replyto_comment_id; it is not nested inside a
replies array.
{"topComment": [{"id": "comment_1001","text": "This is the original comment.","url": "https://www.facebook.com/groups/example/posts/123/?comment_id=comment_1001","is_reply": false,"replyto_comment_id": null,"depth": 0,"replies_count": 1},{"id": "comment_1002","text": "This is a reply to the original comment.","url": "https://www.facebook.com/groups/example/posts/123/?comment_id=comment_1002","is_reply": true,"replyto_comment_id": "comment_1001","depth": 1,"replies_count": 0}]}
In this example, comment_1002 is a reply to comment_1001 because its
replyto_comment_id matches the parent comment's id.
The default dataset contains post records only. Run summaries and failure diagnostics are written to the run log, not as extra dataset rows.
Shared post
When a group member shares another Facebook post, sharedPost contains the
original post. The outer post's media belongs to the group post; media inside
sharedPost belongs to the original shared post.
{"post_type": "shared","post_id": "1735323531050607","post_url": "https://www.facebook.com/groups/example/permalink/1735323531050607/","text": "","media": [],"sharedPost": {"id": "***************","url": "https://www.facebook.com/permalink.php?story_fbid=***************&id=***************","user": {"id": "***************","name": "***************","profileUrl": "***************"},"text": "A shared post with the original author's text and media.","media": [{"type": "Photo","id": "***************","uri": "https://scontent.xx.fbcdn.net/original-image.jpg","url": "https://www.facebook.com/photo/?fbid=***************"}],"paidPartnership": false}}
Sale post example
Sale listings include listing details and listing media separately from the outer post media.
{"post_type": "sale_post","post_id": "...","post_url": "https://www.facebook.com/groups/example/permalink/.../","text": "...","sale_post": {"id": "...","title": "...","price": "...","location": "...","listingUrl": "https://www.facebook.com/groups/example/permalink/.../","media": { "id": "...", "uri": "https://example.com/listing-image.jpg", "url": "https://www.facebook.com/photo/?fbid=..." },"seller": null,"isSold": false}}
Reliability
- Results can be exported from Apify in the format you need.
- Facebook may return fewer posts when a group has fewer matching posts or access is restricted.
- Use the Actor responsibly and comply with Apify and Facebook terms.
❓ FAQ
Can I submit many URLs at once?
Yes. Submit all group URLs in the url array. The Actor validates them, skips inaccessible groups, and processes valid groups concurrently.
Why did a run return fewer posts than maxPosts?
The group may have fewer posts in the selected timeframe, Facebook may end the feed, or the group may be inaccessible. This is not automatically a scraper failure.
Does the Actor support private groups?
No. Private or login-gated groups are filtered and are not written as post records.
Does the dataset contain error rows?
No. The default dataset contains post records only. Group errors and run statistics remain in the run log.
Contact
For bug reports, custom fields, or integration questions, contact tuananhhoangtran2010@gmail.com.