Facebook Group Scraper avatar

Facebook Group Scraper

Pricing

from $1.40 / 1,000 results

Go to Apify Store
Facebook Group Scraper

Facebook Group Scraper

Scrape public Facebook groups without login or cookies: posts, comments, replies, reactions, authors, media, Buy & Sell listings, emails and member counts. Bulk groups, keyword and date filters, resumable runs. Clean JSON for community research, leads and market analysis.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Data WiKi

Data WiKi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Categories

Share

๐Ÿš€ What is Facebook Group Scraper?

Facebook Group Scraper is a Facebook group scraper that extracts posts, comments, reactions, authors, media, Buy & Sell listings and group details from public Facebook groups. Just paste one or more group links and get every post as a clean row, exported to JSON, CSV or Excel, without logging in and without copying anything by hand.

  • ๐Ÿ‘ฅ Many groups in one run: paste one group link or hundreds, and mix full links, /groups/name paths, numeric ids and bare group names. As a Facebook groups scraper it handles them all together.
  • ๐Ÿ’ฌ Posts with their conversations: add the top comments the feed shows, or read the full comment thread with replies. As a Facebook group post scraper it keeps each post and its comments together.
  • ๐Ÿ›’ Buy & Sell ready: collect listings with price, status, location and seller, and filter them by price range and availability, which suits Facebook marketplace groups for sale.

๐Ÿ’ก Need comments of a single post, reel or video instead? Try the post comments scraper.

โœจ What can this Facebook Group Scraper do?

It is a public Facebook group scraper that reads only what any visitor can see on a group page, and with the comment options switched on it also works as a Facebook group comment scraper.

  • ๐Ÿ“… Date window: keep posts newer or older than a date, or a relative value such as 7 days, to get Facebook group posts by date.
  • ๐Ÿ”ค Keyword include and exclude: keep only matching posts, which also works as a simple Facebook group keyword monitoring setup.
  • ๐Ÿ“Š Reaction and comment filters: set a minimum number of reactions or comments, pick post types, or keep only posts with media.
  • ๐Ÿ—‚๏ธ Group details: member count and privacy on every row, or one row per group with the creation date and description, so you can extract data from Facebook group pages beyond posts.
  • ๐Ÿ” Resume cursors: a run that stopped early reports a position you can paste into the next run.
  • ๐Ÿ“ฅ Export the data in JSON, CSV, Excel, XML or HTML, or use the flat row format for spreadsheets.
  • ๐Ÿ”Œ Use the API, schedules, webhooks and integrations with other apps through the Apify platform.

๐Ÿ“Š What data can this Facebook Group Scraper extract?

๐Ÿ“ Post text, link, type and time๐Ÿ‘ค Author name, id, profile link and picture๐Ÿ“Š Reactions by type, comments and shares
๐Ÿ’ฌ Comments and replies with author and time๐ŸŽฌ Photos, full albums and videos๐Ÿ‘๏ธ Video view counts and transcripts
๐Ÿ”— Links, hashtags and mentions๐Ÿ“ง Emails and phone numbers written in the post๐Ÿ›’ Listing title, price, status, location and seller
๐Ÿ‘ฅ Group name, member count and privacy๐Ÿ“… Group creation date and description๐Ÿ“ˆ Engagement and engagement rate

โš ๏ธ Note: hashtags, emails, phone numbers, links, shared posts, sale details and video fields are filled only when the post contains them. The engagement rate stays empty when the group member count is unknown. The creation date and description of a group appear only in "Group details only" rows. Facebook shows fewer comments without a login than the number it reports.

Data Facebook Group Scraper can't extract

  • Private groups: they return the status "private group - only public groups can be read".
  • The list of group members: you get the member count and group details, not the people.
  • Profiles, pages and search links: only group links, group ids and group post links are supported.

๐Ÿ’ฐ How much does it cost to scrape Facebook groups?

Facebook Group Scraper uses pay-per-event pricing: you pay for the results it saves, with no subscription to the Actor. One saved row (a post, a Buy & Sell listing or a group-details row) is one result. Rows that your filters leave out, duplicates and the free links overview table are not charged.

