Facebook Groups Scraper - Public Group Posts & Reactions
Pricing
from $0.48 / 1,000 posts
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
12 hours ago
Last modified
Categories
Features
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.
| Field | Type | Description |
|---|---|---|
postId | string | Numeric post id. |
url | string | Permalink of the post. |
text | string | Post text; empty for a photo or link shared without a caption. |
time | string or null | When it was posted, ISO 8601 in UTC. |
author | object or null | id, name, url (profile link, when Facebook shows one) and isAnonymous (posted as "Anonymous participant"). |
group | object | id, name, url and membersCount of the group. |
likesCount | integer | All reactions (Like, Love, Haha, ...). |
commentsCount | integer | Number of comments. |
sharesCount | integer | Number of shares. |
media | array | Attached photos, videos and link previews: type (photo, video, link, ...), url, imageUrl and altText (Facebook's automatic image description). |
linkTitle | string or null | Title of the shared link, if the post shares one. |
sharedPost | object or null | When the post shares another post: its text, url and author. |
inputUrl | string | The startUrls entry this post came from. |
How to scrape Facebook groups
- Click Try for free (or Start) on this page.
- In Facebook group URLs, add public groups such as
https://www.facebook.com/groups/1006060197306320/, one per line. - Set Max posts per group (for example
200, or0for the whole feed) and, if you like, Only posts newer than (for example30 days). - Click Start. Groups are read side by side; 150 posts of a group take about 2 minutes.
- 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 plan | Price 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"] }}
| Field | Type | Description |
|---|---|---|
startUrls | array, required | Public 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. |
maxPostsPerGroup | integer, default 100 | How many posts to read from each group, newest first. 0 = every post the feed lists. |
onlyPostsNewerThan | string, optional | Skip 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. |
proxyConfiguration | object, default Apify Proxy RESIDENTIAL | Proxy 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 ApifyClientclient = 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
idis 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
RESIDENTIALsetting. - Image links expire.
imageUrlpoints to Facebook's CDN, which expires links after a while; download images promptly if you need them.
FAQ
Is it legal to scrape Facebook groups?
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
| Scraper | What it gets |
|---|---|
| Facebook Posts Scraper | Posts from Facebook profiles and Pages |
| Facebook Pages Scraper | Public details of Facebook Pages and profiles: contact info, address, rating |
| Facebook Ads Library Scraper | Ads from Meta's public Ad Library |
| Instagram Profile Scraper | Instagram profiles and their latest posts |
| Instagram Post Scraper | Instagram posts, reels and comments |
| Threads Scraper | Threads profiles, posts and replies |
| X (Twitter) Profile Scraper | X profiles: bio, followers, counts |
| Reddit Scraper | Reddit posts, comments, users and search |
| Quora Scraper | Quora questions, answers and profiles |
| YouTube Scraper | YouTube videos, channels, search and comments |
| YouTube Transcript Scraper | Transcripts and captions of YouTube videos |
| LinkedIn Jobs Scraper | LinkedIn job listings |