# Facebook Groups Scraper (`scrapier/facebook-groups-scraper`) Actor

Monitor Facebook group activity automatically. Scrape posts, discussions, engagement stats, and media with clean, export-ready output. Perfect for social research, community insights, and large-scale data analysis.

- **URL**: https://apify.com/scrapier/facebook-groups-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Automation, Social media, Lead generation
- **Stats:** 26 total users, 0 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

$24.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

A Facebook Group Scraper is the smartest way to extract posts, comments, and member insights from public Facebook groups—perfect for research, marketing, and trend analysis. Whether you're using an Apify Facebook Group Scraper, a Facebook Group Scraper GitHub script, or a no-code setup, this tool helps you analyze community conversations fast, accurately, and at scale. 🚀📊

### 🔍 What does Facebook Group Scraper do? 

A Facebook Group Scraper is a powerful automation tool that extracts publicly available data from Facebook groups—such as posts, comments, members, engagement metrics, and timestamps. 🚀 Whether you're a marketer, researcher, or business owner, this scraper helps you transform chaotic group activity into clean, structured insights.

Tools like Apify Facebook Group Scraper, Facebook Group Scraper GitHub editions, and Facebook Group Post Scrapers are commonly used for automating data extraction without the need to manually browse and copy data.

From analyzing trends to building lists, a Facebook Group Scraper delivers massive SEO and research value by enabling:

*   Rich content analysis  
      
    
*   Audience profiling  
      
    
*   Competitive intelligence  
      
    
*   Social listening at scale  
      
    

It’s an essential asset for anyone doing market research, sentiment analysis, or lead generation through Facebook groups. 💡✨

* * *

### 📥 What Facebook Group Scraper Can Extract?

Below is a detailed list of the data types extractable using a Facebook Group Scraper, Facebook Group Post Scraper, or Facebook Comment Scraper ⬇️

| Data Type | Description |
| --- | --- |
| 📝 Post Text | Extract full Facebook group post content. |
| 🔗 Post URL | Direct link to each Facebook post. |
| 💬 Comments | Scrape comments with text, timestamps & author details. |
| 👤 Member Data | Names, profile URLs, bios (public only). |
| 👍 Reactions | Like, love, care, wow, etc. |
| 🗨 Comment Count | Total comments on each post. |
| 🔁 Share Count | Number of shares (if visible). |
| ⏰ Timestamps | Date and time of posts & comments. |
| 📸 Attachments | Photos, videos, shared media metadata. |
| 🧩 Group Details | Group title, description, category, member count. |
| 📊 Engagement Metrics | Reaction counts, view counts, popularity score. |

  

* * *

### ⭐ Key Features of Facebook Group Scraper

Here are the most powerful features you get when using a modern Facebook Group Scraper, Facebook Group Scraper GitHub version, or Apify Facebook Group Scraper:

*   ✔ Deep Post Extraction — Extract every detail from posts including text, hashtags, mentions, and media.  
      
    
*   ✔ Multi-Layer Comment Scraper — Automatically collect comments, replies, top comments & reaction counts.  
      
    
*   ✔ Facebook Group Member Scraper Integration — Gather public member details such as names, bios, profile URLs, badges, etc.  
      
    
*   ✔ Smart Anti-Detection Mode — Built-in delays, browser fingerprints & proxy routing ensure stability.  
      
    
*   ✔ Supports Public & “Allowed Private Methods” — While you cannot scrape private Facebook groups without access, you can scrape private groups you’re already a member of.  
      
    
*   ✔ JSON / CSV / Excel / HTML Export — Perfect for analysts, researchers, and automation pipelines.  
      
    
*   ✔ Resume & Pagination Handling — Automatically continues scraping large groups with 50K+ posts.  
      
    
*   ✔ Highly Configurable — Works with customized inputs, filters, pagination settings, keyword filters & more.  
      
    

* * *

### 🧭 How to Use Facebook Group Scraper

Follow this simple step-by-step guide to extract Facebook Group data using tools like Apify Facebook Group Scraper, Facebook Group Post Scraper, or a GitHub Facebook Scraper version:

#### 🪜 Step-by-Step Guide