Base pricing

  • Results (main_result): charged once for every row saved to the default dataset.
  • Actor Start (apify-actor-start): $0.00005 per event, charged when a run starts. The number of events depends on the memory of the run, one event per GB with a minimum of one. This Actor is configured with 1 GB, so the start fee is $0.00005 per run.

Pricing by plan tier

Plan tierResults (per 1,000)Arithmetic
๐Ÿ†“ Free$2.001,000 x $0.002
๐Ÿฅ‰ Bronze$1.801,000 x $0.0018
๐Ÿฅˆ Silver$1.601,000 x $0.0016
๐Ÿฅ‡ Gold and above$1.401,000 x $0.0014

The price tier follows your Apify plan. For example, a group of 500 posts at the Gold tier costs 500 x $0.0014 = $0.70 for the results, plus the small start fee. You can set a maximum spend per run in Apify, and the run stops cleanly when that limit is reached, keeping the rows already saved.

Why pay-per-event?

  • ๐Ÿ’ต Transparent: you pay for the rows you receive.
  • ๐Ÿ“ Predictable: you can estimate the cost from the number of posts you ask for.
  • โธ๏ธ No idle charges: waiting time is not billed as results.

๐Ÿ› ๏ธ How do I use Facebook Group Scraper to scrape Facebook groups?

  1. Create a free Apify account.
  2. Open the Facebook group scraper Apify Store page.
  3. Paste your public group links into Group links (urls) and set Number of posts (maxPosts) to extract Facebook group posts.
  4. Add optional filters: sorting order, date window, keywords, reactions, post types or comment options.
  5. Click Start and watch the log while rows appear in the Output tab.
  6. Download the data in JSON, CSV, Excel, XML or HTML, or read the dataset through the API.

โฌ‡๏ธ Input

Only urls is required. Everything else is optional and has a default. You can add many groups in the same run, and maxPosts is the total across all of them (default 20, 0 means every post Facebook shows without a login).

Here is a simple example input (the 50 newest posts of one group from the last 7 days, with comments, filtered by a keyword):

{
"urls": ["https://www.facebook.com/groups/dogspotting/"],
"maxPosts": 50,
"sortingOrder": "newest_posts",
"postsNewerThan": "7 days",
"fetchAllComments": true,
"maxCommentsPerPost": 10,
"keywords": ["adoption"],
"keywordMatch": "any",
"outputFormat": "full"
}

Open the Input tab for a full explanation of every field.

Sorting order and date window

sortingOrder accepts newest_posts (default), newest_activity, most_relevant, buy_sell_listings, top_listings, recent_listings, popular, photos, videos and media. Use newest_posts together with postsNewerThan, because the run can stop as soon as it passes the window. postsNewerThan and postsOlderThan take 2026-01-01, a full ISO time or a relative value such as 7 days or 2 months. A bad format is rejected by the form.

Comments and replies

includeTopComment (on by default) adds the one or two comments the feed shows under each post. fetchAllComments reads the full thread instead. includeReplies also reads replies and switches on full-thread reading even when fetchAllComments is off. Use these options to scrape Facebook group comments in full, and download Facebook group posts and comments together. Keep maxCommentsPerPost and maxRepliesPerComment at 0 for everything Facebook shows without a login. commentsSortOrder is all (oldest first), most_relevant or newest; the most relevant order shows fewer comments.

Keywords and filters

keywords keeps posts whose text, listing title or link title contains the words, matching any or all of them (keywordMatch). excludeKeywords drops posts. The same filters support Facebook group brand mention tracking. Do not put the same word in both lists, as the run stops with an input problem. Also set minReactions, minComments, postTypes (text, photo, album, video, reel, link, share, event) and onlyWithMedia. Posts that do not match are never charged.

Buy & Sell listings

Set sortingOrder to buy_sell_listings, or just set saleStatus to available or sold, or give minPrice or maxPrice; any of these switches the run to Buy & Sell listings. Prices are in the listing's own currency. If minPrice is higher than maxPrice the run stops with an input problem. includeListingDetails adds location and seller. Together with the price filters this gives you Facebook group sale listing price tracking.

Group details only

