# Facebook Groups Search Scraper (`parseforge/facebook-groups-search-scraper`) Actor

Search Facebook groups by keyword: ID, name, URL, privacy, exact members, posts per day, location, admins and rules. Export CSV, Excel, JSON or XML.

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

## Pricing

from $3.40 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner-v4.webp)

## 👥 Facebook Groups Search Scraper

> 🚀 **Export Facebook groups by keyword in seconds.** Type a topic and get every matching group with its ID, URL, public or private status, exact member count, posts today and in the last month, creation date, location, description, admin count and rules. 26 fields per group, no Facebook account needed.

Facebook Groups Search Scraper turns a keyword into a clean list of Facebook groups. It searches the public web index of `facebook.com/groups` for each term, across dozens of keyword variations, then opens every group's public About tab and reads what Facebook itself publishes there. Public and private groups are both covered, because Facebook shows the About tab of a private group to anyone.

Every row carries 26 fields. Member counts are exact (16,380, not "16K"), activity comes straight from Facebook's own counters (posts today and posts in the last 30 days), and the creation date is an exact timestamp. One search term usually returns a few hundred distinct groups, and filters for privacy, member range, activity and location keep only the communities you would actually join or contact. Groups you filter out are never billed.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Community marketers, growth teams, social media managers, local businesses, researchers, lead generation agencies, brand and product managers | Finding groups to join or partner with, community mapping by niche or city, competitor and brand community tracking, market research, activity benchmarking |

### 📋 What the Facebook Groups Search Scraper does

- 🔎 **Keyword to groups.** Each search term runs across up to 35 keyword variations ("tesla club", "tesla owners", "tesla uk"...) so you get far more than one results page.
- 👥 **Exact audience size.** The precise member total from the group's About tab, plus the text Facebook shows.
- 📈 **Real activity.** Posts today, posts in the last month and the average posts per day, so you can tell a living community from a dead one.
- 🔒 **Privacy and visibility.** PUBLIC or PRIVATE, VISIBLE or HIDDEN, with Facebook's own explanation.
- 📍 **Location, history and rules.** Group locations, exact creation date, name-change history, every rule with its text, and the number of admins and moderators.
- 🔗 **Group URLs too.** Paste links you already have (a group home, About tab, post or permalink) to refresh their numbers.
- 🧹 **Filters that save money.** Privacy, minimum and maximum members, minimum posts per day, location text and strict keyword match. Filtered groups are not billed.

> 💡 **Why it matters:** the size of a Facebook group says little on its own. Plenty of 300,000-member groups get 3 posts a month, and plenty of 2,000-member groups are buzzing. This Actor gives you the member count and the real posting activity side by side, so you pick the communities that will actually see your message.

### 🎬 Full Demo (🚧 Coming soon)

### 📊 Output

| Field | Description |
|---|---|
| 🖼 `imageUrl` | Cover photo of the group (profile picture when there is no cover) |
| 📌 `name` | Group name |
| 🔗 `url` | Canonical group URL |
| 🆔 `groupId` | Numeric Facebook group ID |
| 🏷 `vanity` | Custom group handle, N/A when the group uses its numeric ID |
| 🔒 `privacy` | PUBLIC or PRIVATE |
| 📝 `privacyDescription` | Facebook's explanation of the privacy setting |
| 👁 `visibility` | VISIBLE (anyone can find it) or HIDDEN |
| 👥 `members` | Exact member count |
| 👥 `membersText` | Member count as Facebook writes it |
| 📝 `postsToday` | New posts today |
| 📅 `postsLastMonth` | Posts in the last 30 days |
| 📈 `avgPostsPerDay` | Average posts per day over the last month |
| 🎂 `createdAt` | Exact creation date and time (ISO 8601) |
| 📜 `history` | Creation and name-change history as Facebook states it |
| 📍 `location` | First location set by the group |
| 🗺 `locations` | Every location set by the group |
| 📄 `description` | Group description |
| 🛡 `adminAndModeratorCount` | Number of admins and moderators (Not Disclosed on private groups) |
| 📏 `rulesCount` | Number of group rules |
| 📋 `rules` | Each rule's title and text |
| 🖼 `profilePictureUrl` | Small group picture |
| 🔎 `query` | Search term that found the group |
| 🏅 `rank` | Order in which the search found it |
| 🕒 `scrapedAt` | When the row was collected |
| ❌ `error` | Empty on success, a message on an unbilled error row |

Three real rows from a run with the search term `tesla` (image URLs shortened and two rules shown):

