Facebook Comments Scraper avatar

Facebook Comments Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
Facebook Comments Scraper

Facebook Comments Scraper

Extract comments from public Facebook posts, videos, reels and photos without logging in: comment text, author, publish time, reactions by type, reply counts and optionally the replies themselves, ordered newest first, all comments or most relevant.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

Goldmine

Goldmine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

๐Ÿ’ฌ Facebook Comments Scraper โ€” Extract Comments from Public Facebook Posts

Facebook Comments Scraper

This Facebook comments scraper turns the comment section of any public post on Facebook into structured data. Give it post, video, reel or photo links and it returns the Facebook post comments with text, author, publish time, reactions broken down by type, reply counts and, when you ask for them, the replies themselves. Teams use it to read what an audience says about a launch, a campaign or a competitor, to moderate and answer at scale, and to build sentiment and research datasets without scrolling through threads by hand.

Paste as many posts as you like, choose how many comments you want from each and in which order, and get one dataset item per comment, ready to export to JSON, CSV or Excel. No Facebook account, cookies or API key are needed.


๐Ÿš€ Key Features

  • ๐Ÿ”— Posts, videos, reels and photos โ€” /posts/, /videos/, /reel/, /photo/, watch?v=, permalink.php and story.php links, with no limit on how many per run
  • ๐Ÿงพ Full comment record โ€” text, publish time, author with profile link and picture, reactions with a per-type breakdown, reply count, attachments
  • ๐Ÿงต Replies on demand โ€” includeReplies adds the replies under each comment as separate items with depth and parent_comment_id
  • ๐Ÿ”€ Three orderings โ€” all comments, newest first, or Facebook's "most relevant" selection
  • ๐Ÿ”ข Per-post limit โ€” maxItems caps comments for each post separately, so one viral post cannot crowd out the rest
  • ๐Ÿ›ก๏ธ No login required โ€” reads only what Facebook shows to logged-out visitors; Apify residential proxies by default, datacenter works for post, video and reel links
  • ๐Ÿ“ค Multiple export formats โ€” JSON, CSV, Excel, XML via the Apify dataset
  • ๐Ÿ” Schedulable runs โ€” run daily on the posts you are watching to keep their comment threads up to date

๐Ÿ‘ฅ Who Is This Actor For?

  • ๐Ÿ“ฃ Social media and community managers โ€” reading and answering what people say under a brand's posts
  • ๐Ÿ“ˆ Marketing analysts โ€” measuring sentiment and recurring themes across a campaign's posts
  • ๐Ÿ“ฐ Journalists and researchers โ€” collecting public reactions to announcements, events and public figures
  • ๐Ÿงฐ Developers โ€” feeding comment threads into moderation tools, dashboards or a CRM
  • ๐Ÿค– AI builders โ€” grounding a sentiment or summarisation agent in the actual comments under a post

๐Ÿ’ก Common Use Cases

  • Scrape Facebook comments under a product launch post and classify them by sentiment
  • Collect every comment on a competitor's campaign posts, with reactions, to see what resonates
  • Export the comment threads of a public figure's posts for a media study
  • Watch your own page's posts daily and flag comments that need an answer
  • Build a dataset of comments with replies to study how discussions develop

๐Ÿ”— Supported URL Types

URL TypeExample
Posthttps://www.facebook.com/zuck/posts/pfbid02XPBMPD53Khโ€ฆ
Videohttps://www.facebook.com/zuck/videos/2300161320399228/
Reelhttps://www.facebook.com/reel/1194067775494747/
Watch linkhttps://www.facebook.com/watch/?v=2300161320399228
Photohttps://www.facebook.com/photo/?fbid=10117964356277811&set=a.743613136151
Permalinkhttps://www.facebook.com/permalink.php?story_fbid=10116914317858221&id=4
m.facebook.com or web.facebook.com linkshttps://m.facebook.com/story.php?story_fbid=โ€ฆ&id=โ€ฆ

Group posts need a Facebook login and are skipped. Page and profile links are not post URLs; use the Facebook Posts Scraper to collect a page's posts first, then pass their post_url values here.


๐Ÿ“ฅ Input