Switch on groupInfoOnly to get one row per group with name, member count, privacy, creation date and description, and no posts. Each of these rows counts as one result.

Proxy

The default proxy setting needs no setup. A failed request is retried up to 3 times, and you can choose a country in proxyConfiguration.

โฌ†๏ธ Output

Every saved row is one post, one Buy & Sell listing or, with groupInfoOnly, one group. Results appear in the Output tab while the run is going, in tables for posts, engagement, reactions, authors, comments, media, links and contacts, Buy & Sell and groups. A second free dataset, the links overview, has one row per link you entered (status, rows collected and a resume cursor), including links that could not be read. A run summary record holds the totals and resume cursors. Export as JSON, CSV, Excel, XML or HTML, and pick or leave out fields before exporting.

Example output (illustrative)

A shortened post row built from the real fields; the values are made up for illustration:

{
"post_type": "regular",
"post_id": "1000000000000001",
"post_url": "https://www.facebook.com/groups/dogspotting/posts/1000000000000001/",
"text": "Example post text.",
"user_name": "Example User",
"user": {"id": "1000", "name": "Example User", "type": "User"},
"creation_time": "Sun, 11 Oct 2026 20:14:56 GMT",
"photo_count": 1,
"reactions_count": 16,
"reactionLikeCount": 11,
"reactionLoveCount": 3,
"reactionCareCount": 2,
"comments_count": 1,
"shares_count": 0,
"topComment": [],
"group_url": "https://www.facebook.com/groups/dogspotting/",
"content_type": "photo",
"group_name": "Dogspotting",
"group_members": 1800000,
"group_privacy": "public",
"engagement": 17,
"hashtags": [],
"emails": [],
"phones": [],
"is_question": false,
"scraped_at": "2026-10-11T20:41:41.000Z"
}

Output fields explained

FieldMeaning
๐Ÿ“ post_id, post_url, textId, direct link and text of the post
๐Ÿ‘ค user_name, user_url, userAuthor name, profile link, id, picture and type
๐Ÿ“… creation_time, creation_timestamp, scraped_atPublish time (UTC text and milliseconds) and the time the row was collected
๐Ÿ“Š reactions_count, reactionLikeCount and the other reaction counts, comments_count, shares_countFacebook group reactions data: total reactions, breakdown by type (Like, Love, Haha, Wow, Sad, Angry, Care), comments and shares
๐Ÿ“ˆ engagement, engagement_rate_pctReactions plus comments plus shares, and that as a percentage of group members (empty when the member count is unknown)
๐Ÿ’ฌ topCommentComments, each reply right after its comment
๐ŸŽฌ media, photo_count, media_truncated, is_video, video_views, video_transcriptPhotos and videos, album size, view count and transcript
๐Ÿ”— links, hashtags, mentions, link_previewLinks, hashtags, mentions and the shared link card
๐Ÿ“ง emails, phonesContacts written in the post text, so you can extract email from Facebook group posts (only when extractContacts is on)
๐Ÿ›’ sale_post, post_typeListing title, price, status, location and seller; post_type is regular, shared or sale
๐Ÿ‘ฅ group_id, group_name, group_members, group_privacy, group_urlGroup the post belongs to
๐Ÿ˜๏ธ record_type, members, members_text, privacy, created_at, created_text, descriptionGroup-details rows only
๐Ÿ”ค matched_keywordsWhich of your keywords the post matched (only when keywords is set)
โ“ is_questionWhether the post text reads like a question

With outputFormat set to flat, nested values become simple columns and the nested tables in the Output tab stay empty. The rows are ready to load as Facebook group data for LLM workflows.

๐ŸŽฏ Use cases

  • ๐Ÿ”ฌ Community research: run Facebook group market research to see what members ask, share and react to, in the spirit of Facebook community research, using text and reactions_count.
  • ๐Ÿ’ผ Lead discovery: combine is_question, keywords and extractContacts for Facebook group lead generation, using contact details people wrote in the text.
  • ๐Ÿ“ˆ Analytics: feed Facebook group engagement analytics with engagement and engagement_rate_pct, and break reactions down by type.
  • ๐Ÿ’ญ Sentiment analysis: comment text, reactions and dates give you the base for Facebook group sentiment analysis.
  • ๐Ÿ”” Brand monitoring: a schedule, keywords and a date window turn the Actor into a Facebook group monitoring tool.
  • ๐Ÿ›’ Price research: use it as a Facebook buy and sell group scraper and compare prices across listings.
  • ๐Ÿค– AI data: build a Facebook group posts dataset for language-model workflows.
  • ๐Ÿ—„๏ธ Archiving: export Facebook group posts of a public group for your own records.

