Facebook Comment Scraper — Public Comments & Replies avatar

Facebook Comment Scraper — Public Comments & Replies

Pricing

from $0.75 / 1,000 results

Go to Apify Store
Facebook Comment Scraper — Public Comments & Replies

Facebook Comment Scraper — Public Comments & Replies

Extract comments from any public Facebook post. No login or cookies needed. Supports 30+ fields per comment, per-reaction breakdowns, threaded replies, and Smart Scrape dedup.

Pricing

from $0.75 / 1,000 results

Rating

0.0

(0)

Developer

Crowd Pull

Crowd Pull

Maintained by Community

Actor stats

2

Bookmarked

86

Total users

9

Monthly active users

5 days ago

Last modified

Share

CrowdPull FB Comment Scraper

Extract comments and replies from Facebook posts, reels, pages, and groups. Logged-out extraction works where Facebook exposes comment data; optional cookies are required for signed-in-only surfaces.

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

  • Anonymous + authenticated modes — starts logged out and reports when Facebook requires fbCookies
  • Reply expansion — automatically fetches nested reply threads
  • Pagination — loads additional comment pages when Facebook exposes them
  • 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

FieldDescription
commentIdUnique Facebook comment ID
authorNameCommenter's display name
authorIdFacebook user ID
authorProfileUrlLink to commenter's profile
authorProfilePictureProfile picture URL
authorGenderMALE, FEMALE, or empty
authorTypeUser or Page
textFull comment text
timestampISO 8601 timestamp
isReplyWhether this is a reply to another comment
depthNesting depth (0 = top-level, 1 = reply, 2+ = nested)
parentCommentIdID of the parent comment (for threading)
replyCountNumber of replies to this comment
reactionCountTotal reaction count
reactionBreakdownPer-type counts: like, love, haha, wow, sorry, anger, support
spamDisplayModeFacebook's spam classification
isDisabledWhether the comment has been hidden/removed
groupCommentInfoGroup ID, anonymous posting, nickname usage, member status
commentUrlDirect permalink to the comment
extractedUrlsURLs found in comment text
extractedHandles@handles and mentions found in comment text
scrapedAtISO 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:

  1. Go to the posts scraper actor/task Integrations tab
  2. Add integration: Apify (Connect Actor or Task) → select this comment scraper task
  3. Event: Run succeeded
  4. 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

  1. Fetches the post page anonymously using lightweight HTTP requests
  2. Extracts all available comments from the page response
  3. Paginates to load additional comments beyond the initial batch
  4. Expands nested reply threads automatically
  5. Deduplicates comment records across the available response sources

Anonymous vs authenticated mode

CapabilityAnonymous (default)With cookies
Top-level commentsOnly when exposed to logged-out visitorsAvailable to the supplied Facebook session
Reply threadsVaries by post and surfaceUsually higher, but still privacy-dependent
Failure behaviorExplicit failed/partial summaryExplicit failed/partial summary

Facebook can return an empty public response for comments that are visible to a signed-in browser. In that case the Actor does not claim a true zero: it records the coverage failure in OUTPUT, and signed-in-only reel queries fail with an actionable request for fbCookies.

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.

  1. On first run, all posts are scraped normally and cached in a persistent store
  2. On subsequent runs, cached posts are skipped (charged at a reduced cache-check rate)
  3. 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)

ScenarioWithout Smart ScrapeWith Smart Scrape
Week 1 (all new)500 comments extracted500 comments extracted
Week 2 (10 new posts)500 comments extracted100 comments + 40 cache checks
Week 4 (10 new/week)2,000 comments total800 comments + 120 cache checks
Monthly costFull 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"
}

Other CrowdPull Facebook scrapers

Cost estimate

This Actor uses no browser — just lightweight HTTP requests.

PPE EventDescriptionCost
apify-actor-startOne-time per run$0.005
apify-default-dataset-itemPer comment pushed to dataset$0.002/comment on Free; $0.0015/$0.001/$0.00075/$0.0006/$0.0005 on Bronze through Diamond
cache-checkPer post skipped by Smart Scrape$0.001

At the currently applied Free-tier rate, 50 comments cost about $0.105 including the run-start event. Higher Apify tiers cost less; verify the Store pricing panel for current rates.

Limitations

  • Facebook may require authentication even for comments shown on otherwise public posts or reels
  • Private groups and posts require a Facebook session that is authorized to view them
  • Very new posts (minutes old) may not have comments indexed yet
  • Facebook may change internal APIs; report issues if extraction stops working
  • reactionBreakdown only populates when comments have reactions (zeros otherwise)
  • authorGender depends on the user's Facebook privacy settings
  • Anonymous feed API returns commentCount: 0 for all posts — when using webhook chaining, set minComments: 0 to process all posts

This Actor extracts publicly visible data from Facebook posts. Here are the key legal considerations:

  • Access boundary: Anonymous mode only receives data Facebook exposes to logged-out visitors. Cookie mode is limited to content the supplied account may view.
  • Authentication is optional, not invisible: The Actor starts anonymously and reports signed-in-only query failures instead of silently returning an empty dataset.
  • 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.