Facebook Comments Scraper avatar

Facebook Comments Scraper

Pricing

from $0.40 / 1,000 comment scrapeds

Go to Apify Store
Facebook Comments Scraper

Facebook Comments Scraper

Collect the public comments on any Facebook post: author, full text, date, the like figure Facebook displays and the reply count, one clean row each. Works on posts, photos and videos, needs no account, and tells you plainly how many comments are publicly reachable.

Pricing

from $0.40 / 1,000 comment scrapeds

Rating

0.0

(0)

Developer

Hamza

Hamza

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Share

Give it a link to any public Facebook post and get the comments back as clean rows: who wrote each one, the full text, when it was posted, the like figure Facebook shows next to it and how many replies it has. It works on ordinary posts, photo posts, videos and permalinks, and it needs no Facebook account of any kind.

Read the honest ceiling first: Facebook lets a signed-out visitor reach roughly the first 45 comments of a post, no matter how many the post has. Everything below is built around telling you that plainly instead of quietly returning less than you expected.

What you can do with it

  • Read the room on a campaign post — pull the comments on your own or a client's post and see what people actually said, not just how many reacted.
  • Mine competitor posts for complaints and feature wishes that keep coming up, and turn them into product or content ideas.
  • Track sentiment on a launch announcement by collecting the comments on the announcement post over several days.
  • Collect quotes and testimonials people leave publicly under a brand's posts, with the author name and the date attached.
  • Build a labelled text set for classification or sentiment work from real, public, dated comments.

What you get

One row per comment. Abridged real example:

{
"postId": "1549668713863782",
"commentId": "1302275481768604",
"authorName": "Simon Turner",
"authorId": "100000017317209",
"authorIsOpaque": false,
"text": "Is it where they make pool reflection liner paint?!",
"publishedAt": "2026-08-01T19:07:20.000Z",
"likesText": "18",
"replyCount": 1,
"depth": 0,
"attachmentCount": 0,
"postDeclaredComments": 102,
"availability": "OK",
"sourceUrl": "https://www.facebook.com/bbcnews/posts/pfbid02Ahoi9Dz...",
"scrapedAt": "2026-08-01T19:21:44.881Z"
}

Input reference

FieldTypeDefaultWhat it does
Post linkslist of textone example postThe posts whose comments you want. Open a post, video or photo on Facebook and copy the link from your browser. Required.
Comments per postwhole number 1–5030The most comments to collect from each post. Because of the ceiling described below, a higher number does not always mean more rows.
Browse fromchoiceUnited StatesThe country to browse from. Some posts are shown differently depending on where the visitor is.
Posts at a timewhole number 1–84How many posts to work on simultaneously. Four is the sweet spot; higher is not faster.

Anything that is not a post link — a Page link, a home page link, a link from another site — is skipped with a message saying why, and the run continues.

Output fields

FieldDescription
postIdThe post the comment belongs to.
commentIdFacebook's own identifier for the comment.
authorNameThe commenter's display name.
authorIdThe commenter's identifier.
authorIsOpaquetrue when Facebook published a one-way code instead of a real profile number — 8 of the 10 commenters on the post we sampled. Those values identify nobody and cannot be matched against other data. null when no identifier was published at all.
authorUrlThe commenter's profile link, where Facebook publishes one.
textThe full comment text.
publishedAtWhen the comment was posted, in ISO 8601.
likesTextThe like figure exactly as Facebook displays it"0", "18", "1.7K". It is text, not a number: see the limits.
replyCountHow many replies the comment has.
depth0 for a top-level comment.
attachmentCountHow many pictures or stickers are attached to the comment.
postDeclaredCommentsThe comment count Facebook shows on the post itself, so you can see the gap between that and what is publicly reachable.
availabilityOK for every row produced.
sourceUrlThe post the row came from.
scrapedAtWhen the row was collected.

Pricing

You pay per comment plus a small one-off charge for each post whose thread had to be continued beyond what the post shows on arrival:

  • $0.0004 per comment — $0.40 per 1,000 comments.
  • $0.004 per post whose thread was continued. Posts whose comments all arrived with the post are not charged this.

A run over 100 posts collecting 30 comments each costs about $1.20 + $0.40 = $1.60. Posts that turn out to be unavailable, and posts with no public comments, produce no rows and cost nothing.

Limits & what this actor cannot do

  • About 45 comments per post is the public ceiling. On a post showing 102 comments, a signed-out visitor could reach 46 of them and then Facebook simply stopped — while still claiming more were available. Big posts with thousands of comments will therefore yield a small sample, not the lot. postDeclaredComments on every row shows you the gap. Any product claiming complete public comment collection for Facebook is not telling you the truth.
  • Replies are never returned. Facebook publishes the reply count to signed-out visitors but not the reply text, so replyCount is filled in and no reply rows exist. Note that the count shown on the post includes replies, which is part of why it is so much larger than what can be collected.
  • Comment like figures are text, not numbers. Facebook shows 1.7K, not 1,700, and no exact figure is published anywhere on this surface. likesText keeps what was shown; nothing is converted into a number that was never published, so do not sum this column.
  • Many commenter identifiers are one-way codes. On the post we sampled, 8 of the 10 commenters had a one-way code instead of a profile number. The share varies from post to post and no fixed proportion is promised, so size any join on the authorIsOpaque flag on your own rows rather than on an average.
  • Comment ordering is Facebook's, not yours. Facebook decides which comments a signed-out visitor sees and in which order; there is no way to ask for oldest first, newest first or most liked.
  • Reels usually return no comments publicly, even when the reel shows a large comment count. Those posts are reported as having none rather than failing.
  • Some posts are not publicly viewable at all. Posts on Pages or in groups that require signing in, and links to posts that no longer exist, are reported as unavailable rather than returned empty — and are not charged for.
  • There is no search. You supply the post links; the actor cannot find posts by keyword, topic or Page.
  • Speed depends on the size of the job and on how quickly Facebook answers on the day. No fixed rate is promised.
  • Use the data lawfully. Facebook's terms prohibit automated collection, and comment text and author names are personal data. You are responsible for using what you collect in line with the source site's terms and with applicable privacy law — including erasure obligations and the rules on profiling.

FAQ

Do I need a Facebook account? No. Only public comments are collected, and no account is ever involved.

Does it need my login or any personal details? No. There is nothing to connect and nothing to sign in to.

Can I schedule it? Yes. Running the same post daily is a good way to catch comments as they arrive, since new comments are often the ones publicly reachable.

Is the data complete? No, and no tool can make it so without an account. Facebook stops a signed-out visitor at roughly 45 comments per post and never returns replies. Every row carries postDeclaredComments so the gap is visible in your own data.

Why is likesText text instead of a number? Because Facebook publishes 1.7K rather than an exact figure. Converting that to 1700 would invent precision that does not exist.

I asked for 50 comments and got 46. Why? That is the ceiling, not a failure. Facebook stopped returning more.

What about replies to comments? The count is reported; the text is not published to signed-out visitors, so it cannot be collected.