You launched something. The post has 400 comments. Your boss asks "so, how did it go?" and the honest answer is "the vibes are mixed".
We can do better than vibes.
Disclosure up front: I built the comment scrapers and the repo used below. They're pay-per-result tools on Apify, and a test run costs a couple of cents.
The plan
- Pull every public comment from a Facebook or Instagram post (no login).
- Give each comment a sentiment and a short topic.
- Get a CSV plus a one-screen summary per post.
All the code is in social-comments-sentiment.
Step 1: get the comments
The comments come from two Apify Actors, one per platform: Instagram Comments Scraper and Facebook Comments Scraper. From Python it's one call (pip install apify-client):
import os
from apify_client import ApifyClient
apify = ApifyClient(os.environ["APIFY_TOKEN"])
run = apify.actor("monkey.d.scraping/instagram-comments-scraper").call(
run_input={"startUrls": [{"url": "https://www.instagram.com/p/DDIJAfeyemG/"}], "maxComments": 100},
max_total_charge_usd=0.05,
logger=None,
)
comments = list(apify.dataset(run.default_dataset_id).iterate_items())
Each row has the text, author, date, likes and a link to the comment. Facebook works the same way with facebook-comments-scraper, and also gives you replies.
While writing this I ran it with 10 comments: done in 3 seconds, cost $0.0018.
Price check, because it matters at scale: $0.18 per 1,000 comments on the Free plan, less on paid plans. The most used Instagram comment scraper on the Store charges $2.60 per 1,000 on the same plan. Same comments, about 14× less.
Step 2: sentiment that understands emoji (and Spanish)
First try: VADER, the classic free sentiment library. On a real Instagram post it found 9 positive comments out of 29. It read "❤️🙌🔥" as negative and had no idea what to do with Spanish. Fine for English tweets in 2014, not great for comment sections in 2026.
Second try: send the comments to Claude, 50 at a time, and ask for structured JSON:
{"results": [{"i": 0, "sentiment": "positive", "topic": "heart emojis"}]}
Same post: 19 positive, 8 neutral, 1 negative, 1 mixed. It gets emoji, other languages and sarcasm, and the topics are actually useful: "emoji reaction", "love for instagram", "ai generated content". Cost: roughly half a dollar per 1,000 comments with the default model, less with a smaller one.
The repo does both: Claude if you have an Anthropic key, VADER if you don't.
Step 3: the summary
python sentiment.py https://www.instagram.com/p/DDIJAfeyemG/
## https://www.instagram.com/p/DDIJAfeyemG/
29 comments: positive 19 (65%), neutral 8 (27%), negative 1 (3%), mixed 1 (3%)
Top topics: emoji reaction (5), laughing emojis (3), heart emojis (2), applause emojis (2)
You also get the most liked negative comments per post. That's usually where the real feedback is hiding.
What I'd use it for
- Comparing how two launches landed, with numbers instead of vibes.
- Reading a competitor's comments: what do their customers complain about?
- Feeding a weekly report, or an n8n workflow that writes to Google Sheets.
TL;DR
- Public comments only, no login, no browser on your side.
- A few cents per post with Claude, free with VADER.
- Everything is in the repo: social-comments-sentiment.
Questions, or a platform you want next? Comments are open. I read them, obviously.
Written with some help from an AI assistant. Code, prices and the test runs were checked by me.
Top comments (0)