Facebook Groups Scraper - Public Group Posts & Reactions avatar

Facebook Groups Scraper - Public Group Posts & Reactions

Pricing

from $0.48 / 1,000 posts

Go to Apify Store
Facebook Groups Scraper - Public Group Posts & Reactions

Facebook Groups Scraper - Public Group Posts & Reactions

Facebook groups scraper: posts from public Facebook groups with text, date, author, reactions, comments and shares counts, photos, videos, links, group name and member count. Whole feeds or a date range; export to JSON, CSV, Excel or via API. No login, no cookies. $0.60 per 1,000 posts.

Pricing

from $0.48 / 1,000 posts

Rating

0.0

(0)

Developer

Social Scrapers

Social Scrapers

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

12 hours ago

Last modified

Features

Limited permissions

Share

This Facebook Groups Scraper extracts posts from public Facebook groups: the text, when it was posted, the author, reactions, comments and shares counts, photos, videos and shared links, plus the group's name and member count. Read the newest posts or a group's whole feed, keep only posts newer than a date, and download clean data as JSON, CSV or Excel. No Facebook account, no login, no cookies. It costs $0.60 per 1,000 posts.

What does Facebook Groups Scraper do?

  • 👥 Public group feeds, newest first: give it group URLs and it reads each group's posts from the most recent backwards.
  • ♾️ As deep as you need: a set number of posts per group, or every post the feed lists (maxPostsPerGroup: 0).
  • 📅 Date filter: keep only posts newer than a date (2026-01-31, 31/01/2026, Jan 31 2026) or an age (7 days, 2w, 3 months, yesterday); reading stops once the feed goes past it.
  • 📊 Engagement and media: reactions, comments and shares counts, photos and videos with Facebook's own alt text, shared links and re-shared posts.
  • 🏷️ Group details on every post: group id, name, link and member count.
  • 🔗 Any group reference: a full group URL, a link to any post inside the group, or (through the API) just the group's numeric id or vanity name.
  • 🔒 Private groups are skipped: they are reported in the log, produce no output and cost nothing.
  • 💸 Pay only for posts delivered: the run stops cleanly at the spending limit you set.

Because it runs on the Apify platform, you also get the API, scheduling, integrations, monitoring and proxy rotation without writing any code.

What data can you extract from Facebook groups?

One dataset item per post. Every field is always present: null (or an empty list) means Facebook shows nothing for it.

