Facebook Comment Scraper
Pricing
from $1.40 / 1,000 results
Facebook Comment Scraper
Scrape every comment and reply from public Facebook posts, reels, videos and photos with no login or cookies. Get text, author, reactions, media, links and contacts. Rebuild threads, filter by date or keyword, bulk URLs. JSON for sentiment analysis and lead research.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Data WiKi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
๐ What is Facebook Comment Scraper?
Facebook Comment Scraper is a Facebook comment scraper that extracts every public comment and reply from Facebook posts, reels, videos and photos and saves each one as its own row. Just paste your post links, press Start and get text, author, time, reactions, attached media, shared links, mentions, hashtags, emails and phone numbers in JSON, CSV or Excel, without copying comments by hand and without a Facebook login. You may also know this kind of tool as a Facebook comment extractor.
- ๐ฌ Replies as real rows: every reply is saved on its own with
is_reply,depthandparent_comment_id, so you can rebuild whole threads. - ๐ Bulk links in one run: mix posts, reels, videos, photos and share links, including posts of pages, profiles and public groups.
- ๐ฏ Filters that keep only what you need: date window, keywords, minimum reactions or comments with media. Rows left out by a filter are not billed.
๐ก Need the posts of a whole group as well? Try the group posts and comments scraper.
โจ What can this Facebook Comment Scraper do?
- ๐ Scrape Facebook comments in three orders: most relevant, newest first, or all comments. As a Facebook post comment scraper and Facebook post comments scraper in one, it also scrapes reels, videos and photos.
- ๐งต Facebook comments scraper replies and reactions: replies and reaction counts (Like, Love, Haha, Wow, Sad, Angry, Care) are both on by default.
- ๐
Date filters with fixed dates or relative values such as
3 days. - ๐ค Keyword, reaction and media filters to keep only the comments you care about.
- โก Live rows: each comment appears in the Output tab as soon as it is read, so a stop or a spend limit keeps everything saved so far.
- โญ๏ธ Resumable runs: a capped run reports resume cursors, so a later run can continue where it stopped.
- ๐ Posts overview: one extra row per link with its status, rows collected and why collecting stopped.
- ๐ฅ Export the data in JSON, CSV, Excel, XML or HTML; the dataset works as an export Facebook comments tool for every link you enter.
- ๐ Use the API, schedules, webhooks and integrations with other apps.
๐ What data can this Facebook Comment Scraper extract?
๐ฌ Comment text (text) | ๐ค Author name, ID and profile (author_name, author_id, author_url) | ๐
Posting time (created_at, timestamp) |
๐งต Thread position (is_reply, depth, parent_comment_id, reply_to_name) | ๐ Reactions and breakdown (reactions_count, reactions_breakdown) | ๐ฌ Media, shared links and previews (media, shared_link, shared_link_preview, shared_post) |
๐ Links, hashtags and mentions in the text (urls, hashtags, mentions) | ๐ Emails and phone numbers written in the comment (emails, phones) | ๐ Post details (post_id, post_url, post_owner, post_comments_total) |
โ
Author badges and verified flag (author_is_verified, author_badges, is_post_owner) | ๐ผ๏ธ Author picture and gender when public (author_profile_picture, author_gender) | โฑ๏ธ Video second a comment points at (video_timestamp_sec) |
โ ๏ธ Note: some fields are empty by design.
author_genderis filled only when the profile shows it,video_timestamp_seconly exists for videos and reels,reactions_countandreactions_breakdownare present only when reactions are included, andpost_ownercan be empty on some posts.
Data Facebook Comment Scraper can't extract
- ๐ Private, deleted or login-only posts. They cannot be read and show a failed status in the Posts overview.
- ๐ Posts of private groups. Only public content is read.
- โญ Page reviews. This Actor reads comments, not reviews, so it is not a Facebook reviews scraper.
- ๐ฅ Whole groups with all their posts. Use the Facebook group data extractor for that, or paste single group post links here.
๐ฐ How much does it cost to scrape Facebook comments?
Facebook Comment Scraper uses pay-per-event pricing: you pay for the results it saves, with no subscription to the Actor. A result is one comment or one reply row in the dataset.
Base pricing
- Results (
main_result): charged once for every comment or reply row saved to the dataset. The Posts overview rows are not charged. - Actor Start (
apify-actor-start): a one-time start charge of $0.00005 per GB of memory (one event per GB, minimum one event), so $0.00005 per run at the configured 1024 MB.
Pricing by plan tier
| Plan tier | Results (per 1,000) |
|---|---|
| ๐ Free | 1,000 x $0.002 = $2.00 |
| ๐ฅ Bronze | 1,000 x $0.0018 = $1.80 |
| ๐ฅ Silver | 1,000 x $0.0016 = $1.60 |
| ๐ฅ Gold and above | 1,000 x $0.0014 = $1.40 |
Replies count as results, so a post with many replies produces more billable rows than its top-level comment count. Rows rejected by one of your filters are not saved and not billed. If you set a maximum cost for a run, the Actor stops cleanly when the limit is reached and keeps the rows saved so far.
Why pay-per-event?
- ๐ Transparent: you pay for what you use.
- ๐ Predictable: you can estimate the cost before you start.
- โณ No idle charges: waiting time is not billed.
๐ ๏ธ How do I use Facebook Comment Scraper to scrape Facebook comments?
Use it as a Facebook comment scraper online from your Apify account in six steps for an Apify scrape Facebook comments run, and the same steps let you scrape Facebook post comments from any public link.
- Create a free Apify account.
- Open Facebook Comment Scraper in the Apify Store (the Facebook comment scraper Apify page).
- Paste your post, reel, video or photo links into Post links (
urls). - Choose the comment order and
targetComments, turn replies and reactions on or off, and add filters if you need them. - Click Start and watch the log for progress.
- Open the Output tab, then download the data in JSON, CSV, Excel, XML or HTML or fetch it by API. Saved results are billed as in the Pricing section.
๐ก Tip: set
newerThanto7 daysto download Facebook comments by date for the last week.
โฌ๏ธ Input
The only required field is urls, a list of public Facebook links. Everything else is optional, and you can add one link or hundreds in the same run.
Here is a simple example input (two links, newest comments with replies, only comments that mention a keyword):
{"urls": ["https://www.facebook.com/CNN/posts/1510975140138256","https://www.facebook.com/reel/1397741784161219"],"orderingMode": "NEWEST","targetComments": 50,"includeReplies": true,"includeReactions": true,"newerThan": "2026-01-01","keywords": ["price", "shipping"]}
Open the Input tab for a full explanation of every field.
Comments per post (targetComments)
Counts top-level comments per post. Replies are saved on top and do not count towards this number. The form default is 10; use -1 (or 0) for everything. Start small to test, which keeps a Facebook comment scraper free of surprise costs. Good: 50 for a sample, -1 for a full export. Bad: leaving the default when you expect a complete export, which returns only 10 comments per post plus their replies.
Comment order (orderingMode)
MOST_RELEVANT, NEWEST or ALL. The default is ALL, which returns the most replies. Pick NEWEST when you work with a date window.
Replies per comment (maxRepliesPerComment)
0 keeps every reply that Facebook shows. A number above 0 keeps that many replies under each comment. The field is ignored when includeReplies is off.
Date, keyword, reaction and media filters
newerThan and olderThan accept YYYY-MM-DD or a relative value such as 3 days or 2 months. keywords keeps comments that contain any of the words or phrases, minReactions keeps comments with at least that many reactions, and onlyWithMedia keeps comments with a photo, GIF, sticker or video. Warning: a filter that nothing matches gives an empty result, and newerThan must be earlier than olderThan. Setting minReactions turns reactions on automatically.
Resume cursors (resumeCursors)
To continue a capped run, paste the resumeCursors object from the SUMMARY record of the earlier run, shaped as {"post link": "cursor"}.
Proxy (proxyConfiguration)
Optional. The default needs no setup: if requests get blocked, the Actor switches to a proxy automatically.
โฌ๏ธ Output
Results appear in the Output tab as one row per comment or reply. The tab also offers views: Comments and replies, Reply threads, Reactions, Authors, Media and links, Contacts in text and Post info, plus a Posts overview with one row per link you entered. A SUMMARY record holds the run totals and the resume cursors. No Facebook comment scraper extension is needed to download results. Export as JSON, CSV, Excel, XML or HTML, or use the dataset download to export Facebook comments free of extra software, and pick or leave out fields before exporting.
Example output (illustrative)
The values below are made up to show the shape of a row. They are not a real run.
{"post_url": "https://www.facebook.com/example-page/posts/1234567890","text": "Great video!","author_name": "Alex Example","comment_url": "https://www.facebook.com/example-page/posts/1234567890?comment_id=111","media": [],"shared_post": null,"shared_link": null,"reactions_count": 12,"replies_count": 4,"comment_id": "111","is_reply": false,"depth": 0,"parent_comment_id": null,"reply_to_name": null,"created_at": "2025-12-07T08:25:31.000Z","timestamp": 1765095931,"author_id": "1000000000001","author_url": "https://www.facebook.com/1000000000001","author_is_verified": false,"is_post_owner": false,"reactions_breakdown": {"Like": 10, "Love": 2},"mentions": [],"hashtags": [],"urls": [],"emails": [],"phones": [],"post_id": "1234567890","post_owner": "Example Page","post_comments_total": 114}
Output fields explained
| Field | Meaning |
|---|---|
๐ฌ text | The comment or reply text in its original language. |
๐ค author_name, author_id, author_url | Who wrote it. |
๐ reactions_count, reactions_breakdown | Total reactions and count per reaction type. |
๐งต is_reply, depth, parent_comment_id, reply_to_name | Thread structure: depth is 0 for a comment and 1 or more for replies. |
๐
created_at, timestamp | Posting time (ISO, UTC) and Unix time. |
๐ฌ media, shared_link, shared_link_preview, shared_post | Attachments and shared items. |
๐ urls, hashtags, mentions, mentions_count | Links, hashtags and tagged people or pages in the text. |
๐ emails, phones | Emails and phone numbers written in the comment text. |
๐ post_id, post_url, post_owner, post_comments_total | The post each row belongs to. post_comments_total is the total Facebook reports. |
โฑ๏ธ video_timestamp_sec | Video second a comment points at (videos and reels only). |
๐ค Export, download and threads
Choose CSV or Excel in the download menu to export Facebook comments to CSV or export Facebook comments to Excel, or pick JSON for Facebook comments to JSON. To export Facebook comments to Google Sheets, connect the dataset through an Apify integration. It also works as a Facebook comments downloader for any public link.
For a Facebook comment threads and replies export, keep includeReplies on and use the threads view. It lists comment_id, parent_comment_id, depth and reply_to_name so each reply sits under the comment it answers.
๐ฏ Use cases
- ๐ Sentiment and brand monitoring: run Facebook comments sentiment analysis on
text,reactions_countandcreated_at, or build a Facebook brand monitoring comments report for your team. - ๐ Giveaways and contests: a Facebook giveaway comment export gives you
author_name,author_urlandcreated_atto check entries and timing. - ๐งฒ Lead research: the
emailsandphonesfields hold contact details people wrote in their comments, which supports Facebook comment lead research. The Contacts in text view works as a Facebook comment email extractor, andauthor_namewithauthor_urlgives you a Facebook comment name extractor list from public comments. Check privacy rules before you contact anyone. - ๐ค AI and language data: clean rows suit Facebook comments for LLM training data or a vector store, using
text, thread fields and post fields. - ๐ก๏ธ Community moderation: build a Facebook comment moderation report with keyword filters, reaction counts and reply threads.
- ๐ Competitor and topic research: run it on public posts of other pages and groups to see what people react to. Reel links work like post links, so it also serves as a Facebook reel comments scraper.
๐ What are other tools for Facebook and social media data?
- Facebook group scraper: posts, comments, replies, reactions, authors, media, Buy & Sell listings and member counts from public Facebook groups. Use it to scrape Facebook group comments and to scrape Facebook group posts and comments together.
- Instagram hashtag scraper: public Instagram reels by hashtag or keyword with plays, likes, comments, caption and creator.
- Douyin search scraper: Douyin search results by keyword, hashtag or link with engagement data.
- Douyin profile scraper: public Douyin creator profiles with followers, posts and hashtags.
- ๐ Facebook is the site the comments come from, and the Apify platform docs explain datasets, schedules and integrations.
โ Frequently asked questions
How does Facebook Comment Scraper work?
You give it public Facebook links and options, and it returns one row per comment or reply. It opens each link, collects the comments in your chosen order, applies your filters and saves rows to the dataset as they are found, so you can watch them arrive in the Output tab.
Can I use a Facebook comment scraper without a login or cookies?
Yes. Public posts are read without a Facebook account, and unlike a Facebook comment scraper Chrome extension it needs no browser session of yours, so this works as a Facebook comments scraper no login tool and a Facebook comment scraper no cookies tool. Private, deleted or login-only posts cannot be read and show a failed status in the Posts overview.
Can I scrape Facebook comments for many posts at once?
Yes. Add one link or hundreds to urls; posts, reels, videos, photos and share links can be mixed in one run. Each link gets its own row in the Posts overview, and the same post given twice never produces the same comment twice.
What are the limits of Facebook Comment Scraper?
It reads only public content. When a filter rejects many rows, scanning one post stops after a fixed number of examined rows, and a run with a spend limit stops cleanly at that limit. The Posts overview shows why collecting stopped for each link.
Why am I getting fewer comments than expected?
Facebook may show logged-out visitors only part of some threads, and post_comments_total is Facebook's own number. Also check targetComments (form default 10), your filters, and the status and stop reason of the link in the Posts overview.
How do I continue a run that stopped early?
Copy resumeCursors from the SUMMARY record of the earlier run into the resumeCursors input of the next run. Posts that already finished need no cursor.
Is it free, and is it a browser extension?
No, it is not free of charge and not a browser extension. It runs in the cloud on Apify, so nothing is installed. You pay per saved comment as listed in the Pricing section, and you can export the dataset as JSON, CSV or Excel.
Can I integrate Facebook Comment Scraper with other apps?
Yes. Through the Apify platform you can connect it with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets and more, or use webhooks to react when a run finishes.
Can I use Facebook Comment Scraper as its own API, or with Python?
Yes. It works as a Facebook comments API through the Apify API and the apify-client packages for Node.js and Python (https://apify.com/data_wiki/facebook-comment-scraper/api). To scrape Facebook comments Python-style, use the client:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("data_wiki/facebook-comment-scraper").call(run_input={"urls": ["https://www.facebook.com/CNN/posts/1510975140138256"],"targetComments": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["author_name"], item["text"])
Unlike a Facebook comment scraper GitHub project that you host yourself, the Actor runs on Apify, and the code above only calls it.
Can I use Facebook Comment Scraper through MCP?
Yes. The hosted Apify MCP server (https://mcp.apify.com) lets AI agents find an Actor with search-actors, check it with fetch-actor-details and run it with call-actor.
Is it legal to scrape Facebook comments?
This Actor reads only public data that any visitor can see, without logging in. You are responsible for following Facebook's terms, privacy laws such as GDPR and CCPA, anti-spam rules and local laws, especially when you handle names, profile links, emails or phone numbers. Do not use the data to harass or spam people, and keep your request volume reasonable. This is not legal advice.
๐ฌ Your feedback and custom solutions
Found a bug or need another field? Open an issue on the Actor's Issues tab. Need a custom solution? Contact hello.datawiki@gmail.com.