Facebook Comments Scraper πŸ”₯$0.25/1K: Posts, Reels, Videos avatar

Facebook Comments Scraper πŸ”₯$0.25/1K: Posts, Reels, Videos

Pricing

from $0.24 / 1,000 results

Go to Apify Store
Facebook Comments Scraper πŸ”₯$0.25/1K: Posts, Reels, Videos

Facebook Comments Scraper πŸ”₯$0.25/1K: Posts, Reels, Videos

πŸ”₯ $0.25 per 1,000 comments, 10x cheaper, no cookies. Export comments & replies from posts, reels, videos & groups: author, profile link, date, reactions by type, photos & more.

Pricing

from $0.24 / 1,000 results

Rating

4.9

(7)

Developer

TheDoor

TheDoor

Maintained by Community

Actor stats

8

Bookmarked

1.5K

Total users

286

Monthly active users

5.5 hours

Issues response

3 days ago

Last modified

Features

Limited permissions

Share

Facebook Comments Scraper: Posts, Reels & Videos

Export comments and replies from any public Facebook post, reel or video. $0.25 per 1,000 comments, about 10x cheaper than the usual price, no login or cookies. Paste 1 or 100+ links and get one row per comment: author, profile link, text, exact time, reactions by type, reply count, photos and shared links.

Reels, videos, share links, group posts and photos all work. Download as CSV, Excel or JSON.

Step 1: paste any reel, video or post link. Step 2: export comments and replies to CSV, Excel or JSON

Who uses it

You want toExampleWhat helps most
🎯 Find buyers and leadsPeople asking "where can I buy this?" under a competitor's reelauthor_name and author_profile_url on every comment
πŸ“Š Read what customers thinkSentiment on your ad, launch post or a viral videoreaction_types, replies, Only new comments
🎬 Export reel and video commentsComments from trending reels for content research/reel/, /share/r/, /videos/, /watch/ and fb.watch links
🎁 Run giveaways and support threadsEvery new entry or question since the last checkOnly new comments on a schedule
πŸ€– Feed an AI tool, a sheet or a CRMDaily comment summaries, auto replies, lead listsJSON, CSV or Excel, API and MCP

What you get

πŸ”— Works withReels, videos, posts, photos, group posts and share links, from www., m. and web. Facebook. See every link format.
πŸ’― Links per runPaste 100+ links of any type into one run, with no fixed cap. Up to 20 are read at the same time. A link that fails is skipped and the others keep going.
πŸ’¬ RepliesReplies and replies to replies, each as its own row, with the id of the comment it answers. See how replies work.
πŸ“„ OutputOne row per comment, plus one row per reply if you turn replies on
πŸ“Š DataText, time, author name and profile link, reactions by type, reply count, photos, shared links and shared posts
♾️ How manyAll the comments Facebook shows a logged-out visitor: set Target comments to -1
⚑ Speed24 links in 29 seconds in our format test (12 November 2026). Up to 1,300 comments a minute across many links; 10,000+ comments from big posts in about 15 minutes. Measured at 2 GB memory.
πŸ”“ Account neededNone. Public content only.
πŸ’° Price$0.25 per 1,000 results ($0.24 on Scale and Business plans). A reply counts as one result. Apify's free $5 a month covers about 20,000 results.

Seven comments from a run on 6 November 2026, showing the main columns, with names and profile links blurred:

Facebook comments as rows in the Output tab

Tested one by one on 12 November 2026. Every format below gave comments.

Link typeExample
Reelhttps://www.facebook.com/reel/1081620267650247
Reel with trackinghttps://www.facebook.com/reel/1081620267650247/?mibextid=...
Reel share linkhttps://www.facebook.com/share/r/1AbCdEfGh2/
Videohttps://www.facebook.com/CNN/videos/1510975140138256/
Watch linkhttps://www.facebook.com/watch/?v=1510975140138256
Short video linkhttps://fb.watch/AbCdEfGh12/
Video share linkhttps://www.facebook.com/share/v/1AbCdEfGh2/
Page post, numberhttps://www.facebook.com/CNN/posts/1510975140138256
Page post, pfbidhttps://www.facebook.com/cnn/posts/pfbid0HhiQWriz...
Post share linkhttps://www.facebook.com/share/p/1AbCdEfGh2/
Permalinkhttps://www.facebook.com/permalink.php?story_fbid=1510975140138256&id=100064358273914
Story linkhttps://www.facebook.com/story.php?story_fbid=1510975140138256&id=100064358273914
Page id and post idhttps://www.facebook.com/100064358273914_1510975140138256
Post id onlyhttps://www.facebook.com/1510975140138256
Photohttps://www.facebook.com/photo/?fbid=2013556406001668&set=a.724234831600505
Old photo linkhttps://www.facebook.com/photo.php?fbid=2013556406001668
Group posthttps://www.facebook.com/groups/n8n.automation/posts/25205583905788653/
Group permalinkhttps://www.facebook.com/groups/n8n.automation/permalink/25205583905788653/
Mobile and web linkshttps://m.facebook.com/reel/..., https://web.facebook.com/share/v/..., https://facebook.com/reel/...