FieldTypeDescription
postIdstringNumeric post id.
urlstringPermalink of the post.
textstringPost text; empty for a photo or link shared without a caption.
timestring or nullWhen it was posted, ISO 8601 in UTC.
authorobject or nullid, name, url (profile link, when Facebook shows one) and isAnonymous (posted as "Anonymous participant").
groupobjectid, name, url and membersCount of the group.
likesCountintegerAll reactions (Like, Love, Haha, ...).
commentsCountintegerNumber of comments.
sharesCountintegerNumber of shares.
mediaarrayAttached photos, videos and link previews: type (photo, video, link, ...), url, imageUrl and altText (Facebook's automatic image description).
linkTitlestring or nullTitle of the shared link, if the post shares one.
sharedPostobject or nullWhen the post shares another post: its text, url and author.
inputUrlstringThe startUrls entry this post came from.

How to scrape Facebook groups

  1. Click Try for free (or Start) on this page.
  2. In Facebook group URLs, add public groups such as https://www.facebook.com/groups/1006060197306320/, one per line.
  3. Set Max posts per group (for example 200, or 0 for the whole feed) and, if you like, Only posts newer than (for example 30 days).
  4. Click Start. Groups are read side by side; 150 posts of a group take about 2 minutes.
  5. Download the posts from the Output tab as JSON, CSV, Excel or HTML, or read them through the API.

How much does it cost to scrape Facebook groups?

$0.60 per 1,000 posts, platform usage and proxies included. You pay one post event for each post saved, nothing else:

Your Apify planPrice per 1,000 posts
Free and Starter (Bronze)$0.60
Scale (Silver)$0.54 (−10%)
Business (Gold)$0.48 (−20%)

Two examples:

  • The latest 100 posts of 20 groups = 2,000 posts = $1.20.
  • One busy group's last 10,000 posts = $6.00.

Private, missing or unreadable groups produce no posts and cost nothing. To cap a run's cost, set Maximum cost per run in the run options: the scraper stops cleanly once it is reached and keeps everything scraped so far. Apify's free plan comes with monthly usage credit, enough to try this scraper on thousands of posts.

Input example

{
"startUrls": [
{ "url": "https://www.facebook.com/groups/1006060197306320/" },
{ "url": "https://www.facebook.com/groups/285178551618642/" }
],
"maxPostsPerGroup": 200,
"onlyPostsNewerThan": "30 days",
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
FieldTypeDescription
startUrlsarray, requiredPublic groups: https://www.facebook.com/groups/<name-or-id>, a link to a post in the group, or a share link from the Facebook app (https://www.facebook.com/share/g/…, fb.me/…). Through the API, plain strings, numeric group ids and vanity names work too.
maxPostsPerGroupinteger, default 100How many posts to read from each group, newest first. 0 = every post the feed lists.
onlyPostsNewerThanstring, optionalSkip older posts. A date (2026-01-31, 2026-1-31, 31/01/2026, Jan 31 2026; midnight UTC), an ISO date-time (2026-01-31T18:00:00Z), or an age: 7 days, 2w, 3 months, 1 year, yesterday. With both day and month 12 or less (01/02/2026) the date is read month/day/year.
proxyConfigurationobject, default Apify Proxy RESIDENTIALProxy settings. Keep the residential default.

Output example

A real post from the public Hardy Geraniums group, with the author's name and ids replaced by placeholders and image links shortened:

{
"postId": "4093813627421763",
"url": "https://www.facebook.com/groups/285178551618642/permalink/4093813627421763/",
"text": "Amazing to still see geraniums flowering in early November. I guess that will all change when we get some frost but there has been non here yet. Have you had any in your area?",
"time": "2026-11-06T21:10:01.000Z",
"author": {
"id": "<author-id>",
"name": "<author name>",
"url": "https://www.facebook.com/<author-profile>",
"isAnonymous": false
},
"group": {
"id": "285178551618642",
"name": "Hardy Geraniums",
"url": "https://www.facebook.com/groups/285178551618642/",
"membersCount": 18200
},
"likesCount": 90,
"commentsCount": 13,
"sharesCount": 1,
"media": [
{
"type": "photo",
"url": null,
"imageUrl": "https://scontent.xx.fbcdn.net/v/…/887946124_1573089684854073_5393627511227627996_n.jpg",
"altText": "No photo description available."
},
{
"type": "photo",
"url": null,
"imageUrl": "https://scontent.xx.fbcdn.net/v/…/895065021_1573089721520736_6630069767649236959_n.jpg",
"altText": "May be an image of Lewisia and geranium"
}
],
"linkTitle": null,
"sharedPost": null,
"inputUrl": "https://www.facebook.com/groups/285178551618642/"
}

Use cases

  • Community research: see what members of a niche ask about, recommend and complain about.
  • Brand and product monitoring: track mentions of products, services or topics in public groups.
  • Lead and market research: find the questions and needs people post in industry, local and hobby groups.
  • Trend tracking: follow how often a topic comes up over weeks or months, with exact post times.
  • Engagement analysis: compare which posts draw the most reactions, comments and shares.
  • Text datasets: collect real-world posts for sentiment analysis, topic modelling or classification.

Use Facebook Groups Scraper via API, Python, JavaScript and integrations

Run the scraper from your own code with the Apify API or an Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY-APIFY-TOKEN' });
const run = await client.actor('socialscrapers/facebook-groups-scraper').call({
startUrls: [{ url: 'https://www.facebook.com/groups/1006060197306320/' }],
maxPostsPerGroup: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
from apify_client import ApifyClient
client = ApifyClient("MY-APIFY-TOKEN")
run = client.actor("socialscrapers/facebook-groups-scraper").call(
run_input={"startUrls": [{"url": "https://www.facebook.com/groups/1006060197306320/"}], "maxPostsPerGroup": 200}
)
for post in client.dataset(run["defaultDatasetId"]).iterate_items():
print(post["time"], post["likesCount"], post["text"][:80])
  • Schedules: collect new posts every day with an Apify schedule and onlyPostsNewerThan: "1 day".
  • Integrations: send the posts to Google Sheets, Slack, Airtable, Make, Zapier or n8n, or trigger your own webhook when a run finishes.
  • AI agents: call the scraper as a tool through the Apify MCP server.

Limits

  • Public groups only. Private groups are skipped (and not charged). The scraper never logs in.
  • What a logged-out visitor sees. Some authors show without a numeric id or profile link; their id is then an opaque id that can change over time.
  • No comment texts. You get each post's comment count, not the comments themselves. No member lists either.
  • You choose the groups. The scraper does not search for or discover groups. Share links from the Facebook app (https://www.facebook.com/share/g/…, fb.me/…, a shared group post) are followed to their group, at no charge.
  • Residential proxy required. Facebook rarely shows group pages to data-center IP addresses, so keep the default Apify Proxy RESIDENTIAL setting.
  • Image links expire. imageUrl points to Facebook's CDN, which expires links after a while; download images promptly if you need them.

FAQ

This scraper only reads public groups, the way Facebook shows them to anyone who isn't logged in. Posts can still contain personal data, which laws such as the GDPR protect, so collect only what you need for a legitimate purpose. Apify explains the basics in Is web scraping legal?.

Do I need a Facebook account or cookies?

No. Facebook Groups Scraper reads only what Facebook shows to visitors who are not logged in, so no account of yours is ever at risk.

Can it scrape private groups?

No. Private groups are detected, logged and skipped, with no output and no charge.

Why did my run finish with no posts?

Facebook showed nothing public for that group: it is private, shows its posts only to logged-in visitors, or no longer exists; or Facebook refused the requests even after 5 attempts on fresh IPs. The run still ends Succeeded, its status message says which, and nothing is charged. Only a run of 3 or more groups that Facebook refused entirely ends Failed, because that means the scraper itself is being blocked.

How many posts can I scrape from one group?

As many as its feed lists: set maxPostsPerGroup to 0. The newest 29 posts arrive in one request and older ones 3 at a time, so a whole feed takes longer than recent posts.

Why did I get fewer posts than maxPostsPerGroup?

The group has fewer posts, the date limit in onlyPostsNewerThan was reached, or the run hit its maximum total charge. The run log says which, for each group.

Does likesCount count only Likes?

It counts all reactions (Like, Love, Care, Haha, Wow, Sad, Angry), the number Facebook shows under the post.

Can I run it on a schedule or from my own code?

Yes. Use Apify schedules, the Apify API and client libraries, webhooks, or integrations such as Make, Zapier or n8n.

Other scrapers by Social Scrapers

ScraperWhat it gets
Facebook Posts ScraperPosts from Facebook profiles and Pages
Facebook Pages ScraperPublic details of Facebook Pages and profiles: contact info, address, rating
Facebook Ads Library ScraperAds from Meta's public Ad Library
Instagram Profile ScraperInstagram profiles and their latest posts
Instagram Post ScraperInstagram posts, reels and comments
Threads ScraperThreads profiles, posts and replies
X (Twitter) Profile ScraperX profiles: bio, followers, counts
Reddit ScraperReddit posts, comments, users and search
Quora ScraperQuora questions, answers and profiles
YouTube ScraperYouTube videos, channels, search and comments
YouTube Transcript ScraperTranscripts and captions of YouTube videos
LinkedIn Jobs ScraperLinkedIn job listings