Facebook Comments Analyzer (AI) avatar

Facebook Comments Analyzer (AI)

Pricing

from $0.50 / 1,000 analyzed comments

Go to Apify Store
Facebook Comments Analyzer (AI)

Facebook Comments Analyzer (AI)

Turn Facebook post and ad comments into a brand-ready report: objections to answer, mood weighted by likes, top questions as a ready FAQ, buying intent, complaints, spam share and reply drafts. Use a Facebook Comments Scraper dataset or post URLs. $0.80 per 1,000 comments. Free demo.

Pricing

from $0.50 / 1,000 analyzed comments

Rating

0.0

(0)

Developer

SignalSift

SignalSift

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

Turn the comments under your Facebook posts, videos, reels and ads into a report you can act on: the objections that hold buyers back, how your audience feels (weighted by likes, so the comments people agree with count more), the questions they keep asking as a ready FAQ, who wants to buy, what they complain about, what needs your attention right now, and reply drafts for the most liked questions and complaints. Every quote is copied word for word from a real comment.

Made for brands, ad buyers and agencies: see which objections to answer in the next ad creative, which questions belong on the landing page, and which comments need a reply before they cost you sales.

Sample report: audience mood by likes, comments that need attention and the ready FAQ

Open the full sample report: 40 fictional comments on an ad and a video of a demo coffee brand in four languages, with the objections to answer, the FAQ, requests, buying intent, themes, a daily trend, a post comparison and reply drafts.

No setup and no AI account needed. Run it with no input to get a free demo report on 40 fictional comments on an ad and a video of a demo coffee brand, in four languages, with objections, the FAQ, buying intent, themes, a daily trend, a post comparison and reply drafts.

What you get

πŸ›‘ Objections to answerThe doubts and complaints about price, quality, shipping, customer service and the product, weighted by likes, with quotes: answer them in your ad copy, on your landing page or in a pinned reply
πŸ’¬ Audience mood by likesPositive, neutral, mixed and negative shares, weighted by likes: one complaint with 2,000 likes counts for more than ten with none
🚨 Needs attention nowHarassment, threats, self-harm, product safety, legal threats and scams, such as accounts posing as your brand, with the reason and a link to each comment
❓ Top questions as a ready FAQThe questions your audience asks most, merged across languages, with counts, likes and quotes
πŸ’‘ RequestsWhat people ask you to make, bring back, restock or show next
πŸ›’ Buying intentComments that want to buy, ask for the price, a link or whether you ship to them, or say they ordered
πŸ‘πŸ‘Ž Praise and complaint themesTop themes with counts, likes, share of comments and up to 3 verbatim quotes each
🧹 Spam shareHow much of the thread is spam (money pitches, fake giveaway pages, self-promotion); spam is left out of the mood, themes and objections
✍️ Reply draftsShort, friendly drafts in the commenter's language for the most liked questions and complaints your Page hasn't answered, with placeholders like [price] or [link] instead of invented facts
πŸ“ˆ Comments by dayComment volume and the share of negative comments per day (per week for long threads), so you see when an ad starts to draw criticism
πŸ“Š Post comparisonSide-by-side table when you analyze several posts, for example two ad creatives, an ad against your organic posts, or your post against a competitor's
πŸ“„ Three outputsAn HTML report, a short JSON summary for code and AI agents, and one dataset row per comment

How to use it

  1. With post URLs: paste links to public Facebook posts, videos, reels or photos and click Start. Ads work too: open the ad, click its date and copy the link. Ad Library links don't work. We scrape the comments with Facebook Comments Scraper on your account first, then analyze them.
  2. With a dataset you already have: put the dataset ID from a Facebook Comments Scraper run in Dataset ID.
  3. Automatically after every scrape: open the scraper (or its saved task), go to Integrations, add Facebook Comments Analyzer (AI). The scraper's dataset is passed in automatically, so each scheduled scrape produces a fresh report.

Add Your Facebook Page (its name or link) to leave your Page's comments out of the numbers, the drafts and the charges, and to skip drafts for comments it already answered. The post's own Page is recognized from the post link when the link contains your Page's name or ID (facebook.com/yourpage/posts/…); otherwise, and for video, reel or share links, give your Page's name, link or numeric Page ID there. Turn on Include replies to see where your Page already answered, after reading what replies cost below.

Then open the Report tab of the run for the HTML report, or the Summary tab for JSON.

How much does it cost

You pay per result. Running the Actor itself costs you nothing extra: no compute or proxy charges.

EventFree & StarterScaleBusiness and up
Analyzed comments (per 1,000)$0.80$0.65$0.50
Report (per run)$0.05$0.05$0.05
Reply draft (each)$0.01$0.01$0.01

