Facebook Comments Scraper⚡
Pricing
from $2.00 / 1,000 comment collecteds
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
Actor stats
0
Bookmarked
4
Total users
3
Monthly active users
5 days ago
Last modified
Categories
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_relevantornewestfilters are selected. If you want to get the maximum number of comments and replies available on a post, always set Comment Ordering toAll 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
| Field | Type | Description |
|---|---|---|
type | string | Always comment in this Facebook Comments Scraper |
number | integer | Sequential row number across the whole run |
source_post_number | integer | Order of the source post URL |
source_post_url | string | Normalized source post URL |
post_summary | object | Compact post metadata: post ID, permalink, created_at, message_text, profile name/ID/URL, verified flag, engagement totals, media summary |
comment_collection | object | Source comment collection metadata: request coverage, total/returned counts, and sanitized selected-filter info for the parent post |
comment_id | string | Unique Facebook comment identifier |
comment_legacy_fbid | string | Legacy Facebook comment ID |
parent_comment_id | string | Parent comment ID (null for top-level) |
depth | integer | Thread depth (0 = top-level comment) |
created_at | string | Comment creation timestamp (ISO 8601) |
message_text | string | Full comment body text |
comment_links | array | Direct URL(s) to this comment |
author | object | See author sub-fields below |
engagement | object | See engagement sub-fields below |
reply_details | object | Reply pagination and count metadata |
attachments | object | Media attached to this comment (images, stickers, etc.) |
all_replies | array | Nested replies — each reply has the same fields as a comment row (author, message_text, engagement, created_at, etc.) |
Author Sub-Fields (inside author)
| Field | Type | Description |
|---|---|---|
profile_name | string | Commenter display name |
profile_id | string | Commenter Facebook user ID |
profile_links | array | Commenter profile URL(s) |
profile_picture_links | array | Commenter profile picture URL(s) |
profile_is_verified | boolean | Whether the commenter is a verified page/profile |
Engagement Sub-Fields (inside engagement)
| Field | Type | Description |
|---|---|---|
reaction_count_total | integer | Total reactions on this comment |
reaction_count_reduced | string | Reaction count (display text, e.g. 1.2K) |
top_reaction_types | array | Top reaction type names (e.g. LIKE, LOVE) |
top_reaction_labels | array | Top reaction labels (e.g. Like, Love) |
top_reactions_breakdown | array | Per-type reaction count breakdown |
reply_count_total | integer | Total replies to this comment |
reply_count_visible | integer | Replies visible in this Facebook Comments Scraper result |
reply_count_hidden | integer | Replies not collected (beyond limit) |
has_more_replies | boolean | Whether more replies exist beyond the limit |
reply_visibility_note | string | Explanation 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
| Field | Type | Default | Description |
|---|---|---|---|
facebook_urls | URL[] | — | Direct Facebook post, video, photo, or share URLs |
comments_limit | integer | 10 | Max top-level comments to collect per post |
include_comment_replies | boolean | true | Nest replies inside each comment under all_replies |
comment_replies_limit | integer | 10 | Max replies to collect per top-level comment |
comment_filter | string | most_relevant | Comment ordering: most_relevant, newest, all_comments |
⚠️
comment_filtercritically affects your results. Facebook hides a large portion of comments and replies when the filter is set tomost_relevantornewest. To guarantee you receive the maximum number of available comments and replies on each post, always setcomment_filtertoall_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_commentsfor maximum results —most_relevantandnewestfilters 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_commentsfilter is used. - 💰 Top-level comments are billed — nested replies in
all_repliesare 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.
