Facebook

Facebook Group Posts Scraper

Extracts posts from public Facebook groups — message text, author, creation time, post URL, group name and URL, reaction and comment and share counts, and media attachments. Accepts up to 50 group URLs per run and can stop at a target date instead of a post count.

Run on Apify636 userson Apify, measured 2026-08-24

What it extracts

Every field below comes from the Actor’s published dataset schema.

FieldDescriptionType
messagePost Messagetext
authorAuthorobject
creation_timePosted Datedate
post_urlPost URLlink
facebook_group_nameGroup Nametext
facebook_group_urlGroup URLlink
reactionsReactionsobject
comments_countCommentsnumber
shares_countSharesnumber
attachmentsAttachmentsarray

Input parameters

Generated from the Actor’s input schema — the same fields the Apify console shows.

ParameterTypeRequiredDescription
groupUrlsarrayRequiredFacebook group URLs to scrape. Add one URL for a single group or multiple URLs for bulk scraping (max 50).
maxItemsintegerOptionalMaximum number of posts to scrape from each group (start URL).
untilDatestringOptionalStop scraping when reaching posts older than this date (format: YYYY-MM-DD). Leave empty to scrape until maxResults is reached.
sortingSettingstringOptionalHow to sort the posts when scraping. Note: when 'Scrape Until Date' is set, this is forced to CHRONOLOGICAL.
proxyConfigurationobjectOptionalProxy configuration. Defaults to Apify residential proxies, which are recommended for Facebook scraping. Switch to no proxy or datacenter proxies if you understand the trade-off.
notionConnectorstringOptionalOptional Notion connection. When set, every scraped post is added as a new page in the selected Notion database.
notionDatabaseIdstringOptionalID of the Notion database that will receive the new pages. The database must have a title property called `Name`. Required when a Notion Connector is selected.

API access

Run this Actor from your own code over the Apify API.

Inputjson
{
  "groupUrls": [
    "https://web.facebook.com/groups/1745271899086274"
  ]
}
REST — run and get resultsbash
curl -X POST \
  "https://api.apify.com/v2/acts/logical_scrapers~facebook-group-posts-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"groupUrls":["https://web.facebook.com/groups/1745271899086274"]}'
JavaScript — apify-clientjavascript
import { ApifyClient } from 'apify-client'

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' })

const run = await client.actor('logical_scrapers~facebook-group-posts-scraper').call({
  "groupUrls": [
    "https://web.facebook.com/groups/1745271899086274"
  ]
})

const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Python — apify-clientpython
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("logical_scrapers~facebook-group-posts-scraper").call(run_input={
    "groupUrls": [
        "https://web.facebook.com/groups/1745271899086274",
    ],
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

Runs are executed on Apify. Create an API token in your Apify account, then call the Actor over REST or with the official client for your language. The same input object works in the Apify console, so you can test interactively before automating.

Use cases

Market and sentiment research

Track what a community is discussing over time, and how much engagement each topic attracts.

Lead generation

Surface posts where people describe a problem your product solves, with a link back to the original post.

Competitor monitoring

Watch groups where competitors are discussed and capture the posts and reaction counts.

Incremental daily collection

Use the until-date bound rather than a fixed count so a scheduled run picks up only what is new.

Pricing

Data not currently verified. This Actor's pricing model is not declared in our source repository.

Current rates are published on the Apify listing and can change, so they are not duplicated here. See pricing on Apify

Reliability

99.4% run success rate

Measured across all public Goldmine Actors on Apify, 2026-08-24. This is an account-level figure, not a per-Actor benchmark — per-Actor speed and completeness benchmarks are not yet published. Source.

Limitations

What this Actor does not do, so you can tell before you run it whether it fits.

  • Public groups only. Private and closed groups are not accessible, with or without credentials.
  • Up to 50 group URLs per run.
  • Returns posts, not comment threads. Reaction, comment and share counts are captured as numbers; the comments themselves are not.
  • Facebook changes group markup frequently, and field availability can shift with it.

Frequently asked questions

Does it need a Facebook login?

No. It reads public group pages and never asks for credentials, so no account is put at risk.

How do I collect only new posts each day?

Set `untilDate` instead of relying on `maxItems`. The run stops when it reaches posts older than that date, which makes scheduled incremental collection cheap.

Can results go somewhere other than a dataset?

Yes — the Actor can optionally write each post into a Notion database via the `notionConnector` and `notionDatabaseId` inputs, in addition to the normal Apify dataset.

Used for

Workflows this Actor is part of, and the other scrapers it chains with.

Field and input tables are generated from this Actor's published schemas. Usage figures measured 2026-08-24 from the Apify listing.