1.  Log In to Apify — Create a free account or sign in.  
      
    
2.  Select the Actor — Search for “Facebook Group Scraper”, “Facebook Group Post Scraper”, or “Facebook Comment Scraper” in the Apify Store.  
      
    
3.  Enter Input Data — Paste your target Facebook group URL(s) or post URLs into the startUrls field.  
      
    
4.  Choose Extraction Options — Decide if you want posts only, comments, or member details.  
      
    
5.  Run the Scraper — Click Start, and the scraper will automatically crawl the group using browser automation.  
      
    
6.  Download Results — Export in JSON, CSV, Excel, or HTML for analysis.  
      
    
7.  (Optional) Use Proxies — Especially for large-scale tasks recommended for scrapers such as Facebook Group Scraper GitHub projects.  
      
    

This process allows you to download Facebook group posts and comments or run specialized operations like scrape Facebook group posts with Python.

  

* * *

### 🎯 Use Cases

A Facebook Group Scraper unlocks massive opportunities across industries. Here’s where it shines:

*   📈 Market Research: Track niche conversations, customer pain points, emerging trends & interest groups.  
      
    
*   🛍 Lead Generation: Collect highly relevant leads from groups related to your product or service.  
      
    
*   🧪 Product Validation: Analyze discussions to validate features, test ideas & measure interest.  
      
    
*   💬 Sentiment Analysis: Identify customer emotions, complaints, praise & frustrations.  
      
    
*   🏆 Competitor Monitoring: Watch competitor group activity, engagement & community behavior.  
      
    
*   🎭 Community Management: Understand what drives engagement before building your own group.  
      
    
*   📚 Academic Studies: Excellent for research in sociology, political science, and digital behavior.  
      
    
*   📢 Content Strategy: Discover trending topics to repurpose in blogs, videos, or campaigns.  
      
    

  

* * *

### ⭐ Why Choose Us?

When it comes to Facebook Group Scraping, our tool stands out with unmatched performance and reliability:

*   ⚡ Lightning-Fast Crawling with modern browser automation  
      
    
*   🔐 Built-In Safety & Anti-Detection to minimize blocks  
      
    
*   📊 Enterprise-Grade Data Output ready for analysis  
      
    
*   🔄 Auto Resume for long-running Facebook post extractions  
      
    
*   🤖 API & Integration Support (Zapier, Make, Google Sheets, Notion)  
      
    
*   📁 Multi-format Export: JSON, CSV, Excel, HTML  
      
    
*   💡 Zero Code Required — beginner-friendly interface  
      
    
*   🌍 Global Proxy Support for maximum stability  
      
    

Whether you're using a Facebook Group Scraper app, a GitHub open-source version, or our enhanced Apify Facebook Group Scraper, you’ll enjoy a smooth, accurate, and scalable scraping experience.

* * *

### ⚡ How Many Results Can You Scrape with Facebook Group Scraper?

Our Facebook Group Scraper is optimized for high-volume extractions, offering exceptional scalability:

*   📌 Up to 50,000+ Posts from active groups (depending on history & scrolling depth)  
      
    
*   📌 Unlimited Comments (auto-pagination supported)  
      
    
*   📌 Complete Member Lists (public-only visibility rules apply)  
      
    

However, scraping Facebook is not one-size-fits-all. Based on your setup:

*   Group size  
      
    
*   Visibility rules  
      
    
*   Post volume  
      
    
*   Browser loading behavior  
      
    
*   Use of proxies  
      
    
*   Facebook interface changes  
      
    

…results may vary.

Using Apify Facebook Group Scraper typically offers the highest consistency thanks to its browser automation, session management, and retry handling.

If you're using a Facebook Group Scraper GitHub Python script, performance may depend on code quality, rate limits, and browser setup.

For best results:

*   Use residential proxies  
      
    
*   Run incremental scrapes  
      
    
*   Avoid scraping too fast  
      
    
*   Always comply with Facebook policies  
      
    

* * *

### ⚖️ Is It Legal to Scrape Facebook Group Data?

Yes—if done ethically and responsibly. ⚖️

A Facebook Group Scraper, whether from Apify or GitHub, can only extract publicly visible data. You must follow these rules:

*   ❗ Do not scrape private groups you’re not a member of.  
      
    
*   ❗ Do not collect sensitive personal data (emails, phone numbers, etc.).  
      
    
*   ✔ Public posts, comments, or profiles are typically allowed.  
      
    
*   ✔ Comply with Facebook’s terms of service.  
      
    
*   ✔ Ensure you have a legitimate use case (research, marketing, academic, etc.).  
      
    

If in doubt, consult a legal advisor. Responsible scraping ensures ethical data usage and long-term reliability.


### 🧩 Input Parameters

#### JSON Input Example
```json
{
{
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "resultsLimit": 100,
    "startUrls": [
        "https://www.facebook.com/groups/germtheory.vs.terraintheory"
    ]
}
````

### 📤 Output Format

#### JSON Output Example

```json
 {
    "facebookUrl": "https://www.facebook.com/groups/germtheory.vs.terraintheory",
    "url": "https://www.facebook.com/groups/germtheory.vs.terraintheory/permalink/25731948476455484/",
    "time": "2026-01-05T02:50:59.000Z",
    "user": {
      "id": "pfbid029CeapwLpF1mM9mjsbSPQbvHeNpzSuErn8Z9Xh8irwgLUn3vNPbxYLQJsjhe56fHjl",
      "name": "David Sonelin"
    },
    "text": "GLYCEMIC LOAD?   (GL) \n\nThis is something I feel  the need to clearly understand and be on top of.  \n\nI heard years back Loren Lockman speak on this as a warning to be  a bit careful with sweet fruits,  dates and even bananas. (He would suggest mixing with lettuce also.) \n\nNow recently I went through Allen Carrs book  \"Good sugar, bad sugar\" which is a book on quitting the \"bad sugar addiction\", where he include  fruits, vegetables, nuts and seeds as the most natural diet for human.  \n\nHe says that we should be very careful not to go over GL 10(!) when we have  meal if we dont  want to  experience the negative effects.\n\nThats  not alot  in my perspective when Im trying to calculate a for me normal fruitmeal.  \nPS I used his other book Easy way to quit smoking 15 years ago and finally did quit so I have alot of respect for his method. 90% successrate actually for people who read that one. WIth sugar its MUCH trickier. I understand its bad, but here its alot more about   not overdoing something (sugar-since we still need it  \n\n1. Its safe to say that the GL decreases as soon as we wrap something sweet in lets say lettuce right? \n\n2. Its one of my absolute favorite fruit seasons now in India and daily  for some time Ive had  around  15 amazing sweet figs as a first meal around noon. Afterwards I would crash and sleep nearly 1 hour and wake up feeling quite unfresh. Not sure if the figs are the main reason for this or if  Im \"just detoxing\" at the moment, which Ive blamed so many other  things on before when doing mistakes (like too much out of season watermelon) for example. \n\nIs figs likely the reason and how many  figs would people here eat in a monomeal if it was  without lettuce?  \n\n3. Is there any information on GLYCEMIC LOADhere that I can use like a guide (except my bodys  inner guide  which seem to be failing when Im  around  the sweet stuff )?",
    "topReactionsCount": 5,
    "feedbackId": "ZmVlZGJhY2s6MjU3MzE5NDg0NzY0NTU0ODQ=",
    "reactionLikeCount": 3,
    "reactionLoveCount": 0,
    "id": "UzpfSTEwMDAwMjY4NzE1MDAwNDpWSzoyNTczMTk0ODQ3NjQ1NTQ4NA==",
    "legacyId": "25731948476455484",
    "attachments": [],
    "likesCount": 5,
    "sharesCount": 0,
    "commentsCount": 13,
    "topComments": [
      {
        "commentUrl": "https://www.facebook.com/groups/germtheory.vs.terraintheory/permalink/25731948476455484/?comment_id=25737334695916862",
        "id": "Y29tbWVudDoyNTczMTk0ODQ3NjQ1NTQ4NF8yNTczNzMzNDY5NTkxNjg2Mg==",
        "feedbackId": "ZmVlZGJhY2s6MjU3MzE5NDg0NzY0NTU0ODRfMjU3MzczMzQ2OTU5MTY4NjI=",
        "date": "2026-01-05T02:59:49.000Z",
        "text": "1.)  I think the lettuce definitely does decrease the glycemic load, but probably not by very much - unless your lettuce to fruit ratio is quite high.  Lettuce is essentially just minerals, fiber and water, so if you add more of this then you add more volume and minerals and water without increasing sugars, so the GL definitely does decrease, it just depends upon how much lettuce to fruit you're eating\n\n2.)  I assume you are eating dried dates?  Keep in mind, dried dates are a fine staple, but making an entire meal out of them might be a little too much.  If they were fresh I think this would be fine - fresh they have more water content and the enzymes are still intact.  When they are dried they do create a little more burden.\n\n3.)  I don't think we have any resources on glycemic load specifically.  I will add it to the list :)",
        "profileUrl": "https://www.facebook.com/nat.farris",
        "profilePicture": "https://scontent.frec6-1.fna.fbcdn.net/v/t1.6435-1/99292404_10100156812493971_351040798227169280_n.jpg?stp=cp0_dst-jpg_s32x32_tt6&_nc_cat=107&ccb=1-7&_nc_sid=e99d92&_nc_ohc=v4NurAG0ggUQ7kNvwFo2p56&_nc_oc=Adm1GcgjSv_l7dtTh_es0ttB5S9T-NgMO1Kcp4LRV8NocQAn6l0hdBW2Z9czmAHjWYg&_nc_zt=24&_nc_ht=scontent.frec6-1.fna&_nc_gid=aY3LiJji58ysyX_fqYzZPw&oh=00_Afo_QLRv4vp2DzZzh7OEKSOAZ8h0tsjrUDs5QStgtdkFiw&oe=69831C36",
        "profileId": "pfbid0T5VQeHhHcdSyywiLkY5zGUghvVKiZhgcmvxgT7F4sJ25Nv5dJVNrnHJWJdwisL1ul",
        "profileName": "Nat Farris",
        "likesCount": "2",
        "threadingDepth": 0
      },
      {
        "commentUrl": "https://www.facebook.com/groups/germtheory.vs.terraintheory/permalink/25731948476455484/?comment_id=25737572189226446",
        "id": "Y29tbWVudDoyNTczMTk0ODQ3NjQ1NTQ4NF8yNTczNzU3MjE4OTIyNjQ0Ng==",
        "feedbackId": "ZmVlZGJhY2s6MjU3MzE5NDg0NzY0NTU0ODRfMjU3Mzc1NzIxODkyMjY0NDY=",
        "date": "2026-01-05T03:47:32.000Z",
        "text": "Read the 80/10/10 diet",
        "profileUrl": null,
        "profilePicture": "https://scontent.frec6-1.fna.fbcdn.net/v/t39.30808-1/595119407_3039355649591459_769701286560838966_n.jpg?stp=cp0_dst-jpg_s32x32_tt6&_nc_cat=106&ccb=1-7&_nc_sid=1d2534&_nc_ohc=iiPGU_oCdFUQ7kNvwEsvZFy&_nc_oc=AdkgAqvKrnuzzdgzF7CM5wa8Ym2N1gINoXNl1MZQUVLux1xsrJKI4twYO5NWiIjORzA&_nc_zt=24&_nc_ht=scontent.frec6-1.fna&_nc_gid=aY3LiJji58ysyX_fqYzZPw&oh=00_AfpyOOohH2TOkEgoffzj7X-ezDnt61AB9DdjrGk7169f1g&oe=69617E86",
        "profileId": "100005511611689",
        "profileName": "Justin Marinelli",
        "likesCount": "1",
        "threadingDepth": 0
      }
    ],
    "facebookId": "430027810407566",
    "groupTitle": null,
    "pageAdLibrary": {
      "is_business_page_active": false,
      "id": "430027810407566"
    },
    "inputUrl": "https://www.facebook.com/groups/germtheory.vs.terraintheory"
  },