๐Ÿ”— What are other tools for Facebook and social media data?

โ“ Frequently asked questions

How does Facebook Group Scraper work?

You give it public group links and your filters. It opens each group, reads the posts page by page in the sort order you chose, applies your filters, adds the optional comments, albums, videos and listing details, and saves each kept post as a row right away. As a Facebook group posts scraper it then lets you export the dataset or read it through the API.

Do I need a Facebook account or a login?

No. This Facebook group scraper no login setup reads public groups only. Private groups, profiles and pages are not read, and the links overview shows a clear status for them.

Can I scrape many Facebook groups at once?

Yes. Add as many group links as you like to urls. The maxPosts limit is the total for the whole run, and a post reached through two links is saved once.

What are the limits of Facebook Group Scraper?

It reads only what Facebook shows without a login, so the number of posts and comments depends on the group. You can cap a run with maxPosts and with your Apify spend limit. The Actor is configured with 1,024 MB (1 GB) of memory. See the cost section for pricing.

Why am I getting fewer results than expected?

Your filters may be removing posts, the group may be private, or Facebook may show fewer posts or comments without a login. Loosen keywords, minReactions, postTypes or the date window, use newest_posts with a date window, and check the status in the links overview. If a run ends with "No posts matched", check the group link and your filters.

How do I continue a run that stopped early?

Copy the resumeCursors value from the run summary into the Resume cursors field of the next run.

Can I integrate Facebook Group Scraper with other apps?

Yes. Through the Apify platform you can connect it with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets and more, or use webhooks to react when a run finishes. That covers a Facebook group scraper n8n workflow. Use outputFormat set to flat for spreadsheet-friendly columns.

Can I use Facebook Group Scraper as its own API?

Yes, with the Apify API and the apify-client packages for Node.js and Python. Run data_wiki/facebook-group-scraper and read the dataset, which makes a simple Facebook group API and Facebook group feed API for public groups. A Facebook group scraper API call needs only your token and the input shown above. See the API tab and the Apify API documentation.

Is there a Facebook group scraper free to try?

You pay per result as shown in the cost section.

How do I export Facebook group data to CSV, Excel or Google Sheets?

Open the Output tab and download the dataset. You can save Facebook group posts to CSV or Facebook group posts to Excel, or connect the dataset to Google Sheets with the Apify integration for a Facebook group data to Google Sheets flow.

Can I scrape Facebook group posts and comments with Python or on a schedule?

Yes. A Facebook group scraper Python script can call the Actor with apify-client, or set a schedule in Apify. You can scrape Facebook group posts and comments in the same run.

Can I find emails or sale prices in group posts?

Yes. Emails and phone numbers are collected when people wrote them in the post text, and Buy & Sell listings come with their price and status.

Can I use Facebook Group Scraper through MCP?

Yes. The hosted Apify MCP server (https://mcp.apify.com) lets AI agents find an Actor with search-actors, check it with fetch-actor-details and run it with call-actor. See the Apify MCP documentation.

Can I get the Facebook group member count or the member list?

You get the Facebook group member count and privacy in every row, plus the description and creation date with groupInfoOnly. The list of members is not extracted.

The Actor reads only public data that any visitor can see. Whether it is legal for you depends on how you use the data, Facebook's terms and privacy laws such as GDPR and CCPA, so you are responsible for compliance. Is scraping Facebook groups legal in your case? This is not legal advice, so ask a lawyer when in doubt. Do not collect private information and keep your request volume reasonable.

๐Ÿ’ฌ Your feedback and custom solutions

Found a bug or need another field? Open an issue on the Actor's Issues tab. Need a custom solution? Contact hello.datawiki@gmail.com.