Facebook Group Profile Scraper: Rules & Topics Extractor avatar

Facebook Group Profile Scraper: Rules & Topics Extractor

Pricing

$15.99/month + usage

Go to Apify Store
Facebook Group Profile Scraper: Rules & Topics Extractor

Facebook Group Profile Scraper: Rules & Topics Extractor

Scrape public Facebook group member profiles with speed and accuracy. Extract names, profile URLs, bios, locations, follower counts, and activity signals. Ideal for lead research, audience analysis, and data enrichment workflows at scale.

Pricing

$15.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

39

Total users

2

Monthly active users

6 days ago

Last modified

Share

Facebook Group Profile Scraper — Rules, Topics and Keyword Data

Facebook Group Profile Scraper: Rules & Topics Extractor pulls a public Facebook group's profile — name, description, creation date, member/activity stats, admins, and moderators — plus its rules, topics/tags, and two derived fields: descriptionKeywords and category. Output is clean, structured JSON with no HTML parsing required on your end. Point it at group URLs, usernames, or numeric IDs and start the run.

What is Facebook Group Profile Scraper: Rules & Topics Extractor?

It's an Apify Actor that fetches a public Facebook group's main and about pages, extracts the embedded page data, and returns one structured JSON record per group: profile fields (name, description, created time, activity, admins, moderators), the group's rules and topics/tags when Facebook exposes them, and two fields the Actor derives itself — top description keywords and a best-guess category. No Facebook account or login cookie is required — it fetches public group pages logged out. It's built for developers, market/community researchers, and AI teams who need Facebook group metadata as clean records instead of manual copy-paste.

What Facebook group profile data is publicly available to scrape?

Facebook exposes a group's core profile to any logged-out visitor, but rules and topics/tags are usually member-only.

Data CategoryPublicly Visible (logged out)Gated Behind Facebook Login/Membership
Group name, description, IDYes
Privacy & discoverability labelsYes
Creation date / history summaryOften yesSometimes hidden
Member count & post activity (summary text)YesFull member list
Admin/moderator names (facepile, when rendered)SometimesFull admin/mod list
Group rulesRarelyUsually needs membership
Topics/tagsRarelyUsually needs membership

Facebook Group Profile Scraper: Rules & Topics Extractor only returns publicly visible data — what a logged-out visitor sees, nothing behind a login wall.

What data can I extract with Facebook Group Profile Scraper: Rules & Topics Extractor?

Each run returns one JSON record per group, split between profile fields and rules/topics/derived-analysis fields.

Field NameDescription
groupIdFacebook's numeric group ID (parsed from the page data, or from the URL as a fallback).
groupNameGroup's display name.
groupDescriptionGroup's description text.
groupCreatedTimeISO-8601 timestamp of when the group was created, from the about/history panel.
activityObject: totalMembers (formatted member-count text), newPostsToday, newPostsLastMonth, newMembersLastWeek.
aboutObject: privacyInfo, discoverabilityInfo, history — each {text, description} — plus a static tags placeholder that is not currently populated.
adminProfilesArray of {name, url} for group admins, best-effort from whatever facepile data Facebook renders.
moderatorsProfilesArray of {name, url} for group moderators.

Group profile fields

groupId, groupName, groupDescription, groupCreatedTime, activity, about, adminProfiles, moderatorsProfiles.

Rules, topics & derived fields

Field NameDescription
rulesGroup rules scraped from the page's own embedded data — array of {title, description?}, or [] when Facebook doesn't expose rules to a logged-out visitor.
topicsTopic/tag strings scraped the same way, or [] when not exposed.
descriptionKeywordsTop maxKeywords terms derived deterministically from groupName + groupDescription by frequency ranking after stopword filtering — computed by the Actor, not fetched from Facebook.
categoryBest-match label from a fixed set of 15 category keyword lists (health & fitness, technology, buy & sell, sports, and others), matched against groupName + groupDescription; null when nothing matches.

🤖 Add-on: Need additional Facebook data?

For group posts, media, and OCR text, pair this with Facebook Groups Posts & Media Scraper. To discover groups by keyword before profiling them, use Facebook Groups Search Scraper. If you need leads and contact details mined out of group post text, Facebook Group Lead & Contact Scraper covers that.

How does Facebook Group Profile Scraper differ from the official Facebook API?

Meta's Graph API groups endpoints are scoped to apps that complete App Review for specific group-admin use cases — they don't provide a general endpoint for reading an arbitrary public group's rules, topics, or admin list the way a logged-out visitor sees them on facebook.com.

FeatureFacebook Graph APIFacebook Group Profile Scraper: Rules & Topics Extractor
Access to arbitrary public groups you don't administerNot generally availableYes, by URL/username/ID
Approval processApp Review required for group permissionsNone — run directly
Group rules / topics retrievalNo general-purpose endpointScraped when Facebook renders them publicly
Derived keyword/category labelsNot providedIncluded (descriptionKeywords, category)
SetupFacebook app + review + access tokensProvide group URLs and run

Use the Graph API if you're building an app that manages groups you administer. Use this Actor when you need structured data for public groups you don't control, without an app-review process.