Never charged: the demo run, reactions and stickers (comments made only of emoji, stickers or tags, which still count in the totals and the daily trend), your Page's comments, comments we could not analyze, and runs that find no comments. Spam is analyzed and charged, so you can see how much of it there is.

Examples on the Free and Starter plans:

  • An ad with 1,000 comments (raise Max comments per post above its default of 500), about 800 of them with words: $0.64 + $0.05 + up to $0.25 of drafts = up to $0.94 ($0.79 on Free, where a run drafts up to 10 replies).
  • An agency reporting on 20 posts a month with 300 analyzed comments each, one run per post: 20 Γ— ($0.24 + $0.05 report) = $5.80, plus up to 20 Γ— $0.25 of drafts (25 per run): up to $10.80 a month ($7.80 on Free, where a run drafts up to 10 replies).
  • Apify's free $5 monthly credit covers about 5,000 analyzed comments a month from datasets you already have, with reply drafts off.

Reply drafts are on by default. Each run drafts replies to up to 25 unanswered questions and complaints (10 on the Free plan) at $0.01 each: up to +$0.25 per run on paid plans and up to +$0.10 on Free. To skip that cost, turn off Draft replies (draftReplies: false) or lower Max reply drafts (maxReplyDrafts).

Scraping is billed separately. If you give post URLs, Facebook Comments Scraper charges for the scrape on your account: $2.50 per 1,000 comments on the Free plan, down to $1.40 on Business, plus $0.001 per run.

  • Replies come on top of the per-post limit. Max comments per post counts top-level comments only: in our test, a post with 12 comments returned 510 replies, and the scraper bills each one. That is why Include replies is off by default, and why we cap the scraper's cost at Max comments to analyze comments at its Free-plan price.
  • The date filter is an add-on at $2.00 per 1,000 comments on Free. With Only comments posted since set, the scraper scrapes only the newer comments and bills its filter on top of the scrape. Leave the date empty to skip the add-on.

Free-plan runs analyze up to 1,000 comments and draft up to 10 replies each. Your run's spending limit is always respected: if it is lower than the full job, we analyze what fits and tell you in the status message.

Output

JSON summary (the OUTPUT record), shortened, from the free demo run on 40 fictional comments on an ad and a video of a coffee brand:

{
"demo": true,
"coverage": { "comments": 38, "analyzed": 31, "reactions": 7, "own": 2, "spam": 2, "skipped": 0 },
"overall": {
"mood": { "positive": 0.49, "neutral": 0.2, "negative": 0.31, "mixed": 0 },
"spamShare": 0.06,
"questions": [
{ "name": "Does it ship to Canada?", "count": 3, "likes": 89, "share": 0.1, "quote": "Do you ship to Canada?", "quoteUrl": null },
{ "name": "Is there a price without subscription?", "count": 2, "likes": 237, "share": 0.07, "quote": "How much is one bag if I don't subscribe?", "quoteUrl": null }
],
"requests": [{ "name": "Other content requests", "count": 1, "likes": 120, "share": 0.03, "quote": "Please do a video on how you pick the beans", "quoteUrl": null }],
"topComplaints": [{ "name": "Too expensive compared to supermarkets", "count": 3, "likes": 1612, "share": 0.1, "quote": "$24 a bag is way too expensive for a subscription", "quoteUrl": null }],
"buyingIntent": { "count": 7, "share": 0.24, "quotes": [{ "text": "How much is one bag if I don't subscribe?", "url": null, "likes": 210 }] },
"urgentCount": 2
},
"replies": [
{ "commentId": "demo-02", "commentUrl": null, "language": "en", "draft": "We hear you, $24 is a real investment for a bag of coffee. We'd love to share what goes into each roast and the options we offer, so please send us a private message and we'll walk you through it. β˜•" }
],
"objections": [
{ "topic": "price", "count": 3, "share": 0.1, "likes": 1612, "quote": "$24 a bag is way too expensive for a subscription", "quoteUrl": null },
{ "topic": "customer_service", "count": 2, "share": 0.07, "likes": 377, "quote": "there's no button anywhere", "quoteUrl": null }
]
}

objections lists up to five topics people object to (price, quality, shipping, customer_service and product), weighted by likes, each with its count, its share of the analyzed comments that are not spam, its likes and the most liked quote with its link. It is an empty list when nothing was analyzed or nobody objects, and it is left out when the run found no comments.

OUTPUT stays under 20,000 characters so an AI agent can read it in one call. On large runs it shortens per-post detail first, then leaves out the posts with the fewest comments (postsOmitted says how many) and the last reply drafts (repliesOmitted); if that is still not enough, the overall quotes go, then objections (extrasOmitted: true). The REPORT and the dataset always keep everything.

