Facebook Comments Scraper⚡ avatar

Facebook Comments Scraper⚡

Pricing

from $2.00 / 1,000 comment collecteds

Go to Apify Store
Facebook Comments Scraper⚡

Facebook Comments Scraper⚡

Scrape Facebook post comments and nested replies. Output includes: comment text, author name & profile URL, timestamp, like count, reply count, attachments, and full reply threads. One clean row per comment. Ideal for NLP and sentiment research ✨Facebook Comments Scraper⚡

Pricing

from $2.00 / 1,000 comment collecteds

Rating

0.0

(0)

Developer

Premium Scraper

Premium Scraper

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

5 days ago

Last modified

Share

Facebook Comments Scraper ⚡ — Full Comment Threads with Nested Replies

Facebook Comments Scraper extracts public Facebook comments and their replies from any direct Facebook post, video, photo, or share URL. Each row returned by this Facebook Comments Scraper represents one top-level comment, with all replies nested inside the same row under all_replies — giving you the complete conversation thread in a single structured object.

💡 Want to scrape comments from ALL posts on a Facebook profile or page? This Facebook Comments Scraper only accepts direct post URLs. To collect comments and replies from every post published on a profile or page, use the Facebook Posts Scraper — it accepts profile/page URLs directly and returns all posts with full comment and reply data in one run.


🤔 Why Use This Facebook Comments Scraper?

When you need detailed comment threads from specific post URLs, this Facebook Comments Scraper gives you the fastest and most structured path. Unlike flat-row exporters, this Facebook Comments Scraper preserves the natural thread structure: each comment row contains its own replies nested under all_replies, along with full author info, engagement counts, reaction breakdowns, attachments, and timestamps.


⚙️ How This Facebook Comments Scraper Works

1️⃣ Provide input — paste direct Facebook post, video, photo, or share URLs into this Facebook Comments Scraper. 2️⃣ URL resolution — the Facebook Comments Scraper normalizes and validates each URL. 3️⃣ Comment extraction — top-level comments are fetched with full reply threads and engagement data. 4️⃣ Nested output — one dataset row per top-level comment, with all_replies nested inside as a sub-level field. 5️⃣ Billing — you are charged per top-level comment row pushed by this Facebook Comments Scraper.

💡 To scrape comments in bulk from all posts on a profile, use Facebook Posts Scraper instead of this Facebook Comments Scraper.

⚠️ Important — Comment Filter affects how many comments and replies you get: Facebook actively hides a large number of comments and replies when most_relevant or newest filters are selected. If you want to get the maximum number of comments and replies available on a post, always set Comment Ordering to All comments. With other filters, you may receive far fewer results than what is publicly visible on the post.


📦 What Data Does This Facebook Comments Scraper Return?

This Facebook Comments Scraper returns one row per top-level comment. Each row from this Facebook Comments Scraper includes:

Comment-Level Fields

FieldTypeDescription
typestringAlways comment in this Facebook Comments Scraper
numberintegerSequential row number across the whole run
source_post_numberintegerOrder of the source post URL
source_post_urlstringNormalized source post URL
post_summaryobjectCompact post metadata: post ID, permalink, created_at, message_text, profile name/ID/URL, verified flag, engagement totals, media summary
comment_collectionobjectSource comment collection metadata: request coverage, total/returned counts, and sanitized selected-filter info for the parent post
comment_idstringUnique Facebook comment identifier
comment_legacy_fbidstringLegacy Facebook comment ID
parent_comment_idstringParent comment ID (null for top-level)
depthintegerThread depth (0 = top-level comment)
created_atstringComment creation timestamp (ISO 8601)
message_textstringFull comment body text
comment_linksarrayDirect URL(s) to this comment
authorobjectSee author sub-fields below
engagementobjectSee engagement sub-fields below
reply_detailsobjectReply pagination and count metadata
attachmentsobjectMedia attached to this comment (images, stickers, etc.)
all_repliesarrayNested replies — each reply has the same fields as a comment row (author, message_text, engagement, created_at, etc.)

Author Sub-Fields (inside author)

FieldTypeDescription
profile_namestringCommenter display name
profile_idstringCommenter Facebook user ID
profile_linksarrayCommenter profile URL(s)
profile_picture_linksarrayCommenter profile picture URL(s)
profile_is_verifiedbooleanWhether the commenter is a verified page/profile

Engagement Sub-Fields (inside engagement)

FieldTypeDescription
reaction_count_totalintegerTotal reactions on this comment
reaction_count_reducedstringReaction count (display text, e.g. 1.2K)
top_reaction_typesarrayTop reaction type names (e.g. LIKE, LOVE)
top_reaction_labelsarrayTop reaction labels (e.g. Like, Love)
top_reactions_breakdownarrayPer-type reaction count breakdown
reply_count_totalintegerTotal replies to this comment
reply_count_visibleintegerReplies visible in this Facebook Comments Scraper result
reply_count_hiddenintegerReplies not collected (beyond limit)
has_more_repliesbooleanWhether more replies exist beyond the limit
reply_visibility_notestringExplanation of reply visibility