```

### ❓ FAQ — Facebook Group Scraper (SEO Optimized)

#### 1️⃣ Can I scrape private Facebook groups?

Only if you're already a member. Otherwise, no.

#### 2️⃣ Is there a Facebook Group Scraper GitHub version?

Yes, several open-source versions exist—but require coding and setup.

#### 3️⃣ Can I download Facebook group posts and comments?

Absolutely. Our scraper exports posts, comments, and reactions.

#### 4️⃣ Does it work with Python?

Yes—you can use scrape Facebook group posts Python scripts.

#### 5️⃣ Does it extract member info?

Only publicly visible profile data. No sensitive private details.

#### 6️⃣ Can I scrape comments only?

Yes—enable Facebook comment scraper mode.

#### 7️⃣ Is proxy required?

Highly recommended for large Facebook scraping tasks.

### Conclusion

A powerful Facebook Group Scraper lets you gather Facebook posts, comments, and group insights effortlessly—ideal for businesses, researchers, and growth marketers. Whether you prefer GitHub tools, Apify automation, or no-code workflows, scraping Facebook groups responsibly helps uncover trends, audience behavior, and competitive opportunities. Start extracting meaningful data today and turn conversations into insights! 📈💬

### What are other Facebook scraping tools?

If you want to scrape specific Facebook data, you can use any of the dedicated scrapers below for faster and more targeted results.

| Scraper Name | Scraper Name |
|---|---|
| [Facebook Ads Library Scraper](https://apify.com/scrapier/facebook-ads-library-scraper) | [Facebook Page Lead Scraper](https://apify.com/scrapier/facebook-page-lead-scraper) |
| [Facebook B2b Email Scraper](https://apify.com/scrapier/facebook-b2b-email-scraper) | [Facebook Page Phone Number Scraper](https://apify.com/scrapier/facebook-page-phone-number-scraper) |
| [Facebook B2b Lead Scraper](https://apify.com/scrapier/facebook-b2b-lead-scraper) | [Facebook Page Posts Scraper](https://apify.com/scrapier/facebook-page-posts-scraper) |
| [Facebook B2b Phone Number Scraper](https://apify.com/scrapier/facebook-b2b-phone-number-scraper) | [Facebook Page Scraper](https://apify.com/scrapier/facebook-page-scraper) |
| [Facebook Comments Scraper](https://apify.com/scrapier/facebook-comments-scraper) | [Facebook Pages Scraper](https://apify.com/scrapier/facebook-pages-scraper) |
| [Facebook Email Scraper](https://apify.com/scrapier/facebook-email-scraper) | [Facebook Phone Number Scraper](https://apify.com/scrapier/facebook-phone-number-scraper) |
| [Facebook Event Search Scraper](https://apify.com/scrapier/facebook-event-search-scraper) | [Facebook Photos Scraper](https://apify.com/scrapier/facebook-photos-scraper) |
| [Facebook Events Scraper](https://apify.com/scrapier/facebook-events-scraper) | [Facebook Posts Scraper](https://apify.com/scrapier/facebook-posts-scraper) |
| [Facebook Followers Following Scraper](https://apify.com/scrapier/facebook-followers-following-scraper) | [Facebook Posts Search Scraper](https://apify.com/scrapier/facebook-posts-search-scraper) |
| [Facebook Followers Scraper](https://apify.com/scrapier/facebook-followers-scraper) | [Facebook Profile Email Scraper](https://apify.com/scrapier/facebook-profile-email-scraper) |
| [Facebook Group Member Scraper](https://apify.com/scrapier/facebook-group-member-scraper) | [Facebook Profile Lead Scraper](https://apify.com/scrapier/facebook-profile-lead-scraper) |
| [Facebook Group Post Scraper](https://apify.com/scrapier/facebook-group-post-scraper) | [Facebook Profile Phone Number Scraper](https://apify.com/scrapier/facebook-profile-phone-number-scraper) |
| [Facebook Group Posts And Details Scraper](https://apify.com/scrapier/facebook-group-posts-and-details-scraper) | [Facebook Reels Scraper](https://apify.com/scrapier/facebook-reels-scraper) |
| [Facebook Group Profile Scraper](https://apify.com/scrapier/facebook-group-profile-scraper) | [Facebook Reviews Scraper](https://apify.com/scrapier/facebook-reviews-scraper) |
| [Facebook Groups Posts Scraper](https://apify.com/scrapier/facebook-groups-posts-scraper) | [Facebook Search Scraper](https://apify.com/scrapier/facebook-search-scraper) |
| [Facebook Groups Search Scraper](https://apify.com/scrapier/facebook-groups-search-scraper) | [Facebook Url To Id Scraper](https://apify.com/scrapier/facebook-url-to-id-scraper) |
| [Facebook Lead Scraper](https://apify.com/scrapier/facebook-lead-scraper) | [Facebook User Search Scraper](https://apify.com/scrapier/Facebook-User-Search-Scraper) |
| [Facebook Likes Reactions Scraper](https://apify.com/scrapier/facebook-likes-reactions-scraper) | [Facebook Video Search Scraper](https://apify.com/scrapier/facebook-video-search-scraper) |
| [Facebook Marketplace Scraper](https://apify.com/scrapier/facebook-marketplace-scraper) | [Facebook Video Transcript Extractor](https://apify.com/scrapier/facebook-video-transcript-extractor) |
| [Facebook Page Email Scraper](https://apify.com/scrapier/facebook-page-email-scraper) | [Facebook Videos Scraper](https://apify.com/scrapier/facebook-videos-scraper) |

# Actor input Schema

## `startUrls` (type: `array`):

📌 **Add Your Target Groups** 📌

✨ Paste one or more public Facebook group URLs here.

⚠️ **Important:** Only public groups are supported. Private groups require authentication.

💡 **Tip:** You can scrape multiple groups in one run!

## `resultsLimit` (type: `integer`):

🎯 **Control Your Data Volume** 🎯

Set the maximum number of posts to scrape from each group.

💡 **Smart Tip:** Leave empty to scrape ALL available posts (perfect for comprehensive analysis, but may take longer).

⚡ **Recommended:** Start with 20-50 posts to test, then scale up!

## `viewOption` (type: `string`):

🎭 **Choose Your Sorting Style** 🎭

Select how posts should be organized and displayed:

📅 **Chronological** - Time-travel through posts (oldest → newest)

🔥 **Recent Activity** - Catch the hottest, most active discussions

⭐ **Top Posts** - Discover the most popular and engaging content

🛒 **Chronological Listings** - Perfect for Buy/Sell groups

⚠️ **Note:** Post limit applies to 'New posts' sorting only.

## `searchGroupKeyword` (type: `string`):

🎯 **Find Specific Content** 🎯

Search posts by keyword or letter to filter results.

⚠️ **Limitation:** Without login, search capabilities are limited.

💡 **Pro Strategy:**
• Use 1-2 letters + year filter for optimal results
• Combine with year filter below for precision

📝 **Note:** Full words may not return results in most cases.

## `searchGroupYear` (type: `string`):

🗓️ **Time-Travel to Specific Years** 🗓️

Filter posts from a specific year (e.g., 2024, 2023, 2022).

📌 **Important:** Must be used together with the Search Keyword field above for best results.

💡 **Example:** Enter "2024" to get posts from that year only.

## `onlyPostsNewerThan` (type: `string`):

⏰ **Set Your Time Boundary** ⏰

Stop scraping when posts are older than this date.

📝 **Format Options:**
• **Absolute:** YYYY-MM-DD (e.g., 2024-01-15)
• **Relative:** Natural language (e.g., "2 weeks", "7 days", "1 month")

💡 **Examples:**
• "2024-01-01" - Posts from January 2024 onwards
• "30 days" - Posts from the last month
• "1 year" - Posts from the last year

## `proxyConfiguration` (type: `object`):

🛡️ **Enterprise-Grade Security** 🛡️

Configure proxy settings for secure and reliable scraping.

✨ **Features:**
• ✅ Automatic residential proxy rotation
• 🔄 Smart auto-retry mechanism
• 🚀 Ensures complete data collection
• 🔒 Protects your scraping activities

💡 **Recommended:** Enable for large-scale scraping operations!

## Actor input object example

```json
{
  "startUrls": [
    "https://www.facebook.com/groups/cheapmealideas/"
  ],
  "resultsLimit": 10,
  "viewOption": "CHRONOLOGICAL",
  "searchGroupKeyword": "",
  "searchGroupYear": "",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://www.facebook.com/groups/cheapmealideas/"
    ],
    "onlyPostsNewerThan": "",
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/facebook-groups-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://www.facebook.com/groups/cheapmealideas/"],
    "onlyPostsNewerThan": "",
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/facebook-groups-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.facebook.com/groups/cheapmealideas/"
  ],
  "onlyPostsNewerThan": "",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapier/facebook-groups-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapier/facebook-groups-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Groups Scraper",
        "description": "Monitor Facebook group activity automatically. Scrape posts, discussions, engagement stats, and media with clean, export-ready output. Perfect for social research, community insights, and large-scale data analysis.",
        "version": "0.1",
        "x-build-id": "p5A88K2mEY4agfLeV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~facebook-groups-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-facebook-groups-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapier~facebook-groups-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-facebook-groups-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapier~facebook-groups-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-facebook-groups-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "🔗 Facebook Group URLs",
                        "type": "array",
                        "description": "📌 **Add Your Target Groups** 📌\n\n✨ Paste one or more public Facebook group URLs here.\n\n⚠️ **Important:** Only public groups are supported. Private groups require authentication.\n\n💡 **Tip:** You can scrape multiple groups in one run!",
                        "items": {
                            "type": "string"
                        }
                    },
                    "resultsLimit": {
                        "title": "📊 Number of Posts to Scrape",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🎯 **Control Your Data Volume** 🎯\n\nSet the maximum number of posts to scrape from each group.\n\n💡 **Smart Tip:** Leave empty to scrape ALL available posts (perfect for comprehensive analysis, but may take longer).\n\n⚡ **Recommended:** Start with 20-50 posts to test, then scale up!",
                        "default": 10
                    },
                    "viewOption": {
                        "title": "🔄 Post Sorting Strategy",
                        "enum": [
                            "CHRONOLOGICAL",
                            "RECENT_ACTIVITY",
                            "TOP_POSTS",
                            "CHRONOLOGICAL_LISTINGS"
                        ],
                        "type": "string",
                        "description": "🎭 **Choose Your Sorting Style** 🎭\n\nSelect how posts should be organized and displayed:\n\n📅 **Chronological** - Time-travel through posts (oldest → newest)\n\n🔥 **Recent Activity** - Catch the hottest, most active discussions\n\n⭐ **Top Posts** - Discover the most popular and engaging content\n\n🛒 **Chronological Listings** - Perfect for Buy/Sell groups\n\n⚠️ **Note:** Post limit applies to 'New posts' sorting only.",
                        "default": "CHRONOLOGICAL"
                    },
                    "searchGroupKeyword": {
                        "title": "🔍 Search Keyword Filter",
                        "type": "string",
                        "description": "🎯 **Find Specific Content** 🎯\n\nSearch posts by keyword or letter to filter results.\n\n⚠️ **Limitation:** Without login, search capabilities are limited.\n\n💡 **Pro Strategy:** \n• Use 1-2 letters + year filter for optimal results\n• Combine with year filter below for precision\n\n📝 **Note:** Full words may not return results in most cases.",
                        "default": ""
                    },
                    "searchGroupYear": {
                        "title": "📅 Year Filter",
                        "type": "string",
                        "description": "🗓️ **Time-Travel to Specific Years** 🗓️\n\nFilter posts from a specific year (e.g., 2024, 2023, 2022).\n\n📌 **Important:** Must be used together with the Search Keyword field above for best results.\n\n💡 **Example:** Enter \"2024\" to get posts from that year only.",
                        "default": ""
                    },
                    "onlyPostsNewerThan": {
                        "title": "📅 Posts Newer Than",
                        "pattern": "^$|^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$|^(\\d+)\\s*(day|week|month|year)s?$",
                        "type": "string",
                        "description": "⏰ **Set Your Time Boundary** ⏰\n\nStop scraping when posts are older than this date.\n\n📝 **Format Options:**\n• **Absolute:** YYYY-MM-DD (e.g., 2024-01-15)\n• **Relative:** Natural language (e.g., \"2 weeks\", \"7 days\", \"1 month\")\n\n💡 **Examples:**\n• \"2024-01-01\" - Posts from January 2024 onwards\n• \"30 days\" - Posts from the last month\n• \"1 year\" - Posts from the last year"
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy & Security Settings",
                        "type": "object",
                        "description": "🛡️ **Enterprise-Grade Security** 🛡️\n\nConfigure proxy settings for secure and reliable scraping.\n\n✨ **Features:**\n• ✅ Automatic residential proxy rotation\n• 🔄 Smart auto-retry mechanism\n• 🚀 Ensures complete data collection\n• 🔒 Protects your scraping activities\n\n💡 **Recommended:** Enable for large-scale scraping operations!"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
