Facebook Group Post Extractor 🤖💾: Data, Details & Analytics avatar
Facebook Group Post Extractor 🤖💾: Data, Details & Analytics

Pricing

$9.00 / 1,000 results

Go to Apify Store
Facebook Group Post Extractor 🤖💾: Data, Details & Analytics

Facebook Group Post Extractor 🤖💾: Data, Details & Analytics

Extract 50 posts/minute📈💾 from public Facebook Groups. Get posts, comments, timestamps, and engagement metrics with no cookies/login required! Outputs to JSON/CSV/Excel for instant analysis. Perfect for fast, detailed data collection & reporting. Data simplified.

Pricing

$9.00 / 1,000 results

Rating

4.8

(5)

Developer

TheDoor

TheDoor

Maintained by Community

Actor stats

5

Bookmarked

57

Total users

10

Monthly active users

4 days ago

Last modified

Share

Facebook Group Post Scraper

This Apify actor scrapes Facebook group posts using direct API calls without Puppeteer. It efficiently collects posts from multiple groups with

⚠️ Important: Understanding isNewPosts

  • isNewPosts: true - Fetches the newest/current posts in the group
  • isNewPosts: false - Fetches relative/older posts from the group

Example:

{
"url": ["https://www.facebook.com/groups/yourgroup"],
"maxPosts": 30,
"isNewPosts": false
}

Features

  • Scrapes multiple Facebook groups in a single run
  • Collects comprehensive post data including:
    • Post text and media content
    • Creation time (both timestamp and human-readable format)
    • User information
    • Engagement metrics (reactions, comments, shares)
    • Group metadata
  • Automatic group ID resolution for non-numeric group URLs
  • Robust error handling with retry mechanisms
  • Streaming data collection with real-time processing
  • Supports proxy configuration
  • Rate limiting and delays to avoid blocking

Input

The actor accepts the following input format:

{
"url": [
"https://www.facebook.com/groups/123456789",
"https://www.facebook.com/groups/groupname"
],
"maxPosts": 200, // Maximum number of posts to collect per group (default: 50)
"isNewPosts": false // false = oldest first (stable), true = newest first (less stable)
}

You can provide either a single group URL as a string or multiple URLs in an array.

Output

The actor outputs data to the Apify dataset in two formats:

  1. Post Data:
{
"type": "post",
"post_type": "__post__", // or "__reel__" for reels
"group_index": 1,
"total_groups": 2,
"post_url": "...",
"text": "...",
"user_name": "...",
"creation_time": "...", // Human readable GMT time
"creation_timestamp": 1234567890,
"reactions_count": 0,
"post_id": "...",
"group_url": "...",
"group_id": "...",
"media": [...],
"engagement": {
"comments_count": 0,
"reactions_count": 0,
"shares_count": 0
},
"group": {
"id": "...",
"name": "...",
"url": "..."
},
"actors": [...]
}
  1. Group Info:
{
"type": "group_info",
"group_index": 1,
"total_groups": 2,
"data": {
"name": "...",
"id": "...",
"url": "...",
"input_url": "...",
"group_id": "..."
}
}

Required Files

  • source_payload_and_cookies.json: Contains request payloads and headers
  • payload.json: Additional payload configurations

Local Development

  1. Install dependencies:
$npm install
  1. Run the actor locally:
$apify run

Notes

  • Keep your payload data up to date for optimal performance
  • The actor uses a proxy by default for better reliability
  • Rate limiting and delays are implemented to avoid blocking
  • The actor processes groups sequentially to maintain stability