Paste links with https:// at the start. A link that starts with www. and no https:// gave no comments in our test.

Comments, replies and replies to replies

How comments, replies and replies to replies become rows

  • Turn on Include Replies and set Max replies per comment.
  • Every comment and every reply is one row. Comments come first, then replies.
  • depth says how deep a row sits: 0 a comment, 1 a reply, 2 a reply to a reply. Facebook shows at most 2 levels.
  • replyto_comment_id is the id of the row it answers, so you can rebuild every thread in Excel or code.
  • Each reply is one result, like a comment.

How to use it

  1. Paste your links into Post URLs, one per line. Reels, videos and posts can go in the same run.

  2. Set Target comments, the number of comments per link. Start with 50 to see the data.

  3. Turn on Include Replies if you want the answers under each comment.

  4. Click Start. The status line at the top of the run shows each step:

    Status lineWhat is happening
    Checking links: 3 of 10Each link is checked: is it public, and does it have comments?
    Reading comments: 4 of 9 links done, 1,250 results so farComments are being collected. Results appear in the Output tab as they arrive.
    Done: 2,400 comments and 310 replies from 8 of 10 links. 1 link had no comments. 1 link could not be read fully...The run is finished, with what it got and why any link gave nothing.
  5. Download the results as JSON, CSV or Excel.

Which Facebook scraper do you need?

You haveUseYou get
Links to posts, reels or videosThis ActorEvery comment and reply, one row each
Facebook Pages or profilesFacebook Page & Profile Posts ScraperTheir posts, with up to 100 comments per post inside each row
Public Facebook groupsFacebook Group Posts & Comments ScraperGroup posts, with up to 100 comments per post, and AI group search

Need the post links first? Run the Page or Group scraper, then paste their post URLs here.

How much does it cost?

You pay $0.25 for every 1,000 results on the Free and Starter plans, and $0.24 on Scale and Business. Each comment is one result, and each reply is one result. The run start fee is $0.00005 per GB of memory, which is almost nothing.

You collectCost
100 comments from each of 10 posts (1,000 results)about $0.25
100 comments from each of 10 posts, each with up to 10 replies (at most 11,000 results)at most $2.75
20,000 results, the amount Apify's free $5 a month coversabout $5

Three ways to keep the bill under control:

  • Target comments: the top-level comments per link. -1 reads the whole post, so check how many comments the post has first.
  • Max replies per comment: replies are extra results on top of Target comments. The most one link can give is targetComments x (1 + maxReplies).
  • Maximum cost per run: set it in the run options (maxTotalChargeUsd in the API). The run stops there, and the results it already collected stay in your dataset.

Follow a post and pay only for new comments

If you check the same post more than once, turn on Only new comments for the next run (onlyNewComments). Without it, every run reads the post again and charges you again for comments you already have. With it, the Actor remembers the newest comment you got from each post, and each run returns only what came after it.

Turn on Only new comments for the next run in the input form

  • First run: comments as usual, newest first.
  • Every next run: only comments posted since your last run. Reading stops at the first comment you already have, so the run also ends sooner.
  • No new comments: 0 results and no result fee, only the tiny run start fee. The status line says so.
  • A run fails partway: your place is kept, so the next run still picks up those comments.
One post with 2,000 comments, checked daily for 30 days, 50 new comments a dayResultsCost
Normal runs, the whole post every day60,000 or more$15 or more
With onlyNewComments3,450about $0.86

When it is worth using:

  • Your own ad or launch post: answer new questions and complaints while the post is running.
  • A competitor's announcement: collect new reactions day by day without paying for the old ones.
  • A viral or news post: follow the conversation as it grows.
  • A giveaway or support thread: pick up each new entry or question since the last check.
  • Sentiment over time: add only the new results to your sheet, with no duplicates to clean.

To set it up:

  1. Paste the post link and turn on Only new comments for the next run.
  2. Set Target comments to -1.
  3. Click Save as a new task, then add a schedule to it. Hourly suits a viral post; daily or weekly suits a quiet one.

