Facebook Groups Post & Comments: No cookies require avatar

Facebook Groups Post & Comments: No cookies require

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Facebook Groups Post & Comments: No cookies require

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.5

(9)

Developer

TheDoor

TheDoor

Maintained by Community

Actor stats

34

Bookmarked

4.9K

Total users

265

Monthly active users

5.9 hours

Issues response

18 hours ago

Last modified

Share

⚡ High-Speed Facebook Group Scraper — 100+ URLs in Parallel

Facebook Group scraper process map

Submit one or many public Facebook Group URLs in one run and collect structured post data for monitoring, research, content analysis, and automation.

Notice: AI features are disabled. AI group search and the AI post filter are not available. The prompt and groupSearchPrompt input fields must be empty or omitted; a run that sends text in them is rejected before it starts and is not charged. All other features work as usual.

Why use this Actor?

  • Bulk-ready — process 1, 10, or 100+ group URLs in one run.
  • Complete post data — post text, author, timestamps, engagement, media, shared posts, sale listings, and comments.
  • Flexible collection — choose feed order, comments, replies, time filters, and cursors.
  • Recurring monitoring — optionally return only posts that are new since the prior run.

Explore the Facebook scraping toolkit

Need comments from individual Facebook posts? Use the Facebook Comment Scraper. For public Facebook Pages, use the Facebook Page Scraper.

Output at a glance

Each dataset record is a Facebook Group post and can include regular-post data, shared-post data, native sale-listing data, comments, and replies.

Quick start

Enter one or more public Facebook Group URLs and choose how many posts to collect from each group.

{
"url": ["https://www.facebook.com/groups/sciencehumor/"],
"maxPosts": 20,
"sortingOrder": "newest_posts"
}

Bulk example

Use the same format for many groups. Each URL is handled independently.

{
"url": [
"https://www.facebook.com/groups/sciencehumor/",
"https://www.facebook.com/groups/dogspotting/",
"https://www.facebook.com/groups/instantpotcommunity/"
],
"maxPosts": 20,
"sortingOrder": "most_relevant"
}

What you can collect

  • Post text, URL, ID, date, and timestamp
  • Post author name and profile URL
  • Reactions, comments count, and shares count
  • Photos, videos, and other media
  • Shared-post and Buy/Sell listing details
  • A top comment, or all comments
  • Comment replies when enabled

Input guide

Facebook Group URLs

UI field: Facebook Group URLs
JSON field: url

Enter one or more Facebook Group URLs. Both slug URLs and numeric group-ID URLs are supported.

{
"url": [
"https://www.facebook.com/groups/sciencehumor/",
"https://www.facebook.com/groups/1528487012172019/"
]
}

Maximum Posts

UI field: Maximum Posts
JSON field: maxPosts

The maximum number of posts to return for each group.

{ "maxPosts": 100 }

Post sorting order

UI field: Post sorting order
JSON field: sortingOrder

ValueMeaning
newest_postsStart with the newest posts. Recommended for monitoring.
newest_activityOrder by the most recently active posts.
most_relevantUse Facebook's relevant-post ordering.
buy_sell_listingsReturn Buy/Sell listing posts only.
{ "sortingOrder": "newest_posts" }

Include top comment

UI field: Include top comment
JSON field: includeTopComment

Adds the post's top comment when it is available. Use this when you need a quick comment signal rather than a complete comment collection.

{ "includeTopComment": true }

Fetch comments

UI field: Fetch comments
JSON field: fetchAllComments

Fetches root comments for every returned post. Replies are not included unless Fetch comment replies is also enabled.

{
"fetchAllComments": true,
"fetchCommentReplies": false
}

Fetch comment replies

UI field: Fetch comment replies
JSON field: fetchCommentReplies

Fetches replies below each returned root comment. Enable Fetch comments as well. Collecting replies can make a run take longer.

{
"fetchAllComments": true,
"fetchCommentReplies": true
}

Only newest posts for the next run

