Facebook Groups Search Scraper With Member Filters avatar

Facebook Groups Search Scraper With Member Filters

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Facebook Groups Search Scraper With Member Filters

Facebook Groups Search Scraper With Member Filters

πŸ”Ž Facebook Groups Search Scraper extracts public group results by keywordβ€”name, URL, members, privacy, topics & about. πŸ“Š Export CSV/JSON for research, lead gen, and community discovery. ⚑ Fast, reliable, API-ready. πŸš€ Ideal for marketers, analysts & recruiters.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

19

Total users

5

Monthly active users

3 days ago

Last modified

Share

Facebook Group Scraper β€” Extract Groups, Members, Activity as JSON

Facebook Group Scraper With Member Filters discovers public Facebook groups by keyword or direct link and returns each one as a structured JSON row β€” no HTML, no selectors, no manual parsing. Every row combines group identity (name, URL, description), membership data (member count as text and as a real number, visibility), and posting-activity data (posts/day, posts/month) in one place, and lets you drop groups below the member or activity thresholds you set before they ever reach your dataset. Add a few seed keywords or group links, set your filters, and start pulling qualified groups straight into your dataset, spreadsheet, or LLM pipeline.

What is Facebook Group Scraper With Member Filters?

Facebook Group Scraper With Member Filters is an Apify Actor that finds public Facebook groups by keyword β€” auto-expanding each seed term into related search variants β€” or scrapes group data directly from a pasted group URL. It reads each group's public /about page, so no Facebook account, login, or Graph API token is required to run it. Numeric member-count and posting-activity filters are applied before a row is saved, so non-qualifying groups never appear in your output.

  • Discover groups by keyword with automatic related-keyword expansion (e.g. "bmw" β†’ "bmw group", "bmw community", "bmw owners", "bmw club")
  • Fall back to a Bing SERP search when DuckDuckGo under-returns for a keyword
  • Scrape direct Facebook group URLs alongside keywords in the same run
  • Filter out groups below a minimum/maximum member count or a minimum posts-per-day rate
  • Export results as JSON, CSV, or any other Apify dataset format

What data does Facebook Group Scraper With Member Filters collect?

Each output row covers three kinds of data pulled from a group's public /about page: who the group is, how big and visible it is, and how active it is.

Data TypeKey FieldsJSON Field Names
Group identity & discoverygroup ID, name, URL, profile picture, description, discoverability, discovery sourceid, name, url, profilePictureUri, groupDescription, discoverabilityText, sourceType, discoveryEngine, matchedKeywordVariant, query
Membership & visibilitymember count text, member count as a number, public/private visibility, viewer join statememberInfo, memberCountNumeric, visibility, viewerJoinState
Posting activityposting-frequency text, posts per day, posts per monthpostFrequency, postsPerDayNumeric, postsPerMonthNumeric
Run metadatarecord type, scrape timestamptype, scrapedAt

Need more Facebook data?

If you've found the groups you want and now need the posts inside them, Facebook Group Post Scraper With Engagement Analyzer pulls individual group posts with engagement data. If you want a deeper per-group read β€” beyond member count and posting frequency β€” Facebook Group Profile Scraper With Activity Quality Rating scores a group's activity quality in more detail. Both sit alongside this Actor under the same account and share its no-login, public-data-only approach.

How does Facebook Group Scraper With Member Filters differ from the official Facebook API?

Meta's Graph API has no general-purpose endpoint for the general public to search or discover arbitrary Facebook Groups by keyword β€” its Groups API is scoped to groups an app has already been added to by a group admin, and reading membership-related fields requires Meta's App Review process and the groups_access_member_info permission. Facebook Group Scraper With Member Filters reads the same public /about page a logged-out browser can see, so it can discover and read any public group without an app registration, OAuth token, or admin relationship to that group.

