~ / endpoints / Group API

Facebook Group Scraper API

Our Facebook group scraper targets a public group's about surface and returns structured JSON: the group name, member count, privacy setting, description, and category. It reads the Open Graph tags and any embedded group entity in the page. Be aware that Facebook gates group pages behind a login for logged-out requests, so the endpoint is honest about when it can and cannot return group data.

Get a free API keyAll Facebook endpoints
1,000
free requests / mo
2.6s
median response
JSON
structured output
US
residential exit
the friction

Getting Facebook Group data is harder than it looks

Facebook gates group pages behind a login for logged-out visitors: even a large public group returns the generic consent wall rather than its about details, and there is no official Graph API endpoint that reads a group you do not administer. So a reliable, populated group feed generally needs an authenticated session.

start here

Hit the Facebook Group Scraper API with one request

cURL
curl "https://api.facebookscraperapi.com/api/v1/facebook/group?url=https://www.facebook.com/groups/publicspeaking&api_key=$API_KEY"
Python
import requests

BASE = "https://api.facebookscraperapi.com"
API_KEY = "YOUR_API_KEY"

# Pass a group URL or id. The response follows the documented group shape below.
data = requests.get(
    f"{BASE}/api/v1/facebook/group",
    params={
        "url": "https://www.facebook.com/groups/publicspeaking",
        "api_key": API_KEY,
    },
    timeout=30,
).json()

print(data["name"], "-", data["members_count"], "members")
print("privacy:", data["privacy"])
print(data["description"])
options

Parameters

ParameterRequiredDefaultNotes
urloptional-A full facebook.com/groups/ URL. Required unless you pass id.
idoptional-The group id or slug (the segment after /groups/). One of url or id is required.
countryoptional-Optional two-letter country code to fetch the group as seen from that region.
api_keyrequired-Your API key, passed as a query parameter. Get one free at signup.
the output

The Facebook Group Scraper API output schema

200 OK
{
  "id": "publicspeaking",
  "url": "https://www.facebook.com/groups/publicspeaking/",
  "name": "Public Speaking",
  "members_count": 48213,
  "privacy": "public",
  "description": "A community for people who want to improve their public speaking and presentation skills.",
  "category": "Community",
  "cover_image": "https://scontent.xx.fbcdn.net/v/t39.30808-6/example_group_cover.jpg",
  "thumbnail": "https://scontent.xx.fbcdn.net/v/t39.30808-6/example_group_cover.jpg",
  "source": "facebook",
  "data_source": "relay-entity"
}
FieldTypeDescription
idstringThe group id or slug from the URL.
urlstringThe canonical group URL.
namestringThe group name from the embedded entity or og:title.
members_countintegerThe member count from the group entity, or parsed from the member-count sentence. Null when only the wall is served.
privacystringNormalized to public or private from the group's join-privacy or visibility text.
descriptionstringThe group description from the entity, og:description, or the intro card.
categorystringThe group category when the entity exposes it.
cover_imagestringURL of the group's cover image. Also returned as thumbnail.
data_sourcestringrelay-entity when read from the embedded group entity, or opengraph when only og tags resolved.
real uses

Build with Facebook data

>

Community sizing

When a group renders, read members_count and privacy to gauge how large and how open a community is before you engage.
>

Group directories

Build a catalog of groups with name, member count, privacy, and category for a niche you track, refreshed on a schedule.
>

Privacy classification

Use the normalized privacy field to separate public groups from private ones across a list you are auditing.
>

Description mining

Read group descriptions to understand a community's focus and rules for research or outreach planning.
>

Cover asset capture

Pull the cover image URL to display or archive how a group presents itself.
>

Session-based pipelines

Because group pages are login-gated logged-out, teams that run this with an authenticated session use it to keep group metadata current in their own systems.
why it holds up

Why teams ship on our Facebook Group Scraper API

We force the request onto a US residential exit and parse the group name, member count, privacy, and category from the Open Graph tags and any embedded group entity. When only Facebook's login wall is returned, which is the common logged-out case for groups, the endpoint reports a clear diagnostic instead of a fabricated row, so you always know whether the data is real.

*

URL or id input

Pass a full group URL or just the id or slug, and we resolve and normalize it server side.
*

Documented group shape

Name, members_count, privacy, description, category, and cover image return in a stable shape when the group renders.
*

Privacy normalization

The join-privacy or visibility text is normalized to public or private, so you get a clean flag instead of raw copy.
*

Residential routing built in

Requests run through US residential proxies, which have the best chance of a real group document if Facebook relaxes the wall.
*

Honest wall handling

Group pages are login-gated logged-out. When only the consent wall is served, we return a classifiable diagnostic, never a made-up group.
*

Data-source flag

The data_source field tells you whether fields came from the embedded entity or only og tags, so you can gate on quality.
vs diy

How the Facebook Group Scraper API compares

Our APIDIY (requests / headless)Facebook Graph API
Read a public groupWhen it renders, else honest diagnosticUsually the consent wallNo public group read endpoint
SetupAPI key onlyResidential proxies, headless browser, parsersNot available for non-owned groups
Member count and privacyReturned when the group rendersYou parse it yourselfNot exposed
Anti-bot and proxiesBuilt in, US residentialYou build and maintain itNot applicable
Logged-out realityHonest diagnostic when walledWalled with no clear signalNot applicable
OutputFlat, validated JSONWhatever you parseNot applicable
plans & pricing

Pricing built for scale

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is a Facebook group scraper?

A Facebook group scraper reads a public group's about surface and returns it in a structured format. Our Facebook group scraper API takes a group URL or id and, when the group renders, returns the name, member count, privacy setting, description, category, and cover image as JSON. The extractor reads the Open Graph tags and any embedded group entity in the page.

Can I scrape a public Facebook group without logging in?

Often not, and the endpoint is honest about it. Facebook gates group pages behind a login for logged-out visitors, and even large public groups commonly return the generic consent wall rather than their about details. When that happens, the endpoint returns a clear diagnostic instead of a fabricated row. For a reliably populated group feed, run the endpoint with an authenticated session.

What does the group endpoint return when it succeeds?

When a group page renders its data, you get the group id, canonical URL, name, member count, a normalized privacy flag (public or private), description, category, and cover image, plus a data_source flag showing whether the fields came from the embedded group entity or only the Open Graph tags. Member count is null if only the wall was served.

Why is the member count sometimes null?

The member count comes from the embedded group entity or the member-count sentence in the rendered page. If Facebook serves only the login or consent wall, that data is not present, so members_count is null and the response reflects that the group did not fully render. We never estimate a member count from wall metadata.

Do I need a Facebook API key or app?

No. You authenticate with a single facebookscraperapi key. There is also no official Graph API endpoint that reads a group you do not administer, so this endpoint fills a gap the official API leaves entirely open. The free tier includes 1,000 requests so you can test which groups render.

How should I use this endpoint given the login gate?

Treat it as a group-metadata endpoint that returns the documented shape when a group renders and reports a classifiable diagnostic when Facebook walls the page logged-out. Teams that need consistent group data run it with an authenticated session, and use the honest failure signal to detect and retry walled captures rather than silently accepting empty rows.

Ship with the Facebook Group Scraper API
Test free with 1,000 requests. No credit card needed.
Get a free API key All Facebook endpoints