Facebook Groups Search Scraper
Pricing
$0.01 / 1,000 groups
Facebook Groups Search Scraper
Search public Facebook groups by one or more keywords and an optional location, or enrich known public group URLs. Get group names, canonical URLs, IDs, visibility, descriptions, member counts, and search context when available. Filter by member size, track changes, and set a result limit.
Pricing
$0.01 / 1,000 groups
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
🔎 Find public Facebook groups for your next search
Researchers, marketers, community managers, and developers can search public Facebook groups by keyword with an optional location qualifier, or enrich known public group URLs. The Actor saves structured rows with group names, canonical URLs, IDs, visibility, descriptions, member counts, and search context when Facebook exposes them. Use the rows to compare communities, review public group details, and build a focused list for a workflow.
- Find public groups for parents with Parenting Groups.
- Find outdoor communities with Hiking Groups.
- Build a community list with Photography Groups.
- Look for career communities with Jobs Groups.
- Find property-focused communities with Real Estate Groups.
- Find nearby communities with Local Community Groups.
- Find local marketplace communities with Buy and Sell Groups.
📦 Group rows with public search context
Each saved row is the first eligible occurrence of one source group. If the same group appears again through another keyword, URL, or similar submitted value, the later match is ignored. The row keeps the first saved match and its search context. It does not combine evidence from later matches.
Facebook fields are returned when the public source exposes them. Missing values stay unfilled instead of being guessed. A public search is not a promise to find every Facebook group.
▶️ Search by keyword or enrich known groups
Choose Keywords to search each topical keyword separately, with an optional location qualifier. Choose Group URLs to enrich known public groups. Fields in the other choice are ignored.
The Actor saves eligible groups as it finds them and continues until Maximum groups is reached or the source is exhausted. Use member filters to narrow keyword matches. Leave Maximum groups empty to keep all available results until the source is exhausted. Turn on Track changes between runs when you want new groups and groups with changed public member size or visibility, while unchanged groups are skipped.
Run steps
- Choose
KeywordsorGroup URLsinFind groups by. - Add values to the matching list and set any optional filters.
- Start the Actor.
- Open the saved group rows in the default dataset.
⚙️ Input
Choose one input method for each run. The fields for the other method are ignored.
Input fields
| Field | Type | What it does |
|---|---|---|
findGroupsBy | string | Selects keyword search or known group URL enrichment. Fields in the other choice are ignored. |
keywords | array of strings | Searches each topical keyword separately. Each saved result keeps the keyword that produced it. |
location | string | Adds an optional place name to the keyword search, such as Austin or Canada. |
minMembers | integer | Keeps keyword matches with at least this many members. Leave it empty to skip the lower bound. |
maxMembers | integer | Keeps keyword matches with at most this many members. Leave it empty to skip the upper bound. |
groupUrls | array of objects | Adds one or more public Facebook group URL objects to enrich with available group data. |
groupUrls[].url | string (URL) | Holds one public Facebook group URL to enrich. |
maxResults | integer | Stops after keeping this many groups from the selected method. Leave it empty to keep all available results until the source is exhausted. |
trackChanges | boolean | When true, compares this input with earlier runs, returns new or changed groups, and skips unchanged groups. When false or omitted, returns the current matches. |
Example input
This example is copied from the public input of the successful current-beta default-input run:
{"findGroupsBy": "keywords","keywords": ["photography"],"maxResults": 2,"trackChanges": false}
🧾 Output
The run output contains a link to the default dataset. The dataset has one group row shape. Optional fields appear when Facebook exposes them.
Run output link
| Field | Type | What it does |
|---|---|---|
results | string | Links to the saved Facebook group rows in the default dataset. |
Group row
| Field | Type | What it does |
|---|---|---|
name | string | Required public group name. |
url | string (URL) | Required canonical public Facebook group URL. |
groupId | string | Stable Facebook group identifier when the source provides one. |
visibility | string | Public visibility or privacy label when the source exposes it. |
description | string | Public group description when available. |
searchSnippet | string | Text shown with the group in the source search result when available. |
memberCount | integer | Usable member count when the source provides a numeric value. |
memberCountText | string | Member-size wording shown by the source. |
groupType | string | Public group or entity type label shown by the source when available. |
imageUrl | string (URL) | Public group image URL when the source provides one. |
activity | object | Holds public activity information when the source shows it. |
activity.text | string | Source wording for the group's visible activity. |
activity.postsPerWeek | number | Normalized weekly posting rate when the source provides enough activity information. |
viewerAccess | string | Public viewer access or join-state label supplied by the source when available. |
websites | array of strings | Website URLs published in the group's public description when available. |
websites[] | string (URL) | One website URL published by the group. |
emails | array of strings | Email addresses published in the group's public description when available. |
emails[] | string | One email address published by the group. |
keyword | string | Keyword that produced the saved group result when it came from keyword search. |
location | string | Location qualifier used with the saved keyword result when one was provided. |
resultRank | integer | Group position in the source results for its saved keyword search. |
Example group row
This complete row is a genuine row from a successful current-beta run. It contains the public values returned for one group at retrieval time.
{"name": "Photographers Of Upstate NY","url": "https://www.facebook.com/groups/148331352392253","groupId": "148331352392253","visibility": "Public group","description": "Photographers Of Upstate NY is a photography group based in Rochester.\n\nFeel free to share your images\nPost when your planning to shoot\nShare photography related articles\nOr list items for sale\nOr anything else photography related","memberCount": 5981,"memberCountText": "5,981 total members","groupType": "GROUP","imageUrl": "https://scontent-dfw5-1.xx.fbcdn.net/v/t1.6435-9/126905035_1689919284522585_7622597776452257016_n.jpg?stp=c160.0.640.640a_cp0_dst-jpg_tt6&cstp=mx640x640&ctp=s50x50&_nc_cat=106&ccb=1-7&_nc_sid=33e84f&_nc_ohc=MQ8sw_CvzLwQ7kNvwEC3CLm&_nc_oc=AdozzXTkioa6L5ucyVHaZPr99Qsio7vF7fG4BEoJyDgpfmwGo-icC4B9errAQfgbxkM&_nc_zt=23&_nc_ht=scontent-dfw5-1.xx&_nc_gid=XGZL-yTvIDx5dwQolwypPQ&_nc_ss=70289&oh=00_AQK_7sUw8geGsZhsH4i2yvcFWyEAVIEl7G0EdvvhgOeB4w&oe=6ADE4E85","activity": {"text": "13 posts in the last day; 477 posts in the last month","postsPerWeek": 91},"viewerAccess": "CAN_JOIN","searchSnippet": "ISO a Buffalo NY photographer for a courthouse elopement prob won't be until 2027, maybe 2026 of June pending cost of everything.","keyword": "photography","resultRank": 2}
💳 Pricing
The Actor uses pay-per-event pricing. One Group event is charged when one public Facebook group is saved to the dataset. The current price is shown in the Store pricing panel.
🔌 Integrations
Start runs with the Apify API, read the default dataset, or export its rows as JSON, CSV, Excel, or XML. Use the structured rows in your own data workflow.
❓ FAQ
How are duplicate groups handled?
The first eligible occurrence of a source group is saved. If the same group appears later through another keyword, URL, or similar submitted value, the later match is ignored. The saved row describes only the first match.
What happens when Facebook does not show a field?
The field is left unfilled rather than guessed. Optional fields can be missing, and arrays such as websites and emails can be empty.
Can I search by location?
Yes. Add a place name to a keyword search, such as Austin or Canada. The saved row keeps the location when one was used.
Can I enrich a known group URL?
Yes. Select Group URLs and submit one or more public Facebook group URL objects. The Actor returns the group's identity and available public metadata.
What does Track changes between runs do?
When it is true, the Actor compares the input with earlier runs, returns new groups and groups whose public member size or visibility changed, and skips unchanged groups. When it is false or omitted, it returns the current matches.
Can it search private groups?
No. It reads public Facebook group search results and public group pages. Private, member-only, login-gated, or otherwise inaccessible content is outside its scope.
Does it return posts or member lists?
No. It returns group-level data. Posts, comments, full member lists, administrator lists, and actions inside groups are outside its scope.
What happens when Maximum groups is empty?
The Actor keeps all available results until the source is exhausted. It does not promise a fixed number of groups.
Can one run search several keywords?
Yes. Add a simple list of topical keywords. Each keyword is searched separately, and each saved row keeps the keyword that first produced it.
📝 Changelog
v0.0 (23-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Facebook Group Profile Scraper: Enrich a known group URL with public profile metadata.
- WhatsApp Group Links Scraper: Find public WhatsApp group invite links for the same topic on another network.
- Facebook Groups Search Scraper: Run a separate keyword-based Facebook group search.
- Facebook Groups Search Scraper (members, privacy, no login): Try a Facebook group search focused on member and privacy details.
- Facebook Groups Search Scraper: Compare another public Facebook group search for a related workflow.
Made with ❤️ by Maxime Dupré