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

8

Total users

4

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

Share

🚀 What is Facebook Group Scraper?

Facebook Group Scraper is an Apify Actor that turns public Facebook groups into clean data: posts, comments and replies, reactions, authors, photos and videos, Buy & Sell listings and group details. Paste one or more group links, press Start and get one row per post, without a login and without copying anything by hand.

  • Many groups in one run: as a Facebook groups scraper it takes one group link or hundreds, and understands full links, /groups/name paths, numeric ids, bare group names and links to a single group post.
  • Posts with their conversations: as a Facebook group post scraper it keeps the top comments Facebook shows under each post, or reads the full thread with replies.
  • Filters that save money: date window, keywords, reactions and post types are applied before extra details are read, and posts that do not match are never charged.
  • Resumable and repeatable: a run that stopped early gives you a position to continue from, and you can run the same input again on a schedule.

💡 Need the comments of one post, reel or video instead of a whole group? Use the comments scraper for single posts.

📊 What data can you extract from Facebook groups?

Every post becomes a row you can export as JSON, CSV, Excel, XML or HTML. This Facebook group data extractor keeps reactions, authors and group context together. These are the main fields (the dataset has more, such as thumbnail, feedback_id and topReactionsCount).

FieldDescriptionExample
post_id, post_urlFacebook id and direct link of the posthttps://www.facebook.com/groups/dogspotting/posts/1000000000000001/
textPost text in its original languageExample post text.
user_name, user_url, userAuthor name, profile link, id, picture and typeExample User
creation_time, creation_timestampWhen the post was published (UTC text and Unix milliseconds)Sun, 11 Oct 2026 20:14:56 GMT
post_type, content_typeregular, shared or sale; and text, photo, album, video, reel, link, share or eventregular, photo
reactions_count, reactionLikeCount, reactionLoveCount, reactionCareCount, reactionHahaCount, reactionWowCount, reactionSadCount, reactionAngryCountTotal reactions and the split by type16, 11
comments_count, shares_countComments and shares Facebook reports for the post1, 0
topCommentComments read for the post, each reply right after its comment[]
media, photo_count, media_truncated, thumbnailPhotos, albums and videos, with the album size1
is_video, video_views, video_transcriptVideo flag, exact view count and automatic transcript when Facebook has onefalse
hashtags, mentions, links, link_preview, sharedPostHashtags, tagged people or pages, web links, the shared link card and the shared post[]
emails, phonesEmails and phone numbers written inside the post text[]
sale_postBuy & Sell listing: title, price, status, location, sellernull
group_id, group_url, group_name, group_members, group_privacyThe group the post belongs toDogspotting, 1800000, public
engagement, engagement_rate_pctReactions plus comments plus shares, and that as a percentage of group members17
is_question, matched_keywordsWhether the text reads like a question, and which of your keywords the post matchedfalse
scraped_atWhen the row was collected (ISO time, UTC)2026-10-11T20:41:41.000Z

For Facebook group reactions data, open the Reactions table in the Output tab. With groupInfoOnly you get one row per group instead, with record_type, members, members_text, privacy, created_at, created_text and description.

⚠️ Hashtags, emails, phone numbers, links, shared posts, listing details and video fields are filled only when the post contains them. engagement_rate_pct stays empty when the member count is unknown. Creation date and description of a group appear only in groupInfoOnly rows.

💡 Use cases for Facebook group data

  • Build a lead list: combine keywords, is_question and the emails and phones fields for Facebook group lead generation from people who ask for a service. Where authors wrote an email in the text, you can extract email from Facebook group posts.
  • Research a community: read text, topComment and reactions_count to do Facebook group market research and see what members ask, share and react to. The same fields support Facebook community research into how members talk about a topic.
  • Monitor topics and brands: run keywords, excludeKeywords and a date window on a schedule as a simple Facebook group keyword monitoring setup, with matched_keywords showing why each post was kept. Use excludeKeywords for Facebook group brand mention tracking, to cut noise.
  • Track prices in Buy & Sell groups: use the listing fields in sale_post with minPrice and maxPrice for Facebook group sale listing price tracking.
  • Measure engagement: compare engagement and engagement_rate_pct across groups for Facebook group engagement analytics. The Facebook group engagement rate is the engagement_rate_pct field.
  • Analyse sentiment: comment text with replies, reaction types and dates are the base for Facebook group sentiment analysis.
  • Feed AI projects: export the posts as JSON for LLM workflows and search indexes.
  • Keep an archive: archive Facebook group posts of a public group for your own records.