```json
[
  {
    "imageUrl": "https://scontent.fkhh1-2.fna.fbcdn.net/v/t39.30808-6/285161879_509404357631733_3339109745958488311_n.jpg",
    "name": "TESLA",
    "url": "https://www.facebook.com/groups/260505726202010/",
    "groupId": "260505726202010",
    "vanity": "N/A",
    "privacy": "PRIVATE",
    "privacyDescription": "Only members can see who's in the group and what they post.",
    "visibility": "VISIBLE",
    "members": 328102,
    "membersText": "328,102 total members",
    "postsToday": 0,
    "postsLastMonth": 3,
    "avgPostsPerDay": 0.1,
    "createdAt": "2022-04-10T05:11:28.000Z",
    "history": "Group created on April 10, 2022. Name last changed on September 9, 2022.",
    "location": "Los Angeles, California",
    "locations": ["Los Angeles, California", "Fremont, California", "Austin, Texas"],
    "description": "Tesla’s mission is to accelerate the world’s transition to sustainable energy...",
    "adminAndModeratorCount": "Not Disclosed",
    "rulesCount": 3,
    "rules": [
      { "title": "ZERO tolerance for promotions or spam", "description": "Give more to this group than you take. Self-promotion, Referral Links, spam and irrelevant links aren't allowed..." },
      { "title": "Posts should add value", "description": "If its not not relevant to this group do NOT post it..." }
    ],
    "profilePictureUrl": "https://scontent.fkhh1-2.fna.fbcdn.net/v/t39.30808-6/285161879_509404357631733_3339109745958488311_n.jpg",
    "query": "tesla",
    "rank": 6,
    "scrapedAt": "2026-09-29T01:06:23.258Z",
    "error": null
  },
  {
    "imageUrl": "https://scontent-lhr11-1.xx.fbcdn.net/v/t39.30808-6/681407827_10175053292720179_5146749440355349459_n.jpg",
    "name": "Tesla Owners Australia",
    "url": "https://www.facebook.com/groups/teslaownersaustralia/",
    "groupId": "179046264217457",
    "vanity": "teslaownersaustralia",
    "privacy": "PUBLIC",
    "privacyDescription": "Anyone can see who's in the group and what they post.",
    "visibility": "VISIBLE",
    "members": 142431,
    "membersText": "142,431 total members",
    "postsToday": 28,
    "postsLastMonth": 1081,
    "avgPostsPerDay": 36,
    "createdAt": "2021-08-03T02:24:41.000Z",
    "history": "Group created on 3 August 2021. Name last changed on 3 August 2021.",
    "location": "Australia",
    "locations": ["Australia"],
    "description": "A Group for all those who are thinking of buying or already own a Tesla! \n\nFriendly community for those to share information 💕",
    "adminAndModeratorCount": 31,
    "rulesCount": 9,
    "rules": [
      { "title": "Australian Members Only", "description": "If you join this group and live outside Australia please look at alternative groups..." },
      { "title": "No promotions or spam*", "description": "Give more to this group than you take. Self-promotion, spam and irrelevant links aren't allowed..." }
    ],
    "profilePictureUrl": "https://scontent-lhr11-1.xx.fbcdn.net/v/t39.30808-6/681407827_10175053292720179_5146749440355349459_n.jpg",
    "query": "tesla",
    "rank": 12,
    "scrapedAt": "2026-09-29T01:06:29.010Z",
    "error": null
  },
  {
    "imageUrl": "https://scontent.fmar1-1.fna.fbcdn.net/v/t39.30808-6/466630204_959597319528534_2355635411440743585_n.jpg",
    "name": "TESLA",
    "url": "https://www.facebook.com/groups/1144184091095064/",
    "groupId": "1144184091095064",
    "vanity": "N/A",
    "privacy": "PUBLIC",
    "privacyDescription": "Anyone can see who's in the group and what they post.",
    "visibility": "VISIBLE",
    "members": 78116,
    "membersText": "78,116 total members",
    "postsToday": 4,
    "postsLastMonth": 302,
    "avgPostsPerDay": 10.1,
    "createdAt": "2024-11-12T23:37:49.000Z",
    "history": "Group created on 12 November 2024. Name last changed on 12 November 2024.",
    "location": "Los Angeles, California",
    "locations": ["Los Angeles, California"],
    "description": "Dedicated community of #Tesla owners and fans",
    "adminAndModeratorCount": 1,
    "rulesCount": 0,
    "rules": [],
    "profilePictureUrl": "https://scontent.fmar1-1.fna.fbcdn.net/v/t39.30808-6/466630204_959597319528534_2355635411440743585_n.jpg",
    "query": "tesla",
    "rank": 1,
    "scrapedAt": "2026-09-29T01:06:20.981Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

- ✅ **It returns data.** Every run either delivers rows or fails with a clear reason. It never ends "successful" with an empty dataset because something broke, and unbilled error rows explain any group it could not read.
- 👥 **Exact numbers.** Member totals, posts today and posts in the last month are Facebook's own exact counters, not rounded "21K members" or "4 posts a day" text.
- 🔒 **Private groups included.** Their About tab is public, so they come with members, activity, location, history and rules.
- 🛡 **Admin and moderator count.** Know how well moderated a group is before you post there.
- 🧹 **Filters before billing.** Groups outside your privacy, size, activity or location filters are skipped for free.
- 🙅 **No account, no cookies.** Nothing to log in to, nothing to get banned.

### 📈 How it compares to alternatives

| | This Actor | Typical group search scrapers |
|---|---|---|
| Needs a Facebook account or cookies | ❌ No | Often yes |
| Member count | Exact number | Rounded text ("21K members") |
| Activity | Posts today + posts last month + average per day | "4 posts a day" text, when shown |
| Creation date and history | ✅ Exact timestamp | ❌ |
| Location, description, rules | ✅ | Partial or none |
| Admin and moderator count | ✅ (public groups) | ❌ |
| Filters (privacy, size, activity, location) | ✅ Free for skipped groups | Rare |
| Empty run when something breaks | ❌ Never, it fails with a reason | Common complaint |

**Honest ceiling:** Facebook's own group search needs a login, so this Actor discovers groups through the public web index instead. That gives a few hundred groups per search term, which covers the groups people actually find, but it is not every group Facebook holds. Add more specific terms (a city, a model, a hobby) to go wider. Member lists and posts inside groups are not read, because they need a login.

### 🚀 How to use

1. Create a free Apify account with $5 credit: [sign up here](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open Facebook Groups Search Scraper and type one or more search terms, for example `tesla`, `real estate investors` or `dog lovers london`.
3. Optional: set filters (privacy, member range, posts per day, location) and Max Items.
4. Keep the default residential proxy and click **Start**.
5. Download the groups as CSV, Excel, JSON or XML from the dataset tab.

Example:

```json
{ "searchQueries": ["tesla", "electric vehicles"], "maxItems": 200, "privacy": "any", "minMembers": 1000, "minPostsPerDay": 1 }
```

### 💼 Business use cases

#### 📣 Community marketing

Build a shortlist of active groups in your niche, sorted by members and posts per day, and focus your time where people are actually talking.

#### 🤝 Partnerships and outreach

Find the biggest groups in a city or industry, check how many admins and moderators run them, and read their rules on promotion before you reach out.

#### 🕵️ Brand and competitor tracking

See which groups form around your brand or a competitor's, how fast they grow in activity, and where they are located.

#### 📊 Market research

Size a niche by the number of groups, their combined members and their monthly activity, and compare it across countries or topics.

### 🔌 Automating Facebook Groups Search Scraper

Schedule it on Apify to refresh your group lists weekly, then send the results where you work:

- **Make** and **Zapier**: push new groups into a CRM or a spreadsheet.
- **Slack**: post a message when a new active group appears for your keyword.
- **Airbyte**: load the dataset into your warehouse.
- **GitHub Actions**: trigger a run from your pipeline through the Apify API.
- **Google Drive**: export each run as a spreadsheet automatically.

### 🌟 Beyond business use cases

- **Research:** study how online communities form around topics, places and products.
- **Personal:** find the best local, hobby or support groups to join.
- **Non-profit:** locate communities to share volunteering or awareness campaigns with.
- **Experimentation:** build datasets of community size versus activity.

### 🤖 Ask an AI assistant about this scraper

Paste this page into ChatGPT, Claude or Gemini and ask things like "which filters should I use to find active local groups about gardening?" or "how do I send the results to Google Sheets?".

### ❓ Frequently Asked Questions

#### 🔑 Do I need a Facebook account or cookies?

No. The Actor reads only what Facebook shows to logged-out visitors. Nothing is logged in and no account can be banned.

#### 🔎 Is this the same as the search box on facebook.com?

No. Facebook's own group search needs a login. This Actor finds groups through the public web index of Facebook groups and then reads each group's About tab directly from Facebook, so the numbers are Facebook's own.

#### 📚 How many groups can one search term return?

Usually a few hundred. Each term is searched with up to 35 variations. For bigger lists, add more specific terms such as a city, a product or a hobby.

#### 🔒 Does it work for private groups?

Yes. Facebook publishes the About tab of private groups to everyone: name, members, activity, location, history, description and rules. The admin and moderator count is hidden on private groups and shows as Not Disclosed.

#### 📈 How is activity measured?

`postsToday` and `postsLastMonth` are Facebook's own counters from the About tab. `avgPostsPerDay` is posts in the last month divided by 30.

#### 🧹 Are filtered groups billed?

No. Only groups that pass your filters become rows, and only rows are billed. Error rows are never billed.

#### 📍 How does the location filter work?

It keeps groups whose Facebook location contains your text, for example "Florida" or "London". Groups that set no location are skipped when the filter is on.

#### 📧 Does it return admin names or contact details?

No. Only the number of admins and moderators is returned. Email addresses, phone numbers and WhatsApp links inside descriptions and rules are replaced with \[removed], because they belong to private individuals.

#### 🛡 Do I need a proxy?

Yes, and it is set by default. Facebook shows a login wall to datacenter addresses, so group pages go through Apify's residential proxy. Search requests use the cheaper datacenter proxy automatically.

#### 🚫 What happens when something goes wrong?

A group that Facebook removed or walls off becomes an unbilled error row with the reason. If every page is walled or the search engines refuse every request, the run fails with a clear message instead of finishing empty.

#### 🔗 Can I use group URLs instead of keywords?

Yes. Put them in Group URLs. A group home, About tab, post or permalink link all work, and the Actor reads the group behind it.

#### 🔁 Why can the same group appear under two names?

It cannot: rows are de-duplicated on the numeric group ID, even when the search finds the group under both its handle and its ID.

### 🔌 Integrate with any app

Use the [Apify API](https://docs.apify.com/api/v2), the JavaScript and Python clients, webhooks or any of the integrations above to plug the groups into your own tools.

### ➡️ Next step

Feed the `url` column into the next Actor:

- [Facebook Groups Scraper](https://apify.com/parseforge/facebook-groups-scraper): read each group in depth, including a preview of recent posts.
- [Facebook Posts Scraper](https://apify.com/parseforge/facebook-posts-scraper): posts from public pages and profiles.
- [Facebook Comments Scraper](https://apify.com/parseforge/facebook-comments-scraper): comments and replies on any public post.

### 🔗 Recommended Actors

- [Facebook Search Scraper](https://apify.com/parseforge/facebook-search-scraper)
- [Facebook Groups Scraper](https://apify.com/parseforge/facebook-groups-scraper)
- [Facebook Pages Scraper](https://apify.com/parseforge/facebook-pages-scraper)
- [Facebook Posts Scraper](https://apify.com/parseforge/facebook-posts-scraper)
- [Facebook Comments Scraper](https://apify.com/parseforge/facebook-comments-scraper)

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** this is an independent tool, not affiliated with Facebook or Meta. It collects only publicly available data.

# Actor input Schema

## `searchQueries` (type: `array`):

Keywords to find Facebook groups for, one per line (for example: tesla, real estate investors, dog lovers london). Each term is searched across several keyword variations, so one term can return a few hundred groups. Public and private groups are both found.

## `groupUrls` (type: `array`):

Optional. Facebook group links to read directly, one per line (a group home, About tab, post or permalink link all work). Use it to refresh groups you already know, with no search needed.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000. The total is shared across your search terms. One term usually yields 100 to 300 groups, so add more terms for bigger lists.

## `privacy` (type: `string`):

Keep public groups, private groups, or both.

## `minMembers` (type: `integer`):

Skip groups with fewer members than this. Leave empty for no minimum.

## `maxMembers` (type: `integer`):

Skip groups with more members than this, handy for finding small niche communities. Leave empty for no maximum.

## `minPostsPerDay` (type: `integer`):

Keep only active groups: the average number of posts per day over the last month must reach this value. Leave empty or 0 to keep inactive groups too.

## `locationContains` (type: `string`):

Keep only groups whose Facebook location contains this text (for example: Florida, London, France). Groups that set no location are skipped when this is used.

## `requireKeywordMatch` (type: `boolean`):

Keep only groups whose name or description contains every word of the search term. Off by default, because many relevant groups use other words in their name.

## `includeRules` (type: `boolean`):

Add the group's rules (title and text) as a list on each row. The rule count is always included.

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

Used for Facebook group pages. Keep the RESIDENTIAL group for reliable results. Search engine requests use Apify's cheaper datacenter proxy automatically, or your own proxies when you supply them.

## Actor input object example

```json
{
  "searchQueries": [
    "tesla"
  ],
  "maxItems": 10,
  "privacy": "any",
  "requireKeywordMatch": false,
  "includeRules": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Key fields

## `fullData` (type: `string`):

Complete dataset with all 26 fields

# 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 = {
    "searchQueries": [
        "tesla"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/facebook-groups-search-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 = {
    "searchQueries": ["tesla"],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "tesla"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call parseforge/facebook-groups-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/facebook-groups-search-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/mxbVqsdSMyJFOrsSw/builds/JcjSroyxlv69chdKJ/openapi.json