FieldTypeDescriptionDefault
startUrlsArrayPublic Facebook posts to collect comments from. Paste post links such as https://www.facebook.com/zuck/posts/pfbid0โ€ฆ, video or reel links, photo links, or permalink.php and story.php links. One entry per post, and as many posts as you like.Required
maxItemsIntegerMaximum number of comments to scrape from each post (start URL). Replies count towards this limit when they are included.20
sortByStringWhich comments to collect and in what order: all (Facebook's default order), newest (newest first) or most_relevant (Facebook's selection, which leaves some comments out).all
includeRepliesBooleanAlso collect the replies under each comment. Replies are separate items with depth 1 and a parent_comment_id, and count towards maxItems.false
maxRepliesPerCommentIntegerWhen replies are included, how many to collect under each comment.10
proxyConfigurationObjectProxy configuration. Defaults to Apify residential proxies, which work for every supported link. Datacenter proxies are cheaper and work for post, video and reel links, but Facebook sends photo links to its login page from datacenter IP addresses.{ "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }

Example Input

{
"startUrls": [
"https://www.facebook.com/zuck/posts/pfbid02XPBMPD53KhnFbypJNZqKupd9yno64L9Vm1VCxppfq7bYh7ndk95fzDDvfgZEMXYkl",
"https://www.facebook.com/zuck/videos/2300161320399228/"
],
"maxItems": 20,
"sortBy": "all",
"includeReplies": false,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

๐Ÿ“ค Output

One dataset item per comment or reply:

FieldTypeDescription
comment_idStringFacebook's identifier for the comment
comment_urlStringLink that opens the post with this comment focused
textStringThe comment text; null for a comment that is only a sticker, GIF or photo
created_timeStringPublish time as an ISO 8601 timestamp (UTC)
depthNumber0 for a comment on the post, 1 for a reply
parent_comment_idStringFor a reply, the comment_id it answers; null on top-level comments
authorObjectid, name, url, profile_picture_url and is_verified of the person or page that commented
reactionsObjecttotal and a breakdown by reaction type (like, love, haha, care, wow, sad, angry)
replies_countNumberNumber of replies under the comment
attachmentsArrayPhotos, GIFs, stickers and links on the comment: type, url, thumbnail, width, height
post_idStringFacebook's id for the post the comment is on
post_urlStringLink to the post
post_comments_countNumberTotal number of comments on the post at the time of the run
input_urlStringThe start URL you passed in

Example Output

A real item from a run on the example input (2026-09-20), with the image URL query string removed:

{
"comment_id": "689395850406355",
"comment_url": "https://www.facebook.com/zuck/posts/pfbid02XPBMPD53KhnFbypJNZqKupd9yno64L9Vm1VCxppfq7bYh7ndk95fzDDvfgZEMXYkl?comment_id=689395850406355",
"text": "with the development of meta ai, hopefully in the future it will be more advanced and we will all be enthusiastic in working healthily, successfully and happily,",
"created_time": "2025-04-30T23:20:29.000Z",
"depth": 0,
"parent_comment_id": null,
"author": {
"id": "61560227881849",
"name": "Risma Veana",
"url": "https://www.facebook.com/maratti.manihuruk",
"profile_picture_url": "https://scontent.fntr11-1.fna.fbcdn.net/v/t39.30808-1/676460401_122215877660340929_5051027082001229586_n.jpg",
"is_verified": false
},
"reactions": {
"total": 18,
"breakdown": {
"like": 12,
"love": 4,
"care": 2
}
},
"replies_count": 3,
"attachments": [],
"post_id": "10116522560787531",
"post_url": "https://www.facebook.com/zuck/posts/just-shared-metas-quarterly-earnings-report-ai-continues-to-transform-everything/10116522560787531/",
"post_comments_count": 155102,
"input_url": "https://www.facebook.com/zuck/posts/pfbid02XPBMPD53KhnFbypJNZqKupd9yno64L9Vm1VCxppfq7bYh7ndk95fzDDvfgZEMXYkl"
}

You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML from the Apify Console or via the Apify API.


๐Ÿ’ฐ Pricing

This Actor is pay per event. Each comment or reply saved counts as one result at $0.0025 per result, so 1,000 comments cost $2.50 plus Apify platform usage. In runs on 2026-09-20 that platform usage came to about $0.14 per 1,000 comments on the residential default and about $0.08 on datacenter proxies. A free Apify account is enough to try it.


โ“ FAQ

What is the Facebook Comments Scraper?

It is an Apify Actor that reads the comment section of public Facebook posts, videos, reels and photos and returns the comments as structured data. Paste post links, set a limit per post, and run it from the Console, the API, or on a schedule.

Do I need an account, cookies or an API key?

No. The Actor reads only what Facebook shows to visitors who are not logged in.

Which posts work?

Public posts by pages and public profiles: brands, media outlets, public figures, businesses, organisations. Posts inside groups need a login and are skipped. A post that hides its comments from logged-out visitors returns none, and the run says so.

Do I need a proxy?

Yes. The residential default works for every supported link. Apify datacenter proxies are cheaper and, in runs on 2026-09-20, served post, video and reel links in full (200 comments from one post, no interruption), but Facebook sent photo links to its login page from datacenter IP addresses. Switch to datacenter when your list has no photo links.

How many comments can I get per post?

maxItems caps comments per post, and the Actor keeps collecting until it reaches your limit or the end of the thread. In a run on 2026-09-20 it collected 200 comments from one post in about a minute. Long threads are carried through to the end for you โ€” there is nothing to resume or stitch together.

What is the difference between the three orderings?

all returns every comment in the order Facebook lists them under "All comments". newest returns the most recent comments first. most_relevant returns the selection Facebook shows by default, which favours engaged comments and leaves the rest out, so it is the wrong choice when you want the whole thread.

Does it collect replies?

Yes, when includeReplies is on. Each reply is its own item with depth 1 and the parent_comment_id of the comment it answers. maxRepliesPerComment caps replies per comment, and replies count towards maxItems.

Why is text sometimes empty?

Comments that consist only of a sticker, a GIF or a photo have no text. The media is in attachments.

Can I schedule it or integrate it with my app?

Yes. Every Apify Actor exposes a REST API, webhooks, and integrations with Zapier, Make, Google Sheets and Slack, and can be called from an AI agent via the Apify MCP server.

This Actor accesses only publicly available pages. You are responsible for making sure your use complies with Facebook's terms of service and the laws in your jurisdiction, including any rules that apply to personal data.

What if Facebook changes and the Actor breaks?

Open an issue on the Actor's Issues tab with a post URL that fails, so the problem can be reproduced.


๐Ÿงฉ Part of the Facebook Scraper Suite

Goldmine's Actors for public Facebook data. Also try:

See every Goldmine Actor at apify.com/logical_scrapers.


๐Ÿ“ท Image Credit

Image credit: facebook.com


๐Ÿ“ฌ Contact & Support

  • Issues & feature requests: use the Issues tab on this Actor's page. Include a post URL that fails so it can be reproduced.
  • Email: coredev.dan@gmail.com
  • If this Actor saved you time, please leave a โญ rating on the Apify Store. It helps us keep it maintained.

This Actor is an independent tool for collecting publicly available data. It is not affiliated with, endorsed by, or connected with Meta Platforms, Inc.