How to use Facebook Group Profile Scraper: Rules & Topics Extractor

Run it from its Apify Store listing — no Facebook login is needed.

  1. Open the Actor on Apify and go to the Input tab.
  2. Add one or more entries to Groups to Analyze (groupUrls) — group URLs, usernames, or numeric IDs. The run exits immediately if this is left empty.
  3. Optionally adjust Max Description Keywords (maxKeywords, default 10) and Proxy Configuration.
  4. Start the run.
  5. Download results as JSON, CSV, or another supported format from the Dataset tab, or pull them via the Apify API.

How to scale to bulk Facebook group profile extraction

groupUrls accepts an array, so bulk input means listing every group in one run rather than one URL per run. Groups are processed sequentially, one request at a time with a short pause between them — there's no in-run concurrency across groups. For very large lists, split them across multiple runs to parallelize.

What can you do with Facebook group profile data?

  • A community researcher tracking niche communities uses category and descriptionKeywords across hundreds of groups to map which topics cluster where.
  • A moderation/compliance analyst uses rules alongside about.privacyInfo to audit how groups in a category publish (or fail to publish) community guidelines.
  • A competitive analyst comparing group ecosystems uses activity.totalMembers and groupCreatedTime to see which groups in a niche are growing and how long they've existed.
  • An outreach or partnerships lead uses adminProfiles and moderatorsProfiles to identify who runs a group before reaching out.
  • An AI engineer feeds groupDescription, rules, topics, and category into a RAG index or agent tool so an LLM can answer questions about a set of Facebook communities without re-scraping them.

How does Facebook Group Profile Scraper: Rules & Topics Extractor handle rate limits and blocking?

Every request is routed through Apify's Residential proxy group from the first fetch of each group — the Actor sets this up automatically at startup. If Facebook still blocks the request or returns a login/redirect page instead of group data, that group is logged as failed and the run moves to the next one; the current build does not retry that same group on a different proxy tier. A short pause is inserted between groups. Each field-extraction step runs in its own try/except, so a parsing miss on one section (say, admin profiles) doesn't stop the rest of that group's data from being returned. No CAPTCHA-solving is performed — if Facebook serves a CAPTCHA or login wall for a request, that fetch is treated as blocked.

⬇️ Input

