Facebook Comments Scraper: With Replies avatar

Facebook Comments Scraper: With Replies

Pricing

from $0.17 / 1,000 comments

Go to Apify Store
Facebook Comments Scraper: With Replies

Facebook Comments Scraper: With Replies

Comments and replies from public Facebook posts, reels and videos, with reactions by type. $0.25 per 1,000 comments. Newest first, back to a date you choose.

Pricing

from $0.17 / 1,000 comments

Rating

0.0

(0)

Developer

Luzi

Luzi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 minutes ago

Last modified

Share

Get the comments of public Facebook posts, reels and videos, with their replies and the replies to those, threaded. Every row carries the text, the time it was posted, the reactions by type (like, love, haha and the rest), the reply count, mentions and attachments such as GIFs, and the commenter's id, name, profile link and picture, plus the post's own text and counts. Newest first, back to a date you choose. No Facebook account, login or cookies needed.

Tested daily. Latest checks: 1,295 comments and replies from a Page post, a group post and a video in under 3.5 minutes; 1,076 from the last 12 hours of one post, newest first.

What does this Actor do?

You give it links to Facebook posts. For each post it reads the post's page, then its comments, newest first (or in the order you choose), and, if you ask, the replies under each comment. It saves one row per comment or reply until it reaches your limit, your date, or the end of the list.

Each row comes with:

  • the comment's text, the time it was posted (UTC), whether it was edited and its language
  • its reactions: the total and the count of each type
  • its number of replies, and for a reply: the comment it sits under, the comment or reply it answers, and that person's name
  • people and pages mentioned in it, and attachments such as GIFs, with their links
  • the commenter's id, name, profile link (when public), picture and verified badge
  • the post, as its page shows it: its owner, text, author (with link and picture), time and link, its reactions by type, comment and share counts, photos and videos, hashtags, mentions and links, the post it shares, and a group sale's item

Why use it?

  • Replies included, threaded. Turn on replies and each one links back to its comment and to the reply it answers, so you can rebuild every conversation.
  • Reactions by type. See which comments got laughs and which got anger, not just a total.
  • Only what's new. Give a date or a period ("6 hours") and the Actor reads newest first and stops at it, so a daily run reads only the newest comments.
  • Posts, reels and videos. Page and group posts, reels and videos, and permalink.php links.
  • Use the data anywhere. Download as JSON, CSV or Excel, or send it to your own tools through Apify's API and integrations.

How to use it

  1. Paste one or more post links into Post links.
  2. Optionally set Max comments per post, turn on Include replies, pick an Order, or fill in Only comments newer than.
  3. Click Start. When the run ends, open the Output tab to view the comments or download them.

A post's own link, as in your browser's address bar after you open the post:

  • a Page post: https://www.facebook.com/NASA/posts/pfbid02oiNe…
  • a group post: https://www.facebook.com/groups/1007033107457891/posts/1234567890123456/
  • a reel: https://www.facebook.com/reel/1557618349384047/
  • a video: https://www.facebook.com/watch/?v=1557618349384047
  • permalink.php?story_fbid=…&id=… links

A Page, profile or group link on its own is not a post: open the post and paste its link. Posts in private groups, and posts only friends can see, are not supported.

Input