🛠️ How to scrape Facebook groups

  1. Create a free Apify account and open this Actor in the Apify Store. To extract Facebook group posts you only need the links.
  2. Paste your public group links into Group links (urls).
  3. Set Number of posts (maxPosts); it is the total across all groups, and 0 means every post Facebook shows without a login.
  4. Choose a Sorting order (sortingOrder) and, if you need it, a date window with postsNewerThan and postsOlderThan.
  5. Switch on fetchAllComments or includeReplies if you also want the full conversations.
  6. Click Start and watch the log while rows appear in the Output tab.
  7. Download Facebook group posts and comments as JSON, CSV, Excel, XML or HTML.

💰 How much does it cost to scrape Facebook groups?

This Actor uses pay-per-event pricing: you pay per result, and one result is one saved row (a post, a Buy & Sell listing or a group-details row). Rows your filters leave out, duplicates and the links overview table are not charged.

Plan tierResults per 1,000Arithmetic
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
  • 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, one event per GB of memory with a minimum of one. This Actor is configured with 1,024 MB (1 GB), so the start fee is $0.00005 per run.

Worked example: 500 posts at the Gold tier cost 500 x $0.0014 = $0.70, plus $0.00005 for the start. Apify platform usage (compute) is billed on top of the events above. The tier follows your Apify plan; see the Pricing tab for current rates. You can set a maximum spend per run, and the run then stops cleanly and keeps the rows already saved.

⬇️ Input

Only urls is required. Everything else is optional with a default, and you can use the Input tab for a full explanation of every field. This example collects the 50 newest posts of one group from the last 7 days, with up to 10 comments per post, keeping only posts that mention "adoption":

{
"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"
}
  • sortingOrder accepts newest_posts (default), newest_activity, most_relevant, buy_sell_listings, top_listings, recent_listings, popular, photos, videos and media. Combine newest_posts with a date window to get Facebook group posts by date, because the run can stop as soon as it passes the window.
  • postsNewerThan and postsOlderThan take a date such as 2026-01-01, a full ISO time or a relative value such as 7 days or 2 months.
  • includeTopComment (on by default) adds the one or two comments the feed shows. fetchAllComments reads the full thread, and includeReplies also reads replies and turns on full-thread reading. commentsSortOrder is all (oldest first), most_relevant or newest.
  • keywords, keywordMatch, excludeKeywords, minReactions, minComments, postTypes and onlyWithMedia narrow the posts, so you can scrape Facebook group posts by keyword. The same word cannot be in both keyword lists.
  • Setting saleStatus to available or sold, or giving minPrice or maxPrice, switches the run to Buy & Sell listings. Prices are compared in the listing's own currency.
  • groupInfoOnly returns one row per group and no posts. outputFormat set to flat gives one level of simple columns for spreadsheets, and the nested tables in the Output tab stay empty.
  • resumeCursors continues an earlier capped run: paste the resumeCursors object from that run's summary record.
  • proxyConfiguration works with its default; you can also pick a country.

💡 Start with a small maxPosts such as 20 to check your filters before a big run.

⬆️ Output

The scraped results are shown as a dataset in the Storage tab, in separate tables for posts, engagement, reactions, authors, comments, media, links and contacts, Buy & Sell listings and groups. The default dataset is a Facebook group posts dataset with one row per post. The table view is for convenience and doesn't show all the fields. A second dataset, the links overview, has one row per link you entered (status, rows collected, stop reason and resume cursor), including links that could not be read. A run summary record holds the totals and the resume cursors. The Comments table lets you extract Facebook group comments with their replies on their own.

Export formats: JSON, CSV, Excel, XML and HTML, with the option to pick or leave out fields before exporting.

The next sample is fictional and shortened; it shows the shape of one row from the input above, not real data.

{
"post_type": "regular",
"post_id": "1000000000000001",
"post_url": "https://www.facebook.com/groups/dogspotting/posts/1000000000000001/",
"text": "Example post about adoption.",
"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,
"matched_keywords": ["adoption"],
"scraped_at": "2026-10-11T20:41:41.000Z"
}

⚠️ Limitations and error handling

  • Public groups only: a private group returns the status "private group – only public groups can be read" in the links overview. The member list is not extracted, only the member count.
  • Groups only: profile, page and search links are not supported and get a clear status in the links overview.
  • What you see without a login: you can scrape Facebook group data only as far as a visitor sees it, and Facebook shows fewer comments than it reports, so the number you get depends on the group. Run a small test to see how many a group gives you.
  • Input problems stop the run before it starts: an empty urls list, a date window where the start is not before the end, the same word in keywords and excludeKeywords, or minPrice above maxPrice.
  • Filters that match nothing: when many posts are checked and none pass, the run stops for that link; use newest_posts with a date window or loosen the filters. If nothing matches, the run ends with the message "No posts matched. Check the group link and your filters."
  • Retries: a failed request is retried up to 3 times with a new connection. If Facebook cannot be reached, the remaining links are marked as skipped and the rows already saved are kept.
  • Spend limit: when your maximum spend per run is reached, the run stops cleanly with the rows saved so far.

