Facebook Posts Scraper
Pricing
from $1.50 / 1,000 results
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
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
6 hours ago
Last modified
Categories
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
startUrlsAdd one or more public page, group, or profile URLs.maxPostsMaximum number of posts to collect per input URL.includeCommentsEnable when you want comment threads in output.maxCommentsMaximum number of top-level comments per post when comments are enabled.replyDepthDepth 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 detailspublishedAt: normalized publish timestampauthor: author name and profile datacontent: post text and related metadataengagement: reactions, comments, and shares countsmedia: media items and metadata when availableinputUrl: source URL that produced the itemcomments: 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
- Add one or more public Facebook URLs to
startUrls. - Set
maxPostsbased on how much data you need. - Enable comments only when required to keep runs faster and lighter.
- Run the actor and open the dataset after completion.
- Export data or access it through the Apify API.
Best Practices
- Start with a small
maxPostsvalue 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.
Can I collect media links?
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
maxPostsvalue first. - If results are limited, try another known-public URL to confirm expected behavior.