Good to know:

  • Turn it on from the first run. Runs with the option off do not save your place.
  • A low Target comments loses nothing. If a post gets 500 new comments and Target comments is 100, each run returns the next 100 from where the last one stopped. Comments newer than those wait until the backlog is done. Use -1 to get everything new in one run.
  • New replies under old comments are not returned. You get replies under new comments only.
  • Your place is saved per Apify account and per post.
  • Your place is saved when a post finishes. If the timeout or your cost limit stops a run in the middle of a post, the next run reads that post from the last saved place, so those comments come back and are charged again.
  • It works together with commentsNewerThan. A comment must pass both.

What you give it

{
"postUrls": [
"https://www.facebook.com/CNN/posts/1510975140138256",
"https://www.facebook.com/reel/787423957218284"
],
"targetComments": 50,
"includeReplies": true,
"maxReplies": 10
}
FieldDefaultWhat it does
postUrlsrequiredFacebook links, always as a list, even for one link.
targetComments100Top-level comments per link, 1 or more. -1 gets them all. 0 stops the run with an input error. Replies are not counted here.
includeRepliesoffAlso get replies, including replies to replies.
maxReplies100Replies per top-level comment, all levels counted. -1 gets them all, 0 gets none.
orderingModeALLALL is Facebook's order with every comment. MOST_RELEVANT is the same without comments Facebook hides as likely spam. NEWEST is newest first.
includeReactionsonAdd the reaction total and the count for each type.
commentsNewerThanemptyOnly comments from a recent period, counted back from when the run starts: 30 minutes, 24 hours, 7 days. Leave it empty for all dates. The number must be above 0: 0 days stops the run with an input error. For today's comments use 24 hours.
onlyNewCommentsoffOnly comments posted since your last run on that post. See the section above.

With commentsNewerThan or onlyNewComments, comments come newest first and orderingMode is ignored.

Links it accepts: reels, videos, posts, photos, group posts and share links. See every link format it accepts.

What you get back

One row per comment or reply. This is a real row from a run on 6 November 2026, with the author's details hidden:

{
"post_url": "https://www.facebook.com/reel/787423957218284",
"id": "1229229358963577",
"comment_url": "https://www.facebook.com/reel/787423957218284?comment_id=1229229358963577",
"text": "And i have to use paper straw...",
"timestamp": 1760102853,
"comment_time": "2025-10-10T13:27:33.000Z",
"author_name": "...",
"author_id": "...",
"author_profile_picture": "...",
"author_profile_url": "...",
"image_url": null,
"media": [],
"shared_link": null,
"shared_link_title": null,
"shared_link_source": null,
"shared_post": null,
"reactions_count": 295,
"reaction_types": { "like": 290, "haha": 5 },
"replies_count": 10,
"is_reply": false,
"depth": 0
}

What each field means:

FieldIn plain words
post_urlThe link you pasted, so you can see which post the comment came from.
idThe comment's unique number. Use it to spot the same comment across runs.
comment_urlA direct link that opens this comment on Facebook.
textWhat the person wrote.
comment_timeWhen it was written, as a readable date and time in UTC.
timestampThe same time as a number, handy for sorting in code.
author_nameThe name of the person or Page that wrote it.
author_idThat author's Facebook id.
author_profile_urlA link to the author's profile. null when Facebook gives no public link.
author_profile_pictureA link to the author's profile picture.
reactions_countAll reactions on the comment added up.
reaction_typesThe same reactions split by type: like, love, haha, wow, care, sad, angry. Only types with a count appear; {} means no reactions.
replies_countHow many direct replies the comment has.
is_replyfalse for a comment, true for a reply.
depthHow deep it sits: 0 is a comment, 1 a reply, 2 a reply to a reply. Facebook shows at most 2 levels, so a reply to a level-2 reply is also 2.
replyto_comment_idOn replies only: the id of the comment or reply it directly answers (its direct parent).
image_urlThe photo attached to the comment, if any.
mediaEverything attached to the comment: photos, videos or stickers. [] means nothing is attached.
shared_linkA link the person shared in the comment.
shared_link_title, shared_link_sourceThat link's title and its website, for example youtube.com.
shared_postA Facebook post shared in the comment, with its link and text.

reactions_count and reaction_types are left out when includeReactions is off. Other fields with no value come back as null.

The Output tab also has ready views: top-level comments only, replies only, comments with images, and comments with links.

Coming from another scraper?

Most Facebook comment scrapers return the same data under other names. Rename these columns and your sheet or code keeps working:

