Facebook Comments Scraper avatar

Facebook Comments Scraper

Pricing

from $0.30 / 1,000 each comment scrapeds

Go to Apify Store
Facebook Comments Scraper

Facebook Comments Scraper

Scrape comments and replies from public Facebook posts, reels and videos. Replies stay nested under their comment, just like on Facebook. Sorting, date filter, reply limits. No login needed.

Pricing

from $0.30 / 1,000 each comment scrapeds

Rating

0.0

(0)

Developer

Coder

Coder

Maintained by Community

Actor stats

2

Bookmarked

65

Total users

16

Monthly active users

11 hours ago

Last modified

Share

Collect the comments of public Facebook posts, reels and videos - with replies nested under the comment they answer, exactly like on Facebook. No login, no cookies, no browser.

Why this one

  • Readable threads. One row per post. Each comment has its replies, and each reply has its own replies (replies to replies). No flat "type: reply" rows to stitch back together.
  • Clear limits. Set comments per post and replies per level: 5 comments with 2 per level gives each comment up to 2 replies, and each of those up to 2 replies of its own.
  • Reels and videos too - including reel comments Facebook hides from logged-out visitors.
  • Post data on request. Add the post itself (author, text, date, reactions by type, comment and share counts, media) to each row.

Input

FieldWhat it does
Facebook post linksPost, reel, video and group post links (pfbid links work)
Comments per postTop-level comments per post (default 10)
Comment orderAll comments (widest set), Most relevant, Newest first
Only comments newer thanA date or a period like 7 days; comments are then read newest first
Include repliesNest replies under their comments
Reply depthReplies, or replies and replies to replies
Replies per levelReplies kept under each comment and each reply (default 2)
Include post dataAdd the post's own fields to each row

Input names from other Facebook comment scrapers also work (startUrls, postUrls, resultsLimit, includeNestedComments, viewOption, onlyCommentsNewerThan, commentsDateRange, ...).

Output

{
"inputUrl": "https://www.facebook.com/NASA/posts/1637283811100322",
"postUrl": "https://www.facebook.com/NASA/posts/pfbid0G298eA3...",
"postId": "1637283811100322",
"commentsCollected": 5,
"repliesCollected": 6,
"sortedBy": "all",
"comments": [
{
"commentId": "1621614019364769",
"commentUrl": "https://www.facebook.com/...?comment_id=1621614019364769",
"depth": 0,
"text": "The weapons in space should be given over...",
"createdAt": "2026-09-28T14:02:11Z",
"authorName": "...",
"authorUrl": "https://www.facebook.com/...",
"reactions": 12,
"replyCount": 3,
"replies": [
{
"commentId": "4473153959589875",
"depth": 1,
"text": "There's a reason we have...",
"replies": [
{ "commentId": "4586229838289508", "depth": 2, "text": "USSF. Only really covers...", "replies": [] }
]
}
]
}
]
}

Each comment and reply has: commentId, commentUrl, depth, text, createdAt, authorName, authorId, authorUrl, authorVerified, isTopFan, reactions (total and by type), replyCount, mentions, imageUrls, language, replies.

Like on Facebook, threads go two reply levels deep. When someone answers a reply-to-a-reply, Facebook shows the answer beside it; so does the Actor, with replyToCommentId naming the reply it answers.

With Include post data on, each row also carries the post fields (authorName, text, publishedAt, reactions by type, commentCount, shares, views, media, ...).

A post with a very large number of comments is split into several rows (part 1 of parts) so no row passes Apify's item size limit. Threads are never cut between parts.

Good to know

  • Fewer comments than the post's count? Facebook hides some comments from public view (spam filtering, "View hidden replies"), and serves replies of long threads in small batches - a thread showing "12 replies" may give only a few, even to logged-in users. The Actor collects everything Facebook serves.
  • Private posts and posts that no longer exist are listed in the log and not charged.

Pricing

Pay per result: each comment or reply is one comment event; post data (when turned on) is one post event per post. The free plan can try every option, with up to 3 links, 10 comments per post and 3 replies per level.