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

8

Bookmarked

73

Total users

12

Monthly active users

12 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