Social Media Sentiment Analysis avatar

Social Media Sentiment Analysis

Pricing

Pay per event

Go to Apify Store
Social Media Sentiment Analysis

Social Media Sentiment Analysis

Scrape comments from Instagram, Facebook, and TikTok posts. Get comment text, author, timestamps, and likes from any public post URL across all three platforms in one run.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does Social Media Comment Scraper do?

Social Media Comment Scraper extracts comments from Instagram, Facebook, and TikTok posts in a single run. Provide any public post URL and get structured comment data including text, author, timestamp, likes, and reply counts — plus post metadata and profile information. Supports posts, reels, and videos across all three platforms.

Use cases

  • Brand monitoring — Track what people say about your brand across Instagram, Facebook, and TikTok posts
  • Competitor analysis — Analyze audience reactions to competitor content across social platforms
  • Content research — Identify what topics, themes, or products generate the most engagement
  • Influencer vetting — Review comment quality and sentiment on influencer posts before partnerships
  • Market research — Gather consumer opinions from social media comments at scale

Why use Social Media Comment Scraper?

  • Three platforms in one — No need to run separate scrapers for Instagram, Facebook, and TikTok
  • Rich metadata — Post description, likes/comments counts, and profile info included with every comment
  • Structured output — Consistent data format across all platforms (same fields for every comment)
  • Simple input — Just paste post URLs and run. No login or cookies required
  • Batch processing — Process multiple posts from different platforms in a single run
  • Pay per result — Only pay for comments successfully scraped, no subscription required

What data can you extract?

Each comment includes the following fields:

FieldDescription
platformSource platform (instagram, facebook, tiktok)
postUrlURL of the post
postDescriptionPost caption/title
postTimestampWhen the post was published (ISO 8601)
postLikesCountNumber of likes on the post
postCommentsCountTotal comments on the post
profileNameDisplay name of the post author
profileUrlURL of the post author's profile
profileDescriptionBio/description of the post author
profileFollowersNumber of followers the post author has
profileFollowsNumber of accounts the post author follows
commentTextFull comment text
commentAuthorUsername of the commenter
commentTimestampWhen the comment was posted (ISO 8601)
commentLikesCountNumber of likes on the comment
repliesCountNumber of replies to this comment
parentCommentIdID of parent comment (for threaded replies)
sentimentSentiment label — coming soon
sentimentScoreSentiment confidence score — coming soon

How much does it cost?

This Actor uses pay-per-event pricing — you only pay for comments successfully scraped. No monthly subscription. All platform costs are included.

Price
Per run (start fee)$0.005
Per comment$0.004

Real-world cost examples:

ScenarioPostsCommentsCost
Quick check (1 Instagram post)120~$0.09
Medium analysis (3 posts, mixed platforms)3150~$0.62
Large batch (10 posts, 100 comments each)101,000~$4.01

How to scrape social media comments

  1. Go to the Social Media Comment Scraper on Apify
  2. Click Try for free
  3. Paste one or more post URLs into the Post URLs field
  4. Set Max comments per post (default: 100)
  5. Click Start and wait for results
  6. Download data as JSON, CSV, or Excel

Supported URL formats:

  • Instagram: https://www.instagram.com/p/CODE/, https://www.instagram.com/reel/CODE/
  • Facebook: https://www.facebook.com/PAGE/posts/ID
  • TikTok: https://www.tiktok.com/@user/video/ID

Input parameters

ParameterTypeDefaultDescription
postUrlsArray of strings(required)List of social media post URLs to scrape
maxCommentsPerPostInteger100Maximum comments to scrape per post (1–10,000)
includeRepliesBooleanfalseInclude threaded reply comments in output

Example input:

{
"postUrls": [
"https://www.instagram.com/p/DT-0F1SD0My/",
"https://www.tiktok.com/@nike/video/7546666568915094839"
],
"maxCommentsPerPost": 50
}

Output example

{
"platform": "instagram",
"postUrl": "https://www.instagram.com/p/DT-0F1SD0My/",
"postDescription": "NIKE MIND INTAKE SESSION\n\nAthlete:\nErling Haaland...",
"postTimestamp": "2026-01-26T17:00:04.000Z",
"postLikesCount": 61695,
"postCommentsCount": 433,
"profileName": "nike",
"profileUrl": "https://www.instagram.com/nike/",
"profileDescription": "",
"profileFollowers": 0,
"profileFollows": 0,
"commentText": "Very impressive! great",
"commentAuthor": "johndoe",
"commentTimestamp": "2026-01-27T10:47:27.000Z",
"commentLikesCount": 7,
"repliesCount": 0,
"parentCommentId": null,
"sentiment": null,
"sentimentScore": null
}

Tips for best results

  • Start small — Test with 20 comments per post first, then scale up
  • Public posts only — The scraper can only access comments on public posts
  • Mix platforms freely — Add Instagram, Facebook, and TikTok URLs in the same run
  • Rate limits — For large batches (1,000+ comments), the scraper handles rate limiting automatically
  • Comment availability — Some platforms limit visible comments. The actual count may be less than maxCommentsPerPost

Integrations

Connect Social Media Comment Scraper with your favorite apps using Apify integrations:

  • Google Sheets — Export comments directly to a spreadsheet
  • Slack — Get notified when scraping completes
  • Zapier — Trigger workflows based on new comment data
  • Make (Integromat) — Build automated pipelines with comment data
  • Webhooks — Send results to any HTTP endpoint
  • API — Access results programmatically (see below)

Using the Apify API

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/social-media-sentiment').call({
postUrls: ['https://www.instagram.com/p/DT-0F1SD0My/'],
maxCommentsPerPost: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/social-media-sentiment').call(run_input={
'postUrls': ['https://www.instagram.com/p/DT-0F1SD0My/'],
'maxCommentsPerPost': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

FAQ

How long does scraping take? A single post with 20 comments typically completes in under 30 seconds. Larger batches with multiple posts and hundreds of comments take 1-5 minutes depending on the platform.

Does this work with private accounts? No. The scraper can only access comments on public posts. Private or restricted posts will return an error.

What happens if a post URL is invalid? Invalid or unavailable posts return an error entry in the dataset with a descriptive message. Other posts in the batch continue processing normally.

Can I scrape comments from profiles or hashtags? Currently, only individual post URLs are supported. Provide the direct URL to each post you want to scrape.

Is sentiment analysis included? Sentiment analysis is coming soon. Currently, the sentiment and sentimentScore fields return null. Once enabled, each comment will be classified as positive, negative, or neutral with a confidence score.