Every input link gets one row in the links overview with its status (ok or the reason it could not be read), rows_collected, posts_examined, posts_left_out_by_filters, stop_reason and resume_cursor.

🔌 Integrating Facebook Group Scraper with other apps

You can run the Actor through the Apify API, on a schedule, or from webhooks that fire when a run finishes. The API tab has ready-made JavaScript, Python and CLI snippets.

  • Send results to Google Sheets with outputFormat set to flat for spreadsheet-friendly columns, or to Make and Zapier. That covers a Facebook group data to Google Sheets flow without code.
  • Use schedules with newest_posts and postsNewerThan such as 1 day to collect only new posts each time.
  • Read the dataset through the Apify API from your own code.

🔗 Other Facebook and social media scrapers by data_wiki

ActorWhat it extractsWhen to use it
Facebook comment scraperComments and replies from public posts, reels, videos and photosYou already have post links and want full threads
Facebook Marketplace scraperMarketplace listings from keywords, search, category or listing linksYou track listings outside groups
Instagram comments scraperComments from public Instagram posts and reelsYou study audience mood on Instagram
Instagram reels by hashtagPublic Instagram reels by hashtag or keywordYou research trends on another platform
Airbnb data extractorAirbnb listings with prices, ratings and reviewsWhen you want rental prices for the area a group discusses
LinkedIn Profile Scraper + EmailJobs, skills, company and an inferred work email from public LinkedIn profilesYou have profile links and need career and contact data.
Contact details from company sitesEmails and phone numbers published on company websitesYour leads have a website and you want its published contacts
Facebook groups finder by keywordPublic Facebook groups from keywords or links: member count, privacy, creation date, categoryYou do not have group links yet and need to find groups first

The scraped site is Facebook.

As a public Facebook group scraper, this Actor only reads data that any visitor can see and does not read private groups. Posts and comments can still contain personal data, so collect it only with a legitimate reason and respect privacy laws such as GDPR and CCPA, plus Facebook's terms. This is not legal advice; ask a lawyer when in doubt. Read Apify's guides on the legality of web scraping and ethical scraping.

❓ FAQ

The Actor reads only public data, but whether your use is legal depends on how you use the data and on privacy laws and Facebook's terms. See the legality section above, and ask a lawyer when in doubt.

Does Facebook Group Scraper need a login?

No. The Actor reads public groups only, with no account, cookies or API key. Private groups, profiles and pages are not read.

How much does it cost to run?

You pay per saved row, from $1.40 to $2.00 per 1,000 results depending on your Apify plan tier, plus a start fee of $0.00005 per run. Apify platform usage (compute) is billed on top of the events. See the cost section above.

Can I scrape Facebook group posts and comments together?

Yes. Leave includeTopComment on, or set fetchAllComments or includeReplies for the full conversation, and use maxCommentsPerPost to cap the comments per post. This way you can scrape Facebook group comments together with their posts.

How many Facebook groups and posts can I collect?

maxPosts is the total for the whole run across all groups, and 0 means every post Facebook shows without a login. A post reached through two links is saved once.

Why am I getting fewer results than expected?

Your filters may remove posts, the group may be private, or Facebook may show fewer posts and comments without a login. Loosen keywords, minReactions, postTypes or the date window, and check the status in the links overview.

How do I continue a run that stopped early?

Copy the resumeCursors value from the run summary record into the Resume cursors field of the next 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 price, status, location and seller.

Can I get the Facebook group member count?

Yes. group_members and group_privacy are on every post row, and groupInfoOnly adds the description and creation date, so you can extract data from Facebook group pages beyond the posts. The list of members is not extracted.

How do I export Facebook group posts and comments?

Open the Output tab and download the dataset as CSV to save Facebook group posts to CSV. The Excel download works the same way to save Facebook group posts to Excel. To export Facebook group comments on their own, open the Comments table. Flat output works best for spreadsheets.

Can I run it from my own code?

Yes. Run data_wiki/facebook-group-scraper through the Apify API with your token and the input shown above, then read the dataset. Open the API tab for code samples.

Can I use this Actor 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 it read Facebook buy and sell groups?

Yes. Set sortingOrder to buy_sell_listings, or filter by saleStatus or price, the run returns listings. That makes it a Facebook buy and sell group scraper for price research. Group listings are not the same as Marketplace; for Marketplace use the Facebook Marketplace scraper above.

💬 Your feedback

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.