UI field: Only newest posts for the next run
JSON field: onlyNewPosts

Use this for recurring monitoring of the group URLs entered above.

Important: enter again only the group URL(s) you want to update in that run. onlyNewPosts stores a checkpoint per group, not the list of groups itself. You do not need to re-enter every URL from an earlier run: submit any subset, and the Actor returns newer posts only for that subset. Checkpoints for previously monitored URLs that are not submitted remain unchanged. If url is empty, the run fails safely and does not collect or update any checkpoint.

On the first run, the Actor collects posts normally. On a later run by the same Apify account with the same group URL, it returns only posts newer than the newest post successfully saved before. It then stops when it reaches the previously collected post.

The Actor automatically uses newest_posts order when this option is enabled.

{
"url": ["https://www.facebook.com/groups/sciencehumor/"],
"maxPosts": 100,
"onlyNewPosts": true
}

Use this for daily or hourly monitoring. Leave it off when you want to collect the feed again from the beginning.

Filter posts by time

You can set a lower time boundary (newer than), an upper boundary (older than), or both.

Posts newer than (days)

JSON field: postsNewerThanDays

Collect posts from a rolling number of days before the Actor starts. Decimal values are supported.

{ "postsNewerThanDays": 2 }

0.5 means the last 12 hours. 1.5 means the last 36 hours.

Posts newer than (hours)

JSON field: postsNewerThanHours

Collect posts from a rolling number of hours before the Actor starts. Decimal values are supported.

{ "postsNewerThanHours": 6 }

Time frame

UI field: Time frame
JSON field: postsNewerThan

Use the UI's Relative or Absolute mode:

  • Relative examples: "2 days", "90 minutes", "1.5 hours", "1 month"
  • Absolute example: "2026-10-01" (date only; timestamps are not accepted)
{ "postsNewerThan": "2 days" }

When it is set, Time frame takes priority over both day and hour fields. If Time frame is empty and both day and hour fields are set, days take priority.

Posts older than

UI field: Posts older than
JSON field: postsOlderThan

The UI provides a calendar for convenient date selection. API/JSON input can also use relative durations such as "7 days". Absolute input must be a normal date in YYYY-MM-DD format; timestamps are not accepted.

{ "postsOlderThan": "2026-10-01" }
{ "postsOlderThan": "7 days" }

Combine it with a newer-than field to collect a specific date range.

{
"postsNewerThan": "2026-09-01",
"postsOlderThan": "2026-10-01"
}

Posts inside the selected range are returned in the default dataset. Posts read while locating the selected range but outside it are stored separately in the out_timeframe dataset and are marked with out_of_time_frame: true.

Ready-to-use examples

Monitor the latest posts every day

{
"url": ["https://www.facebook.com/groups/sciencehumor/"],
"maxPosts": 100,
"onlyNewPosts": true,
"sortingOrder": "newest_posts"
}

Collect posts from the last 24 hours

{
"url": ["https://www.facebook.com/groups/sciencehumor/"],
"maxPosts": 100,
"postsNewerThanHours": 24,
"sortingOrder": "newest_posts"
}

Collect posts in a specific date range

{
"url": ["https://www.facebook.com/groups/sciencehumor/"],
"maxPosts": 100,
"postsNewerThan": "2026-09-01",
"postsOlderThan": "2026-10-01",
"sortingOrder": "newest_posts"
}

Collect posts with comments but without replies

{
"url": ["https://www.facebook.com/groups/sciencehumor/"],
"maxPosts": 20,
"fetchAllComments": true,
"fetchCommentReplies": false
}

Collect posts with comments and replies

{
"url": ["https://www.facebook.com/groups/sciencehumor/"],
"maxPosts": 20,
"fetchAllComments": true,
"fetchCommentReplies": true
}

Output data

The run can contain these datasets:

  • default — posts returned to the user.
  • out_timeframe — posts read while locating a selected time range but outside that range. This is used only when a time filter is set.