Dataset, one row per comment: post title and link, comment link, reply or not and the comment it answers, likes, number of replies, date, text (with the names of people replied to or tagged replaced by @user), whether it is your Page's or your Page answered it, analysis status (analyzed, reaction, own_comment or skipped), sentiment and score, topics, intents, phrases with verified excerpts, urgent flag and reason. Export it to Excel, CSV or JSON from the Storage tab.

How accurate is it

On a hand-labeled test set of 60 fictional Facebook comments on posts and ads of furniture, fashion, beauty, food, home and tech brands, in 6 languages, a fifth of them replies (2026-10-18):

CheckResult
Overall sentiment matches the label96.7%
Topics found (F1)0.91
Intents found (F1): question, request, praise, complaint, buying intent, spam0.96
Questions found100%
Spam found100%, no false alarms
Comments that need attention caught100%, with 1 false alarm in 60 comments
Quotes that are word for word from the comment100% (enforced by code: 98% of the AI's excerpts passed the check, the one that did not was dropped)

The AI only labels comments. Every count, share, ranking and trend is computed by code from those labels, so the numbers add up.

What it does not do: it does not read images, videos, stickers or the post itself, and it does not see comments hidden by privacy settings, only those Facebook shows publicly. It does not read Ad Library links: give the ad's own link instead (open the ad, click its date and copy the link). It never posts anything: reply drafts are for you to edit and post from your Page. AI labels can be wrong on sarcasm, slang or one-word comments, which is why every theme shows its quotes.

For AI agents and automations

  • Free demo: call it with {} to get a full sample report and JSON summary at no cost.
  • Minimal input: { "postUrls": ["https://www.facebook.com/<page>/posts/<post id>"] } or { "datasetId": "<dataset id>" }.
  • Read the result: the OUTPUT record is a short JSON summary designed to fit in one tool call (under 20,000 characters; with many posts, per-post detail is shortened first, and with many reply drafts only the first ones are kept): coverage, mood by likes, spam share, top questions, requests, praise and complaints with one quote each, buying intent, the daily trend, reply drafts, objections to answer and a link to the HTML report.
  • Keep the scraping bill small: leave includeReplies off unless you need whole threads, and set maxComments; the scraper's cost is capped at that many comments.
  • Never charged: no comments found, reactions and stickers, your Page's comments, and comments that could not be analyzed. The status message says why.
  • Works through Apify's MCP server, the Apify API and SDKs, and Make, Zapier or n8n.

FAQ

Which languages does it support? Comments in any language. Theme names are in the language you choose (reportLanguage, default English) and report headings are in English. Questions asked in several languages are merged into one FAQ entry. Quotes stay in each comment's own language.

Can I compare ads, or my Page with a competitor's? Yes. Give several post URLs (or a dataset with several posts), for example two creatives of the same campaign, and the report adds a post comparison table, with a summary per post in the JSON.

Does it collect names? No. Names are read only to replace them with @user and are never kept. Facebook writes the name of the person a reply answers into the reply. We replace every name we can recognize with @user before the AI sees the text. Profiles and pictures are never kept either. If you fill in Your Facebook Page, it is only matched against the comments and never saved in the results.

What counts as a reaction? A comment with no words: only emoji, a sticker, punctuation, links or tags, such as "😍😍" or "@user". Reactions are counted, shown in the daily trend, and never charged.

Why are replies off by default? Because of the scraping bill. Facebook Comments Scraper returns replies on top of the per-post limit and bills each one, and a busy post can have dozens of replies per comment. Turn on Include replies to analyze whole threads and to see which comments your Page already answered; the scraper's cost stays capped at Max comments to analyze comments.

Where is comment text processed? By the Anthropic API (Claude). SignalSift keeps nothing after the run; your results stay in your Apify storage.

Is it legal? It analyzes publicly available comments. You are responsible for how you use the results and for complying with the laws that apply to you, including GDPR when you handle personal data.

Something is wrong or missing? Open an issue on the Issues tab. We read every one.

Changelog

  • 0.1 (2026-10-18): First release. Post, video, reel, photo and ad links, datasets and integrations; objections to answer; audience mood weighted by likes; comments that need attention now; top questions as a ready FAQ; requests; buying intent; praise and complaint themes with verified quotes; spam share; reply drafts with placeholders; daily trend; post comparison; names in replies replaced by @user; your Page's comments left out and its answers recognized; HTML report and JSON summary; free demo.

SignalSift is not affiliated with or endorsed by Google, Amazon, TikTok, Meta or YouTube. Their logos only show which platform each Actor works with.