FeatureFacebook Graph APIFacebook Group Scraper With Member Filters
Keyword discovery of arbitrary groupsNot exposed as a general public endpointBuilt in β€” keyword search with auto-expansion and a Bing fallback lane
SetupRegister a Meta App, request permissionsAdd a keyword or group URL and start the run
CredentialsOAuth access token per appNone
Access to groups you don't administerRequires an existing admin/app relationship for most group dataWorks on any public group immediately
Member-count and activity filteringNot a built-in query capabilityminMembers, maxMembers, and minPostsPerDay filters applied before rows are saved

The Graph API is the right choice if you already manage a group and need to build moderation or admin tooling on top of it. Facebook Group Scraper With Member Filters is the right choice when you need to discover and qualify groups you don't administer, by topic rather than by app permission.

Why do developers and teams scrape Facebook groups?

For marketers and community teams

Marketers use group discovery to find where a niche audience already congregates before spending on ads or outreach β€” searching a product category or hobby keyword (e.g. "bmw", "photography") and filtering on minMembers and minPostsPerDay surfaces groups that are both large enough and active enough to be worth joining, sponsoring, or posting in, instead of a raw link list that still needs manual qualification.

For researchers and analysts

Researchers use keyword-based discovery to size how much public community activity exists around a topic β€” how many groups exist, how big they typically are (memberCountNumeric), and how active they are (postsPerDayNumeric) β€” building a picture of a niche's public footprint from visibility and discoverabilityText fields without joining or interacting with any group.

For partnership and business development teams

BD teams sourcing communities for co-marketing, sponsorships, or affiliate partnerships use the member and activity filters to shortlist groups above a size or activity floor before a human ever opens a link, turning a keyword like a brand or product category into a filtered list of qualified candidate communities with url, memberInfo, and postFrequency already attached.

For AI engineers and agent builders

Agent builders feed the typed JSON output β€” name, memberCountNumeric, postsPerDayNumeric, groupDescription β€” directly into an agent tool call or a vector store for community-recommendation or market-mapping workflows, without writing an HTML parser or handling Facebook's markup themselves.

How to scrape Facebook groups (step by step)

  1. Open Facebook Group Scraper With Member Filters on its Apify Store page and click Try for free (or run it from your own Apify account).
  2. Add one or more seed keywords or full group URLs to groupKeywordsOrUrls.
  3. Set maxGroupsPerKeyword and your minMembers / maxMembers / minPostsPerDay filters to control how many groups you get and which ones qualify.
  4. Start the run β€” results stream into the output table live as each group is scraped.
  5. Download results as JSON, CSV, or connect the dataset to your own pipeline via the Apify API.

What to do when Facebook changes its structure

The Actor is actively maintained, and its output schema stays stable, so field names and types on your end don't change because of a Facebook-side page update. No specific turnaround time is guaranteed for fixes.

⬇️ Input

ParameterRequiredTypeDescriptionExample Value
groupKeywordsOrUrlsNoarraySeed keywords (e.g. bmw) or full Facebook group URLs to scrape directly. A plain startUrls list is also accepted.["bmw", "tesla"]
maxGroupsPerKeywordNointegerGroups to collect per seed keyword, across all its expanded variants (1–500). Doesn't limit direct group URLs. Default 100.100
enableKeywordExpansionNobooleanWhen on, each seed keyword is multiplied into related search variants. Default true.true
expansionSuffixesNoarraySuffix words appended to each seed keyword when expansion is on. Default: group, community, owners, club.["group", "community", "owners", "club"]
minMembersNointegerDrop any group whose parsed member count is below this number. 0 = no minimum. Default 0.1000
maxMembersNointegerDrop any group whose parsed member count is above this number. 0 = no maximum. Default 0.0
minPostsPerDayNonumberDrop any group whose parsed posting-activity rate is below this number. 0 = no minimum. Default 0.1
enableBingFallbackNobooleanWhen on, a Bing site:facebook.com/groups search fills the gap if DuckDuckGo under-returns for a keyword. Default true.true
bingFallbackThresholdNointegerIf DuckDuckGo finds fewer than this many links for a keyword, the Bing fallback fires. Default 5.5
connectionSettingsNoobjectOptional proxy configuration. Leave default for best compatibility. A plain proxyConfiguration is also accepted.{"useApifyProxy": false}