Name in other scrapersName here
facebookUrl, inputUrlpost_url
commentUrlcomment_url
datecomment_time (and timestamp as a number)
profileNameauthor_name
profileUrlauthor_profile_url
profileIdauthor_id
profilePictureauthor_profile_picture
likesCountreactions_count, and by type in reaction_types
commentsCountreplies_count
threadingDepthdepth

What you may get here that others charge extra for or do not have: reactions split by type, photos and shared links inside comments, only new comments on repeat runs, and about 10x lower price.

When you get few or no results

The status line tells you how each link ended, and the Log tab lists the links under COMPLETED, NO_COMMENTS and FAILED. Links that give nothing add no rows to your dataset and cost nothing.

What you seeWhat it meansWhat to do
Input error: Comments newer than cannot be 0...0 days or 0 weeks would keep only comments from this very second. The run stops before reading, with no result fee.Use a time such as 24 hours or 7 days, or leave the field empty for all dates.
Input error: Target comments must be 1 or more...0 or a number below -1 asks for no comments. The run stops before reading.Use 1 or more, or -1 for all comments.
Input error: Add at least one Facebook post link...The list of links is empty.Paste at least one link.
1 link had no commentsThe post is readable and has no comments.Nothing to fix.
1 link had no comments in your time frameNothing was posted in the period you set, or the post has no comments.Widen Comments newer than, or leave it empty.
1 link had no new commentsWith onlyNewComments, nothing new since your last run.Nothing to fix.
1 link could not be read fullyThe post is private, deleted or blocked, or the link is not a post. Results read before the problem are kept.Open the link in a private browser window. If you can see the post there, run it again.
Fewer comments than the post showsFacebook's counter includes deleted comments and comments hidden from logged-out visitors.Nothing to fix.
The run stopped earlyIt reached the run timeout or your maximum cost per run.Raise the limit and run again.

What it does not do

  • Posts, not Pages. A link to a whole Page or group is not accepted. Get the post links first with the scrapers above.
  • Public content only. Private groups, friends-only posts and other restricted posts are skipped, and the other links still run.
  • It does not remove duplicates between links. Two links to the same post, such as a /posts/ link and a /watch/ link, are read and charged twice.
  • Reply counts can be higher than the replies you get. replies_count comes from Facebook and can include replies hidden from logged-out visitors.
  • A run has a time limit. The default is 1 hour with 4 GB of memory. A very big post may need a longer timeout: at 400 to 700 comments a minute, one hour reads about 24,000 to 42,000 comments. If the timeout is reached, the results collected so far stay in your dataset.
  • No email or phone numbers. Commenters' contact details are not returned.
  • It is not an official Facebook tool. theDoor is independent and is not affiliated with or endorsed by Facebook or Meta.

FAQ

Can I export Facebook comments to Excel or CSV? Yes. Every run's results download as CSV, Excel or JSON from the Output tab, or through the API.

Can I scrape comments from a Facebook reel or video? Yes. Paste /reel/, /videos/, /watch/?v=, fb.watch or /share/r/ and /share/v/ links. See every link format it accepts.

How do I get replies to comments? Turn on Include Replies. Each reply is its own row with depth and replyto_comment_id. See how replies work.

Why did I get fewer comments than the post shows? Facebook's counter also counts deleted comments and comments hidden from visitors who are not logged in. You get the comments Facebook shows to a logged-out visitor. See When you get few or no results.

Why did I get more rows than Target comments? Replies are extra rows on top of targetComments. Lower maxReplies or turn replies off.

Can I get every comment? Set targetComments to -1 to get all the comments Facebook shows a logged-out visitor.

Can I call it from code, Make, n8n or an AI agent? Yes. The API tab has Python, JavaScript and HTTP examples. In Python:

# pip install apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("thedoor/facebook-comment-scraper").call(
run_input={
"postUrls": ["https://www.facebook.com/CNN/posts/1510975140138256"],
"targetComments": 50,
},
max_total_charge_usd=0.50, # the most this run may spend
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["comment_time"], row.get("reactions_count"), (row.get("text") or "")[:80])

Is it legal? It reads only public comments. Comments and author names are personal data under GDPR and similar laws, so collect them only for a clear reason and keep only what you need.

Using an AI agent?

Actorthedoor/facebook-comment-scraper
The one required fieldpostUrls, a list of post, reel or video links
Cap the billSet maxTotalChargeUsd on the run, for example 0.50
Why a link gave nothingRead the run's status message: it counts links with no comments and links that failed
MCP linkhttps://mcp.apify.com/?tools=fetch-actor-details,thedoor/facebook-comment-scraper

Support

Open the Issues tab and paste the link you used and the run ID.