FieldWhat it doesDefault
Post links (startUrls)The posts to read. Required.—
Max comments per post (maxCommentsPerPost)Stop after this many rows per post, replies included (to 50,000)100
Include replies (includeReplies)Also save the replies to each commentfalse
Order (sortOrder)newest, relevant (Facebook's default view) or allnewest
Only comments newer than (onlyCommentsNewerThan)A date, a time or a period such as 2 daysevery comment

Example input:

{
"startUrls": [
{
"url": "https://www.facebook.com/NASA/posts/pfbid02oiNe7Qv1J9vDhhYw6bLqyVpF5fmy28wisVPKGgo3mMEh1HzBburWxYM48ppR3WQgl"
}
],
"maxCommentsPerPost": 1000,
"includeReplies": true,
"onlyCommentsNewerThan": "1 day"
}

Output

One row per comment or reply. An example, with made-up values:

{
"comment_id": "1234567890123456",
"post_id": "1658876782274358",
"post_url": "https://www.facebook.com/NASA/posts/pfbid02oiNe7Qv1J9vDhhYw6bLqyVpF5fmy28wisVPKGgo3mMEh1HzBburWxYM48ppR3WQgl/",
"url": "https://www.facebook.com/NASA/posts/pfbid02oiNe7Qv1J9vDhhYw6bLqyVpF5fmy28wisVPKGgo3mMEh1HzBburWxYM48ppR3WQgl?comment_id=1234567890123456",
"text": "Beautiful shot!",
"created_at": "2026-10-17T05:18:46.000Z",
"depth": 0,
"thread_comment_id": null,
"parent_comment_id": null,
"reply_to_author_id": null,
"reply_to_author_name": null,
"author_id": "pfbid0AbCdEfGhIjKlMnOpQrStUv…",
"author_name": "Jane Doe",
"author_url": "https://www.facebook.com/people/Jane-Doe/pfbid0AbCdEfGhIjKlMnOpQrStUv…/",
"author_picture_url": "https://scontent.xx.fbcdn.net/…",
"author_type": "User",
"author_is_verified": false,
"reaction_count": 4,
"reactions": {
"like": 3,
"love": 1,
"care": 0,
"haha": 0,
"wow": 0,
"sad": 0,
"angry": 0,
"other": 0
},
"reply_count": 2,
"reply_count_visible": 2,
"edited": false,
"language": "en_XX",
"mentions": [],
"attachments": [],
"during_live_video": false,
"video_offset_seconds": null,
"post_owner_id": "100044561550831",
"post_owner_name": "NASA - National Aeronautics and Space Administration",
"post_text": "…",
"post_author_id": "100044561550831",
"post_author_name": "NASA - National Aeronautics and Space Administration",
"post_author_url": "https://www.facebook.com/NASA",
"post_author_picture_url": "https://scontent.xx.fbcdn.net/…",
"post_created_at": "2026-10-16T19:25:02.000Z",
"post_permalink": "https://www.facebook.com/NASA/posts/pfbid02oiNe7Qv1J9vDhhYw6bLqyVpF5fmy28wisVPKGgo3mMEh1HzBburWxYM48ppR3WQgl",
"post_comment_count": 1361,
"post_reaction_count": 122081,
"post_reactions": {
"like": 98000,
"love": 21000,
"wow": 2100,
"care": 600,
"haha": 300,
"sad": 50,
"angry": 31
},
"post_share_count": 7801,
"post_shared_text": null,
"post_shared_post": null,
"post_media": [
{
"type": "photo",
"id": "1234567890",
"url": "https://scontent.xx.fbcdn.net/…",
"width": 1080,
"height": 1350,
"image_text": "…"
}
],
"post_photo_count": 3,
"post_hashtags": [],
"post_mentions": [],
"post_links": [],
"post_sale": null,
"post_page_ad_library": { "id": "100044561550831", "is_business_page_active": false }
}
FieldWhat it holds
comment_idFacebook's id for the comment or reply
post_idThe post's id
post_urlThe post link the Actor read
urlA link to the comment
textThe text (empty for a GIF- or sticker-only comment)
created_atWhen it was posted, in UTC
depth0 for a comment, 1 for a reply, 2 for a reply to a reply
thread_comment_idFor a reply: the comment its thread sits under
parent_comment_idFor a reply: the comment or reply it answers
reply_to_author_idFor a reply: the id of the person it answers
reply_to_author_name… their name
author_idThe commenter's id
author_nameThe commenter's name
author_urlThe commenter's profile link (empty when it is not public)
author_picture_urlThe commenter's profile picture (the link expires after a while)
author_typeUser or Page
author_is_verifiedWhether the commenter has a verified badge
reaction_countReactions to the comment
reactionsReactions by type
reply_countReplies to the comment, as Facebook counts them
reply_count_visibleReplies Facebook shows to visitors
editedWhether the comment was edited
languageThe comment's language, as Facebook detects it
mentionsPeople, Pages and links tagged in the text, with their position
attachmentsAttachments such as GIFs, with their links
during_live_videoWhether it was written during a live video
video_offset_secondsOn a video: the moment of the video the comment was written at
post_owner_idThe id of the Page, profile or group the post belongs to
post_owner_name… its name
post_textThe post's text
post_author_idThe post's author
post_author_name… their name
post_author_url… their profile or Page link
post_author_picture_url… their picture
post_created_atWhen the post was posted, in UTC
post_permalinkThe post's own link, as Facebook gives it
post_comment_countThe post's comment count as Facebook shows it, replies included
post_reaction_countThe post's reactions
post_reactionsThe post's reactions by type
post_share_countThe post's shares
post_shared_textThe text of the post this one shares
post_shared_postThe post this one shares: its id, link, time, author and media
post_mediaThe post's photos and videos, with their links and sizes
post_photo_countHow many photos and videos the post has
post_hashtagsHashtags in the post
post_mentionsPeople and Pages tagged in the post
post_linksLinks written in the post
post_saleA group sale post's item: title, price, currency, sold or not
post_page_ad_libraryThe poster's Ad Library record: its id and whether it is active

Not included: who reacted, the commenter's friends or followers, and profile details beyond the above.

How much does it cost?

You pay for what you get:

  • $0.25 per 1,000 comments ($0.00025 a comment). A reply counts as a comment. Each is charged once per run.
  • No start fee, and nothing per post.

So 1,000 comments and replies from each of 4 posts cost $1. If you set a maximum cost for a run, the Actor stops when it reaches it and keeps every comment saved so far.

How long does a run take?

Expect about 350 comments and replies a minute. In testing, 1,295 rows from three posts took under 3.5 minutes, and 111 rows from two posts 25 seconds.

Good to know

  • You may get fewer comments than the post's count. Facebook's count includes replies and comments it does not show to visitors (hidden, filtered or deleted). Newest first reaches the most.
  • Replies: what visitors see. Facebook shows visitors most replies, and replies to replies inside the same thread. reply_count is Facebook's count, reply_count_visible what it shows.
  • Picture links expire. Profile pictures and attachments are signed links that stop working after some time. Download them soon after the run if you need them.
  • Post details vary by post kind. A regular post brings all of the post's fields; a reel or a video brings its text, author, time and, for a video, its counts. Fields a post's page does not show are empty.
  • Check your links first. A link that is not a Facebook post link stops the run before anything is read, and the message names it.
  • One post that cannot be read does not stop the run. The other posts carry on, and the run's status lists the posts that could not be read. The run fails only when no post could be read.
  • A date window sees new comments, not new replies under older ones. With Only comments newer than, the walk stops at the first older comment, so a reply posted today under last week's comment is not read.
  • One post under two links is read once. Its comments are saved under the first link; the second reads nothing new.
  • No comments is not an error. A post with no comments, or none newer than your date, saves nothing.

FAQ

Do I need a Facebook account or cookies? No. The Actor reads the comments anyone can see on the post.

Can I get the posts of a Page or group? Not with this Actor: it reads the comments of the posts you give it.

Can I run it from my own code, on a schedule, or with other apps? Yes. Like any Apify Actor, you can start it through the Apify API, run it on a schedule, and connect it to other apps with Apify's integrations and webhooks.

This Actor reads only comments that anyone can see without logging in. The results include commenters' names, ids, profile links and pictures, which are personal data protected by laws such as the GDPR. Only collect personal data when you have a legitimate reason to, and check Facebook's terms and the laws that apply to you. If you are unsure, ask a lawyer.

Support

Found a problem or missing a feature? Open an issue on the Issues tab and include the run's link.


This Actor is not affiliated with, endorsed by or sponsored by Facebook or Meta.