Reply Sub-Fields (inside all_replies[])

Each reply in all_replies from this Facebook Comments Scraper has the same structure as its parent comment: comment_id, comment_legacy_fbid, parent_comment_id, depth, created_at, message_text, comment_links, author, engagement, attachments


⚙️ Input Configuration

FieldTypeDefaultDescription
facebook_urlsURL[]Direct Facebook post, video, photo, or share URLs
comments_limitinteger10Max top-level comments to collect per post
include_comment_repliesbooleantrueNest replies inside each comment under all_replies
comment_replies_limitinteger10Max replies to collect per top-level comment
comment_filterstringmost_relevantComment ordering: most_relevant, newest, all_comments

⚠️ comment_filter critically affects your results. Facebook hides a large portion of comments and replies when the filter is set to most_relevant or newest. To guarantee you receive the maximum number of available comments and replies on each post, always set comment_filter to all_comments. The actor logs a warning at runtime when any other filter is selected.


🎯 Facebook Comments Scraper Use Cases

  • 💬 Audience sentiment analysis — understand how audiences react to posts via comment text
  • 🔍 Brand monitoring — track comments mentioning your brand on public posts
  • 📊 Community research — analyze comment thread depth and engagement patterns
  • 🧠 NLP & AI training — build structured comment datasets for language model training
  • 📢 Influencer research — study audience conversations on influencer posts
  • 🎯 Content strategy — identify what topics drive the most comments and replies
  • 🛡️ Crisis monitoring — surface negative comment threads early with this Facebook Comments Scraper
  • 📈 Competitor analysis — monitor comments on competitor brand posts

💡 Tips & Best Practices

  • Replies are nested, not separate rows — this Facebook Comments Scraper stores each comment's replies inside all_replies, keeping the conversation structure intact.
  • 🚨 Always use comment_filter: all_comments for maximum resultsmost_relevant and newest filters cause Facebook to hide a large portion of publicly available comments and replies. When you use these filters, you may get only 1–3 replies for a comment that has 20+ replies publicly visible. The actor will log a warning every time a non-all_comments filter is used.
  • 💰 Top-level comments are billed — nested replies in all_replies are fetched and bundled for Extra.
  • 📌 Need comments from all posts on a profile? Use Facebook Posts Scraper which accepts a profile URL and returns all posts with their comments — no need to collect individual links before using this Facebook Comments Scraper.
  • ⏱️ Combine with Reactions Scraper — pair this Facebook Comments Scraper output with the Reactions Scraper for a complete post engagement + conversation dataset.

❓ Frequently Asked Questions

Q: Can I use a Facebook profile or page URL with this Facebook Comments Scraper? A: No. This Facebook Comments Scraper only accepts direct post URLs. To scrape comments from all posts on a profile or page automatically, use Facebook Posts Scraper.

Q: Where are replies stored in this Facebook Comments Scraper? A: All replies are nested inside the parent comment row under the all_replies field as a structured array. There are no separate reply rows in this Facebook Comments Scraper.

Q: Why am I getting fewer replies than expected? A: This is caused by the comment_filter setting. When most_relevant or newest is selected, Facebook hides most replies and does not provide the pagination token required to fetch more. A comment with 28 replies visible publicly may return only 1–3 in these modes. Switch Comment Ordering to All comments to get the maximum number of replies for each comment. The actor logs a ⚠️ warning at the start of each run if you are not using all_comments.

Q: What author fields are returned per comment? A: This Facebook Comments Scraper returns profile_name, profile_id, profile_links, profile_picture_links, and profile_is_verified inside the author field for each comment and reply.

Q: What engagement fields are returned per comment? A: The engagement field in this Facebook Comments Scraper includes reaction_count_total, reaction_count_reduced, top_reaction_types, top_reaction_labels, top_reactions_breakdown, reply_count_total, reply_count_visible, reply_count_hidden, and has_more_replies.

Q: Can this Facebook Comments Scraper fetch comments from private posts? A: No. This Facebook Comments Scraper only works with publicly visible Facebook posts.


⚠️ Limitations

  • Public posts only — this Facebook Comments Scraper cannot access private or friends-only post comments.
  • Direct post URLs only — profile/page URLs are not supported. Use Facebook Posts Scraper for profile-level scraping instead of this Facebook Comments Scraper.
  • Comment count may vary — Facebook does not always expose the full public comment count in this Facebook Comments Scraper.

🔌 Integration Ideas

  • 📊 Feed this Facebook Comments Scraper data into NLP sentiment pipelines.
  • ⏰ Schedule periodic runs of this Facebook Comments Scraper on high-traffic posts.
  • 📡 Connect via Apify integrations to Slack, Zapier, or Make for automated comment alerts.
  • 💾 Archive comment threads over time to track engagement trends.

🔒 Privacy & Compliance

This Facebook Comments Scraper only accesses publicly visible comment data. No authentication is required. This Facebook Comments Scraper does not bypass any Facebook access controls. All internal tokens and proxy connection data are redacted from logs. Users are responsible for ensuring their use of this Facebook Comments Scraper complies with applicable laws and Facebook's terms of service.