Every row in the default dataset represents one returned post.

Post fields

FieldDescription
post_idFacebook post identifier.
post_urlDirect URL to the post.
textPost text, when available.
creation_timeHuman-readable post date and time.
creation_timestampPost time as a Unix timestamp in milliseconds.
group_urlThe group URL used for the result.
group_idResolved Facebook group ID.
post_typePost type, such as a regular, shared, or sale post.
thumbnailPreview image URL, when available.
mediaAttached photos, videos, and media metadata.

Regular post example

{
"post_type": "regular",
"post_id": "26296717513297956",
"post_url": "https://www.facebook.com/groups/sciencehumor/permalink/26296717513297956/",
"text": "Example post text",
"user_name": "Post author",
"creation_time": "Fri, 06 Feb 2026 06:12:19 GMT",
"reactions_count": 2974,
"comments_count": 625,
"shares_count": 182,
"media": [
{
"type": "Photo",
"url": "https://www.facebook.com/photo/?fbid=..."
}
]
}

Author and engagement fields

FieldDescription
user_namePost author's display name.
user_urlPost author's Facebook profile URL, when available.
userAuthor object with ID, name, profile URL, and profile picture.
reactions_countTotal reactions on the post.
reactionLikeCountLike reactions.
reactionLoveCountLove reactions.
reactionHahaCountHaha reactions.
reactionCareCountCare reactions.
reactionSadCountSad reactions.
comments_countNumber of comments reported by Facebook.
shares_countNumber of shares reported by Facebook.

Shared posts and listings

FieldDescription
sharedPostOriginal post details when the post shares another Facebook post.
sale_postBuy/Sell listing details when available.

Comments and replies

The topComment field contains either the top comment or the comments collected with Fetch comments.

Comments and replies are returned as one flat array. The examples below show the two record types.

Root comment example

{
"id": "comment_1001",
"text": "This is the original comment.",
"author_name": "Comment author",
"author_id": "1000123456789",
"author_profile_url": "https://www.facebook.com/example.user/",
"comment_time": "2026-10-11T04:09:09.000Z",
"timestamp": 1791691749,
"replies_count": 2,
"is_reply": false,
"replyto_comment_id": null,
"depth": 0,
"reactions_count": 3,
"reaction_types": { "like": 2, "love": 1 },
"media": []
}

Reply example

{
"id": "comment_1002",
"text": "This is a reply to the original comment.",
"author_name": "Reply author",
"author_id": "1000987654321",
"comment_time": "2026-10-11T04:15:00.000Z",
"timestamp": 1791692100,
"replies_count": 0,
"is_reply": true,
"replyto_comment_id": "comment_1001",
"depth": 1,
"reactions_count": 1,
"reaction_types": { "like": 1 },
"media": []
}
  • id is the comment or reply ID.
  • is_reply is false for a root comment and true for a reply.
  • replyto_comment_id is null for a root comment; for a reply, it contains the parent comment's id.
  • depth is 0 for a root comment and increases for nested replies.
  • replies_count is the number of replies Facebook reports for a root comment.
  • media contains images or other media attached to the comment when available.

Important notes

  • Public groups provide the most reliable results. Private, unavailable, or login-protected groups may not return posts.
  • Facebook content can change between runs, so counts and ordering can change over time.
  • Fetching all comments and replies can increase runtime and the number of collected records.
  • Use onlyNewPosts for recurring monitoring and leave it off for a full collection.

FAQ

Can I submit many URLs at once?

Yes. Add all group URLs to the url array. The Actor handles each valid group independently.

Why did a run return fewer posts than maxPosts?

A group may have fewer available posts, fewer posts matching the selected time filter, or restricted access.

Does the Actor support private groups?

No. Private, unavailable, or login-protected groups may not return posts.

Does the default dataset contain error rows?

No. The default dataset contains post records only.

Contact

For bug reports, custom fields, or integration questions, contact tuananhhoangtran2010@gmail.com.