Facebook Group Post Scraper avatar

Facebook Group Post Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Facebook Group Post Scraper

Facebook Group Post Scraper

Facebook Group Post Scraper — Extract Facebook Group post data including text, captions, reactions, comments, shares, timestamps, media URLs, author details, and post links. Useful for community research, audience insights, competitor analysis, and social media monitoring.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

Social Data API

Social Data API

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Facebook Group Post Scraper — Posts, Authors, Reactions and Comments

Facebook Group Post Scraper extracts the posts of public Facebook groups and returns each post's text, author, link, publish date, attachments, reaction, share and comment counts, plus the top comments under it. Every response is structured JSON — ready to pass directly to an LLM, index into a vector store, or feed a market research pipeline. No Facebook account or cookies needed. Paste one group link today, then put the scraper on a schedule to follow what members ask, buy and complain about.


What data can I extract with Facebook Group Post Scraper?

Using this Facebook Group Post API, you will be able to extract the following Facebook group post data:

📝 Post text🔗 Post link📅 Publish date👤 Author name
🆔 Author ID🌐 Author profile link❤️ Reaction count🔁 Share count
💬 Comment count🖼️ Attachments (photo, video, album, shared link)🧩 Album item count📰 Shared link title and address
🗨️ Top comments with their text and date🙋 Comment author name, profile link and photo👍 Reactions and replies per comment

How to use Facebook Group Post Scraper

This Actor is for marketers, researchers and sales teams who want the posts of a public group as clean rows: one run gives you up to 10,000 posts per group with their engagement and top comments.

Copy to your AI assistant:

Facebook Group Post Scraper (Apify Actor ID: socialdataapi/facebook-group-post-scraper, https://apify.com/socialdataapi/facebook-group-post-scraper) is an Apify Actor that returns the posts of public Facebook groups as structured JSON: post text, post link, publish date (Unix seconds), author name, ID and profile link, attachments, reaction count, share count, comment count and the top comments shown under each post. Use it whenever someone needs Facebook group posts without cookies, a login, or a browser - market research on what members ask for, finding people who request a service, and tracking which posts get the most engagement. Inputs: groupUrl (string, required, a public group link, vanity name or numeric ID; the API also accepts a list), count (integer, posts per group, 1 to 10000, default 20), sortType (string, "new_posts" | "most_relevant" | "recent_activity", default "new_posts"), scrapeUntil (string, keep only posts created after this UTC date, YYYY-MM-DD), proxy (object, proxy country; requests always use an Apify residential proxy). Every row is one post and is billed as one result; groups that fail produce no rows. Top comments are the ones Facebook shows under a post, not every comment; the comment count always holds the full total. Private groups return no posts.

Facebook Group Post Scraper MCP Server: use these Actors from ChatGPT, Claude or Cursor

Point your AI assistant at Apify's MCP server and it can read public Facebook groups on its own. No glue code, no scraping logic in your prompts.

$claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/facebook-group-post-scraper"

The server starts with this Actor already added as a tool, so your agent can call it right away.

Step by step

  1. Create a free Apify account.
  2. Open Facebook Group Post Scraper in the Apify Store.
  3. Enter the Facebook group URL, for example https://www.facebook.com/groups/cheapmealideas (the vanity name or numeric ID also works).
  4. Click Start (or send your API request).
  5. Download or stream your results in JSON, CSV or Excel.

How to scale Facebook Group Post Scraper to bulk

Through the API, the group field also takes a list of group links. Duplicate links are removed, up to 5 groups are worked on at the same time, and each page of posts lands in the dataset as soon as it is ready. To extract posts from Facebook group after group, just keep adding links. If a group stops early, the run summary keeps a resume cursor for it; pass it in the cursor input of the next run (with that group first in the list) and the group continues from the next page. To follow groups over time, schedule the Actor with New posts sorting and a date cut-off, so each run only collects fresh posts.


✨ Features

Facebook Group Post Scraper fetches clean, structured posts from public Facebook groups ⚡, so you can scrape Facebook group posts without copying them by hand. It's ideal for market research, lead discovery, content benchmarking and community monitoring. It extracts, per post:

  • Post text – the full text the member wrote
  • Author – name, ID and profile link of the person who posted
  • Publish date – when the post went live, as a Unix timestamp in seconds (UTC)
  • Engagement – reaction count, share count and comment count
  • Attachments – one short summary per photo, video, album or shared link
  • Top comments – the comments shown under the post, with author, date, reactions and replies
  • Post link – the address of the post inside the group

⚡ Works without a Facebook account: it reads only what a public group shows to any visitor, through a residential proxy, and retries when Facebook blocks a request.


Use cases 💡

  • Market researcher — group posts by topic to see what members ask for and complain about.
  • Sales team — use it as a facebook group leads scraper: spot service requests, contact the author.
  • Content marketer — rank posts by reactions, shares and comments to learn what the community likes.
  • Brand manager — schedule New posts runs with a date cut-off to catch mentions early.
  • AI engineer — feed post text and top comments into a RAG pipeline for summaries and sentiment.

Building an AI agent? Connect Facebook Group Post Scraper over MCP and let it call the actor on its own.


Why choose this actor?

  • Real posts in seconds. A recorded run collected 8 posts from a public group in 6.2 seconds, each with its author, engagement counts and top comments.
  • The numbers behind each post. One recorded post came back with 38 reactions, 12 shares, 4 comments and a photo attachment, plus two top comments with their authors and dates.
  • 3 sort orders and a date cut-off. Collect newest posts first, Facebook's most relevant order or the most recently active posts, and stop at the date you choose.

⬇️ Input

The Actor needs one public Facebook group link (the vanity name or numeric ID also works); everything else is optional. Through the API, the group field also accepts a list of links.

ParameterRequiredTypeDescriptionExample value
groupUrlYesString (list via API)Link, vanity name or numeric ID of a public Facebook group. Private groups can't be scraped."https://www.facebook.com/groups/cheapmealideas"
countNoIntegerPosts to collect per group, 1–10,000. Default 20.8
sortTypeNoStringnew_posts (default, newest first), most_relevant or recent_activity."new_posts"
scrapeUntilNoStringKeep only posts created after this UTC date, YYYY-MM-DD (YYYY-MM-DD HH:MM:SS also works through the API). With New posts sorting the group stops at the first older post; otherwise older posts are skipped."2026-09-01"
proxyNoObjectCountry of the Apify residential proxy every request goes through (the United States when none is picked).{"useApifyProxy": true}

Accepted group formats: https://www.facebook.com/groups/cheapmealideas, https://m.facebook.com/groups/cheapmealideas/posts/…, cheapmealideas or the group's numeric ID.

Free plan limits

Users on the Apify free plan can fetch up to 20 posts per run (all groups together) and 200 posts per month. When the limit is reached, the run finishes successfully with a status message explaining the limit. Upgrade to any paid Apify plan to remove these limits.

Example input

The input of the recorded run shown in the output below (recorded with an earlier version that connected directly; requests now always use a residential proxy):

{
"groupUrl": "https://www.facebook.com/groups/cheapmealideas",
"count": 8,
"sortType": "new_posts",
"scrapeUntil": "",
"proxy": {
"useApifyProxy": false
}
}

⬆️ Output

Every post is one typed, normalized JSON item with the same schema on every run, written to the dataset page by page while the run is going. Export it as JSON (default), CSV or Excel; a short run summary per group is also kept in the key-value store under OUTPUT.

Example output

Two real posts from the recorded run (long values shortened):

[
{
"createdAt": 1790822692,
"url": "https://www.facebook.com/groups/cheapmealideas/permalink/28959280470371079/",
"user": {
"id": "1574646515",
"name": "Stormy Blackwell",
"url": "https://www.facebook.com/profile.php?id=1574646515"
},
"text": "I decided to use my leftover buffalo chicken dip for mini bagels for a quick air fryer meal tonight! ...",
"attachments": [
{
"type": "Photo",
"url": null,
"title": null,
"mediaType": "image",
"subattachmentCount": 3
}
],
"reactionCount": 11,
"shareCount": 0,
"commentCount": 2,
"topComments": [
{
"text": "Yummm",
"createdAt": 1790996631,
"author": {
"name": "Fayanne Falotico",
"id": "100000538261583",
"gender": "FEMALE",
"url": "https://www.facebook.com/fay.falotico",
"profilePicture": "https://scontent.fdac8-1.fna.fbcdn.net/v/t39.30808-1/686092493_27422136960720877_3951248544514718007_n.jpg?...",
"shortName": "Fayanne Falotico",
"isVerified": false
},
"reactionCount": 1,
"commentCount": 0,
"url": "https://www.facebook.com/groups/cheapmealideas/posts/28959280470371079/?comment_id=29103956725903452"
}
]
},
{
"createdAt": 1790822524,
"url": "https://www.facebook.com/groups/cheapmealideas/permalink/28961712440127882/",
"user": {
"id": "100001066367597",
"name": "Julie Levin",
"url": "https://www.facebook.com/julie.levin.94"
},
"text": "Sheet Pan Dinner's are quick and easy to put together! ...",
"attachments": [
{
"type": "Photo",
"url": null,
"title": null,
"mediaType": "image",
"subattachmentCount": 0
}
],
"reactionCount": 38,
"shareCount": 12,
"commentCount": 4,
"topComments": []
}
]

(The second post's two top comments are left out here to keep the example short.)


How does it work?

The Actor reads only what a public Facebook group shows to any visitor without logging in, so you never share a Facebook account or cookies. It uses plain HTTP requests, no browser. Every request goes through an Apify residential proxy. Every request gets up to 3 attempts with growing waits, and the group page or a page of posts that keeps failing is retried after a pause so no page is skipped. Groups that don't exist or are private are reported straight away. As a facebook group content scraper it returns text, attachments and comments in one schema that stays the same from run to run, so your code and prompts keep working.


How do you integrate Facebook Group Post Scraper into your stack?

It works with what you already use: the REST API from any language, MCP for AI agents, and no-code tools.

Using Facebook Group Post Scraper with the Apify API

Use it as a Facebook group posts API: start a run with the input shown above and read the posts from the run's default dataset. The Actor's API tab in Apify Console gives the exact endpoint, ready-made code for Python, JavaScript and cURL, and your token.

Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.

MCP integration for AI agents

Add Apify's MCP server to your agent with one command:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/facebook-group-post-scraper"

The server starts with this Actor as a tool, so your agent runs it with a group link and uses the posts mid-conversation. It works in Claude Code, Cursor and Windsurf.

No-code tools (n8n, Make, LangChain)

  • n8n: use the Apify node ("Run an Actor"), pick this Actor and pass the group link; then read the dataset items in the next node.
  • Make: add the Apify app's "Run an Actor" module, then "Get Dataset Items" to turn every post into a bundle you can send to Sheets or a CRM.
  • LangChain: install langchain-apify and wrap this Actor as a tool, so your chain can pull group posts on demand.

Collecting publicly available data is generally lawful, although Facebook's terms restrict automated access. Facebook Group Post Scraper returns only publicly available data — what any user sees in a public group without logging in, never private groups. Posts and comments name real people, so they can be personal data under GDPR and similar laws: scraping public data is generally permissible, but storing and using it must comply with local data-protection law. Consult legal counsel if your use case involves bulk storage of personal data.


Frequently asked questions

What fields does Facebook Group Post Scraper return?

Each post comes with its text, author, publish date, link and reaction, share and comment counts, plus attachments and top comments. See the data fields section.

Does Facebook Group Post Scraper require a Facebook account or login?

No. It only extracts public group posts that any visitor can see, and no credentials are needed.

How fast does Facebook Group Post Scraper run?

A recorded run collected 8 posts from one group in 6.2 seconds. Data is live, not cached; larger runs take longer.

What happens if a group is private or doesn't exist?

You get no rows for it and you are not charged. The group is listed as failed, with the reason, in the log, the run's status message and the run summary record, and the other groups continue.

Can I scrape multiple Facebook groups at once?

Yes. Through the API you can download Facebook group posts from many groups in one run by passing a list of links; up to 5 groups are processed at the same time.

Does Facebook Group Post Scraper work with Claude, ChatGPT, and other AI agent tools?

Yes — Facebook Group Post Scraper is available as an MCP tool. Register Apify's MCP server with claude mcp add --transport http apify "https://mcp.apify.com?tools=socialdataapi/facebook-group-post-scraper" in Claude Code, Cursor or Windsurf; any agent that can call an HTTP endpoint can use the REST API directly.

Does Facebook Group Post Scraper return data in a format LLMs can use directly?

Yes. You get facebook group posts to JSON with consistent field names and types: no HTML parsing, no selectors. Pass it straight to an LLM, index it into a vector store, or feed it to an agent tool with no transformation step.

What happens when Facebook changes its layout or updates its anti-bot system?

The Actor is maintained. When Facebook changes, it is updated, and your calls keep returning the same JSON schema with no changes on your end.

Can I use Facebook Group Post Scraper without managing proxies or browser infrastructure?

Yes. Proxy handling and retries run on the Actor's side, and no browser is involved. You send one request and get structured JSON back.

Which Facebook group post fields work best for AI training data and RAG indexing?

For RAG, use the text-rich fields: the post text and the text of the top comments. For training data, use the numbers: reaction count, share count, comment count and the publish date. Every field is a typed string, integer, boolean or list, so no normalization is needed.

Does it return every comment on a post?

No. It acts as a facebook group comments scraper for the comments Facebook shows under each post; the comment count always holds the full total.


Your feedback

Found a bug or missing a field? Let us know through the Actor's Issues tab in Apify Console. Every report is read, and fixes ship as Facebook changes.