Facebook Posts Scraper avatar

Facebook Posts Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Facebook Posts Scraper

Facebook Posts Scraper

Collect public Facebook posts from pages, groups and profiles into clean JSON for analysis or export. Supports multiple URLs, optional comments and nested replies, media extraction.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Coder

Coder

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 hours ago

Last modified

Share

Collect public Facebook posts from pages, groups, and profiles in a clean, structured format.

This actor is built for research, monitoring, reporting, and dataset creation. You can run multiple URLs in one run, optionally include comments, and export results for analytics or automation.

What This Actor Does

  • Collects posts from public Facebook pages, groups, and profiles
  • Supports multiple input URLs in one run
  • Extracts core post details such as text, author, publish time, engagement, and media
  • Optionally collects comments and replies
  • Returns structured output ready for JSON, CSV, Excel, or API workflows

Best For

  • Social listening and brand monitoring
  • Competitor and topic research
  • Content performance tracking
  • Public content archiving
  • Preparing datasets for BI, NLP, or AI workflows

Input

Provide one or more public Facebook URLs and set how much content to collect.

Main input fields

  • startUrls Add one or more public page, group, or profile URLs.
  • maxPosts Maximum number of posts to collect per input URL.
  • includeComments Enable when you want comment threads in output.
  • maxComments Maximum number of top-level comments per post when comments are enabled.
  • replyDepth Depth of nested replies when replies are available.

Example input

{
"startUrls": [
{ "url": "https://www.facebook.com/Cristiano" },
{ "url": "https://www.facebook.com/groups/1312198885800812/" }
],
"maxPosts": 50,
"includeComments": false
}

Output

Each dataset item represents one Facebook post.

Common fields include:

  • post: post identity and URL details
  • publishedAt: normalized publish timestamp
  • author: author name and profile data
  • content: post text and related metadata
  • engagement: reactions, comments, and shares counts
  • media: media items and metadata when available
  • inputUrl: source URL that produced the item
  • comments: nested comment data when enabled

Example output shape

{
"recordType": "facebook_post",
"post": {
"id": "1234567890",
"url": "https://www.facebook.com/example/posts/1234567890",
"type": "text"
},
"publishedAt": {
"iso": "2026-04-28T13:56:03.000Z"
},
"author": {
"name": "Example Author",
"profileUrl": "https://www.facebook.com/example"
},
"content": {
"text": "Example post content"
},
"engagement": {
"reactions": 120,
"comments": 14,
"shares": 9
},
"media": {
"count": 1
},
"inputUrl": "https://www.facebook.com/example",
"comments": {
"items": []
}
}

How To Use

  1. Add one or more public Facebook URLs to startUrls.
  2. Set maxPosts based on how much data you need.
  3. Enable comments only when required to keep runs faster and lighter.
  4. Run the actor and open the dataset after completion.
  5. Export data or access it through the Apify API.

Best Practices

  • Start with a small maxPosts value to validate output quickly.
  • Use specific and publicly accessible URLs for more predictable results.
  • Enable comments only for runs that need conversation context.
  • Use JSON export when you need full nested structure for media/comments.

FAQ

Why is no data returned for some URLs?

The URL is likely private, restricted, unavailable, or not publicly accessible at the time of collection.

Yes. When media is publicly available on a post, media URLs and metadata are included in output.

Can I run multiple URLs in one run?

Yes. Add multiple entries in startUrls, and the actor will process them in one run.

How long does a run take?

Runtime depends mainly on number of input URLs, maxPosts, and whether comments are enabled.

Responsible Use

Use this actor only for publicly available content and ensure your use complies with applicable laws, regulations, and platform terms.

Troubleshooting

  • Verify each input URL in a browser before running.
  • Test with a small maxPosts value first.
  • If results are limited, try another known-public URL to confirm expected behavior.