ParameterRequiredTypeDescriptionExample Value
groupUrlsNoArrayFacebook group URLs (e.g. https://www.facebook.com/groups/123456789), usernames, or numeric group IDs. Supports bulk input.["https://www.facebook.com/groups/535363634111893"]
maxKeywordsNoIntegerMaximum number of top keywords to derive from the group name + description (frequency-ranked, stopword-filtered). Default 10, min 1, max 50.10
proxyConfigurationNoObjectProxy behavior. If Facebook blocks the request, the Actor falls back to datacenter proxy and then residential proxy (with retries).{ "useApifyProxy": true }

No parameter is schema-required, but groupUrls needs at least one entry for the run to produce output.

Example input

{
"groupUrls": [
"https://www.facebook.com/groups/535363634111893",
"cheapmealideas"
],
"maxKeywords": 10,
"proxyConfiguration": { "useApifyProxy": true }
}

⬆️ Output

Each successful group produces one typed JSON record with a consistent schema across runs. Results are available as JSON, CSV, Excel, and other formats Apify's dataset export supports.

Example output

{
"groupId": "535363634111893",
"groupName": "Vintage Furniture Restoration & Sales",
"groupDescription": "A community for buying, selling, and restoring vintage furniture. Please read the rules before posting.",
"groupCreatedTime": "2020-01-15T00:00:00.000Z",
"activity": {
"newPostsToday": 4,
"newPostsLastMonth": 112,
"totalMembers": "12K members",
"newMembersLastWeek": "37 new members"
},
"about": {
"privacyInfo": {
"text": "Public",
"description": "Anyone can see who's in the group and what they post."
},
"discoverabilityInfo": {
"text": "Visible",
"description": "Anyone can find this group."
},
"history": {
"text": "History",
"description": "Group created on January 15, 2020."
},
"tags": {
"text": "Tags",
"description": ""
}
},
"adminProfiles": [
{ "name": "Jordan Ellis", "url": "https://www.facebook.com/profile.php?id=100012345678901" }
],
"moderatorsProfiles": [
{ "name": "Priya Nair", "url": "https://www.facebook.com/profile.php?id=100023456789012" }
],
"rules": [
{ "title": "Be kind and courteous", "description": "No harassment, hate speech, or personal attacks." },
{ "title": "No spam or scams", "description": "Selling posts must include a real price and item condition." }
],
"topics": ["Home Decor", "Antiques", "DIY Restoration"],
"descriptionKeywords": ["vintage", "furniture", "restoring", "buying", "selling", "community", "rules", "posting"],
"category": "buy & sell"
}

How does it work?

Facebook Group Profile Scraper: Rules & Topics Extractor fetches a group's main page and its /about page over HTTP using aiohttp, routed through Apify's Residential proxy. It doesn't drive a browser — it parses the raw HTML with BeautifulSoup to pull out the <script type="application/json"> blocks Facebook embeds in every page load, then recursively walks that JSON to find the group's profile fields, rules, and topic/tag nodes. If a fetch returns a login/redirect page instead of real content, that group is logged as failed rather than returned with guessed values. Because the Actor reads Facebook's own embedded data structures rather than fixed CSS selectors, the output schema — the same field names every run — stays stable even as Facebook's visual layout changes; only the underlying JSON paths it searches would need updating if Facebook restructures that data.

Integrations

Facebook Group Profile Scraper: Rules & Topics Extractor runs on the Apify platform, so it works with anything that can call the Apify API or use Apify's existing app integrations.

Calling Facebook Group Profile Scraper: Rules & Topics Extractor programmatically

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run = client.actor("Scraper-Engine/facebook-group-profile-scraper-rules-topics-extractor").call(
run_input={
"groupUrls": ["https://www.facebook.com/groups/535363634111893"],
"maxKeywords": 10,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.

No-code tools (n8n, Make)

In n8n, use the HTTP Request node (or the Apify node) pointed at this Actor's run endpoint to trigger a scrape and pull results into your workflow. In Make, use the Apify app's "Run Actor" and "Get Dataset Items" modules the same way, chaining group data into a scenario without writing code.

Scraping publicly available web data is generally lawful in most jurisdictions, and this Actor only returns data a logged-out visitor can already see on a group's page. Group name, description, rules, topics, and activity stats are business/community metadata rather than personal data about an individual. The exception is adminProfiles and moderatorsProfiles, which include real people's names and profile URLs — if you store or process those, treat them as personal data subject to GDPR/CCPA depending on your jurisdiction and use case. Facebook's own Terms of Service also govern automated access, separate from data-protection law. Consult legal counsel if your use case involves bulk storage of personal data.

Frequently asked questions

What Facebook group fields does this Actor return?

It returns the group's groupName, groupDescription, rules, topics, and category, plus admin/moderator profiles and activity stats. See the full field table above.

Does this Actor require a Facebook account or login?

No. It fetches public group pages logged out, over HTTP with a residential proxy — no Facebook cookies, session, or credentials are used or accepted as input.

How many Facebook groups can I extract in one run?

groupUrls accepts an array with no fixed length cap in the input schema; groups are processed one at a time within the run.

What happens if a group's rules/topics aren't visible, or the group can't be reached?

If Facebook doesn't render rules or topics to a logged-out visitor, those fields return as [] — never fabricated. If the group page itself can't be fetched (private group, invalid URL, or a persistent block), that group is logged as an error and skipped; the run continues with the remaining groups and no partial/guessed row is written for it.

How does the topics extractor actually work?

It scans the group page's own embedded JSON for nodes whose key name or type contains "topic" or "tag" (Facebook's own topic/tag data structures) and collects their display names — it is not a machine-learning or NLP topic-classification model. The separate category field is a different, simpler mechanism: a deterministic keyword-match against a fixed 15-category dictionary run against the group's name and description text, not against topics.

Can I scrape multiple Facebook groups at once?

Yes. Add multiple URLs, usernames, or IDs to groupUrls and they're all scraped within a single run.

Does this Actor work with Claude, ChatGPT, and other AI agent tools?

Yes, as an HTTP endpoint — any agent framework that can call the Apify API can trigger a run and read back the dataset, using the same call shown in the Integrations section.

Does it return data in a format LLMs can use directly?

Yes. Output is typed, normalized JSON with consistent field names across runs — no HTML parsing or CSS selectors required. Pass it directly to an LLM, index it in a vector store, or feed it to an agent tool.

What happens when Facebook changes its layout or anti-bot system?

The Actor is maintained, and because it reads Facebook's embedded JSON data rather than visual CSS selectors, the output schema is designed to stay stable across layout changes. No specific update turnaround time is promised.

Can I use this Actor without managing proxies or browser infrastructure?

Yes. Apify Residential proxy is configured automatically at the start of each run — you don't need to supply or manage your own proxies. There's no headless browser to configure either; requests are plain HTTP fetches.

Which fields work best for RAG indexing or AI training data?

For RAG, index groupDescription, rules[].description, and topics — the highest-information free text. For structured training features, category, descriptionKeywords, and activity return consistently typed values (string, array of strings, and numeric/text fields) across every group.

Scraper NameWhat it extracts
Facebook Groups Search ScraperDiscovers groups by keyword, or scrapes group data from URLs.
Facebook Groups Posts & Media ScraperGroup posts, full-res photos, OCR text, group metadata.
Facebook Group Lead & Contact ScraperEmails, phone numbers, websites, and social handles from posts.
Facebook Group Post ScraperPosts, comments, and engagement data from a group.
Facebook URL → ID ScraperConverts Facebook links into rows with stable IDs.

Your feedback

Found a bug, or a field that's missing for your use case? Let us know through the Actor's Issues tab on Apify or via the support contact on the Scraper-Engine store page — reports like this directly shape what gets fixed and added next.