Example JSON input:

{
"groupKeywordsOrUrls": ["bmw", "tesla", "https://www.facebook.com/groups/123456789012345/"],
"maxGroupsPerKeyword": 100,
"enableKeywordExpansion": true,
"expansionSuffixes": ["group", "community", "owners", "club"],
"minMembers": 1000,
"maxMembers": 0,
"minPostsPerDay": 1,
"enableBingFallback": true,
"bingFallbackThreshold": 5,
"connectionSettings": { "useApifyProxy": false }
}

The most common input mistake is leaving maxMembers or minPostsPerDay at 0 and assuming that excludes small or inactive groups β€” 0 means "no filter," not "zero," so you must set an explicit non-zero value to actually enforce a ceiling or floor, and remember that once a filter is active, any group whose count Facebook's /about page didn't expose in a parseable format is dropped rather than assumed to pass.

⬆️ Output

Every response is typed, normalized JSON with a stable schema β€” one row per qualifying group. Only rows that are actually saved to the dataset are charged as a row_result event; groups dropped by your member/activity filters, or ones Facebook's /about page returned no usable data for, are never pushed and never charged.

Scraped Facebook groups

{
"query": "bmw",
"id": "123456789012345",
"name": "BMW Owners Club",
"url": "https://www.facebook.com/groups/123456789012345/",
"profilePictureUri": "https://scontent.xx.fbcdn.net/v/t39.30808-6/bmw_owners_profile.jpg",
"visibility": "Public",
"memberInfo": "22,345 total members",
"memberCountNumeric": 22345,
"postFrequency": "5.2 posts a day",
"postsPerDayNumeric": 5.2,
"postsPerMonthNumeric": 156,
"groupDescription": "A community for BMW owners to share tips, meetups, and repairs.",
"discoverabilityText": "Anyone can find this group",
"sourceType": "keyword",
"discoveryEngine": "duckduckgo",
"matchedKeywordVariant": "bmw owners",
"type": "Group",
"viewerJoinState": "NOT_JOINED",
"scrapedAt": "2026-07-25T14:32:07Z"
}

How many results can you scrape with Facebook Group Scraper With Member Filters?

maxGroupsPerKeyword is capped in the Actor itself at 500 groups per seed keyword (across all its expanded search variants); there's no hard cap on the number of seed keywords you provide, and every direct group URL you supply is scraped regardless of that per-keyword cap. Discovery paginates through DuckDuckGo (and, if enabled, Bing) search results in batches until it reaches your target count or search results stop yielding new links. Member and activity filters are applied after a group's page is fetched, so the number of rows that actually reach your dataset can be lower than maxGroupsPerKeyword once non-qualifying groups are dropped.

Integrate Facebook Group Scraper With Member Filters and automate your workflow

Facebook Group Scraper With Member Filters works with any language or tool that can send an HTTP request, since it runs as a standard Apify Actor.

