Facebook Comment Scraper — No Login Required
Pricing
from $1.25 / 1,000 results
Facebook Comment Scraper — No Login Required
Extract 30+ fields per comment from any public Facebook post — no login required. The most comprehensive output of any FB comment scraper: demographics, per-reaction breakdowns, moderation signals, and threaded replies. Lightweight, fast, and low cost with built-in Smart Scrape dedup.
Pricing
from $1.25 / 1,000 results
Rating
0.0
(0)
Developer

Crowd Pull
Actor stats
0
Bookmarked
3
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
CrowdPull FB Comment Scraper
Extract all comments and replies from any public Facebook post — no login or cookies required.
Works with group posts, page posts, permalinks, and share links. No browser automation — just fast, lightweight HTTP requests.
Why this scraper
- No browser — pure HTTP, no Playwright overhead. Faster and cheaper to run than browser-based alternatives.
- Reaction breakdown — per-type counts (like, love, haha, wow, sorry, anger, support) for sentiment analysis without NLP. Most scrapers only give you a total count.
- Spam & moderation signals — Facebook's own spam classification, disabled/hidden status, and reply-locked threads. Filter junk before it hits your pipeline.
- Group context — group ID, anonymous posting flags, and member profile status for cross-group audience analysis.
- Smart Scrape dedup — skip posts already scraped in previous runs. No other comment scraper offers incremental extraction.
- @handle extraction — mentions and URLs parsed from comment text, ready for lead gen or network mapping.
- Structured dataset output — typed schema with table preview in the Apify Console. Browse results without downloading.
Features
- No login required — extracts comments anonymously from public posts
- Reply expansion — automatically fetches nested reply threads
- Pagination — automatically loads all comments, not just the first few
- Multi-post support — process multiple posts in a single run with concurrent workers
- Comment scraper chaining — trigger automatically from the feed scraper via webhook
What you get per comment
| Field | Description |
|---|---|
commentId | Unique Facebook comment ID |
authorName | Commenter's display name |
authorId | Facebook user ID |
authorProfileUrl | Link to commenter's profile |
authorProfilePicture | Profile picture URL |
authorGender | MALE, FEMALE, or empty |
authorType | User or Page |
text | Full comment text |
timestamp | ISO 8601 timestamp |
isReply | Whether this is a reply to another comment |
depth | Nesting depth (0 = top-level, 1 = reply, 2+ = nested) |
parentCommentId | ID of the parent comment (for threading) |
replyCount | Number of replies to this comment |
reactionCount | Total reaction count |
reactionBreakdown | Per-type counts: like, love, haha, wow, sorry, anger, support |
spamDisplayMode | Facebook's spam classification |
isDisabled | Whether the comment has been hidden/removed |
groupCommentInfo | Group ID, anonymous posting, nickname usage, member status |
commentUrl | Direct permalink to the comment |
extractedUrls | URLs found in comment text |
extractedHandles | @handles and mentions found in comment text |
scrapedAt | ISO 8601 timestamp of when extraction occurred |
Automatic chaining via webhook
The easiest way to run the comment scraper is to trigger it automatically when the CrowdPull FB Group Posts Scraper finishes. Set up an Apify webhook on the posts scraper:
- Go to the posts scraper actor/task Integrations tab
- Add integration: Apify (Connect Actor or Task) → select this comment scraper task
- Event: Run succeeded
- Input mapping:
{"datasetId": "{{resource.defaultDatasetId}}", "minComments": 0}
The comment scraper loads the posts dataset, filters by minComments, and extracts comments from all matching posts. No API tokens or manual URL copying needed.
How it works
- Fetches the post page anonymously — no login, no cookies, no browser
- Extracts all available comments from the page response
- Paginates to load additional comments beyond the initial batch
- Expands nested reply threads automatically
- Deduplicates across multiple data sources for complete coverage
Anonymous vs authenticated mode
| Capability | Anonymous (default) | With cookies |
|---|---|---|
| Top-level comments | All | All |
| Reply threads | ~1 reply per thread | All replies |
| Overall coverage | ~85% of visible comments | ~100% |
For full reply coverage, provide Facebook cookies via the fbCookies input field.
Smart Scrape (incremental dedup)
Enable Smart Scrape to skip posts already scraped in previous runs. Ideal for recurring monitoring jobs — you only pay for new posts.
- On first run, all posts are scraped normally and cached in a persistent store
- On subsequent runs, cached posts are skipped (charged at a reduced
cache-checkrate) - Optionally set a refresh window to re-scrape recent posts that may have gained new comments
Cost comparison (50 posts/week, ~10 comments/post average)
| Scenario | Without Smart Scrape | With Smart Scrape |
|---|---|---|
| Week 1 (all new) | 500 comments extracted | 500 comments extracted |
| Week 2 (10 new posts) | 500 comments extracted | 100 comments + 40 cache checks |
| Week 4 (10 new/week) | 2,000 comments total | 800 comments + 120 cache checks |
| Monthly cost | Full price | ~55% cheaper |
Built-in incremental extraction — only pay for new comments on recurring runs.
Use cases
- Market research — analyze customer sentiment and questions in niche groups
- Lead generation — extract URLs, @handles, and active community members
- Content analysis — use reaction breakdowns to measure sentiment without NLP
- Competitive intelligence — monitor competitor post discussions
- Community health — track spam rates, disabled comments, and moderation patterns
Input example
{"postUrls": ["https://www.facebook.com/groups/homebakeryforbeginners/posts/903456049205823/"],"maxCommentsPerPost": 50,"includeReplies": true,"extractUrls": true}
Output example
{"postUrl": "https://www.facebook.com/groups/homebakeryforbeginners/posts/903615849189843/","commentId": "903620162522745","authorName": "Sandy D Crusan","authorId": "pfbid0zfQhxbUdLXKEU...","authorGender": "FEMALE","authorType": "User","text": "I wish NJ allowed alcohol infused products with a Cottage License.","timestamp": "2026-02-25T23:20:03.000Z","isReply": false,"depth": 0,"replyCount": 0,"reactionCount": 1,"reactionBreakdown": { "like": 1, "love": 0, "haha": 0, "wow": 0, "sorry": 0, "anger": 0, "support": 0 },"spamDisplayMode": "none","isDisabled": false,"groupCommentInfo": {"group": { "id": "683303171221113" },"is_author_anonymous": false,"is_author_nickname": false,"is_author_with_member_profile": true},"extractedUrls": [],"extractedHandles": [],"scrapedAt": "2026-02-26T00:33:54.010Z"}
Cost estimate
This Actor uses no browser — just lightweight HTTP requests.
| PPE Event | Description | Cost |
|---|---|---|
actor-start | One-time per run | $0.005 |
comment-extracted | Per comment pushed to dataset | Per-1K pricing (see Store) |
cache-check | Per post skipped by Smart Scrape | Reduced rate (see Store) |
A typical run extracting 50 comments costs ~$0.01-0.02 in platform fees.
Limitations
- Only works with public posts (private groups/posts return 0 comments)
- Anonymous mode returns ~1 reply per thread (Facebook's anonymous rate limit)
- Very new posts (minutes old) may not have comments indexed yet
- Facebook may change internal APIs; report issues if extraction stops working
reactionBreakdownonly populates when comments have reactions (zeros otherwise)authorGenderdepends on the user's Facebook privacy settings- Anonymous feed API returns
commentCount: 0for all posts — when using webhook chaining, setminComments: 0to process all posts
Is it legal to scrape Facebook comments?
This Actor extracts publicly visible data from Facebook posts. Here are the key legal considerations:
- Public data: Only public posts are accessible. Private groups and posts behind login walls return zero results.
- No authentication by default: The scraper works anonymously without any Facebook account, accessing only what any visitor can see.
- Terms of Service: Web scraping of public data has been upheld in multiple court rulings (hiQ Labs v. LinkedIn, 2022). However, Facebook's Terms of Service restrict automated data collection. Use this tool responsibly and in compliance with applicable laws.
- GDPR/CCPA: Extracted data may contain personal information (names, profile pictures, comment text). If you process this data in the EU/EEA or for California residents, ensure you have a lawful basis under GDPR/CCPA. Consider anonymizing or pseudonymizing personal data before storage.
- Rate limiting: The scraper includes built-in delays and respects Facebook's rate limits to minimize server impact.
You are responsible for ensuring your use of this data complies with all applicable laws and regulations in your jurisdiction.