REST API integration

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("<owner>/facebook-groups-search-scraper-with-member-filters").call(
run_input={
"groupKeywordsOrUrls": ["bmw", "tesla"],
"maxGroupsPerKeyword": 100,
"minMembers": 1000,
"minPostsPerDay": 1,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item["memberCountNumeric"], item["postsPerDayNumeric"])

Works in Python, Node.js, Go, Ruby, cURL β€” any client that can call the Apify API with your token.

MCP for AI agents

Apify's MCP server (mcp.apify.com) exposes Apify Actors β€” including this one β€” as callable tools for MCP-compatible clients such as Claude Desktop, Cursor, and Windsurf. Add this Actor's name (as shown on its Apify Store page) to the server's actor list to make it callable as an agent tool without writing custom integration code.

Automation platforms (n8n, Make, LangChain)

In n8n, the community Apify node's "Run Actor" operation can call Facebook Group Scraper With Member Filters by Actor ID, passing groupKeywordsOrUrls and your member/activity filters as JSON, then route the resulting group rows into downstream nodes. In Make, the Apify app's "Run an Actor or Task" module runs the same Actor and lets you map each returned group (name, memberCountNumeric, url) into another scenario step, such as a spreadsheet row or a CRM record. Any LangChain agent that can call an HTTP tool can invoke the Actor through the Apify API and consume its dataset items directly as typed JSON, with no parsing step in between.

Yes β€” scraping publicly accessible Facebook group data is generally lawful, and Facebook Group Scraper With Member Filters only reads what a logged-out visitor can see on a group's public /about page: group name, description, member count, visibility, and posting activity. It does not extract individual member profiles, commenter identities, or any content gated behind group membership, so most output is community/organizational metadata governed primarily by Facebook's Terms of Service rather than personal-data law. If aggregated group metadata is treated as personal data in your jurisdiction, GDPR/CCPA-style rules on lawful basis for storage and use may still apply. Consult legal counsel for commercial use cases involving bulk personal data.

Frequently asked questions

Does Facebook Group Scraper With Member Filters work without a Facebook account?

Yes. No Facebook login, cookies, or Graph API access token are required β€” group discovery uses DuckDuckGo and Bing search, and group data comes from each group's public /about page.

How often is the scraped data updated?

Every run fetches each group's /about page live at run time β€” there's no cached or pre-scraped data, so results reflect the group's current public state at the moment you run the Actor.

What happens when a group's member count or activity can't be read?

If Facebook's /about page doesn't expose a parseable member count or posting-activity number, that field is saved as null when no filter is active. Once minMembers, maxMembers, or minPostsPerDay is active, any group whose relevant number can't be parsed is excluded rather than assumed to pass the filter.

Can I scrape private or member-only Facebook groups?

No. Only content visible on a group's public /about page is returned β€” private groups and any content gated behind group membership are not accessible to this Actor.

Does Facebook Group Scraper With Member Filters work for AI agent workflows and LLM pipelines?

Yes. It's callable as a standard HTTP endpoint by any agent framework through the Apify API, and it's also registrable as a tool through Apify's MCP server. Every response is typed JSON with stable field names, so there's no parsing step before passing results to an LLM.

How does Facebook Group Scraper With Member Filters handle anti-bot defenses?

Requests start unproxied and automatically escalate to a backup Apify Proxy tier (datacenter, then residential) on blocked responses (403/429/503) or empty results, with retry backoff between attempts. On the Bing fallback lane, a Cloudflare Turnstile challenge page is detected explicitly and reported as an environment/anti-bot limit rather than silently returning zero results.

Does Facebook Group Scraper With Member Filters return data in a format LLMs can use directly?

Yes. Typed, normalized JSON with stable field names β€” no HTML, no selectors, no parsing. Pass results directly into an LLM context window, index them into a vector store, or route them through an agent tool call.

Can I use Facebook Group Scraper With Member Filters without managing proxies?

Yes. By default it runs unproxied and escalates to Apify Proxy automatically when it hits a blocked response β€” you don't need to configure anything. connectionSettings lets you supply your own proxy configuration if you prefer.

What happens when Facebook changes its structure or blocks the scraper?

The Actor is actively maintained, and its output schema stays stable β€” field names and types don't change on your end because of a Facebook-side update. No specific turnaround time is guaranteed for fixes.

Your feedback

Found a bug, or a field that's missing from your results? We want to know. Report it through the Issues tab on this Actor's Apify Store page, or reach out to API-Empire through Apify Console β€” active reports directly shape what gets fixed and maintained next.