Comment mining for customer research: YouTube, TikTok, and Instagram with Apify
Social comments are noisy, emotional, repetitive, and often more useful than polished survey answers.
Surveys ask customers to summarize what they think. Comments catch people mid-reaction: complaining, comparing, asking follow-up questions, repeating product language, and pointing out missing features without being prompted.
Comment mining is the practice of collecting public social media comments — from YouTube, TikTok, Instagram, or elsewhere — and turning them into structured research data that product and marketing teams can tag, cluster, and query, instead of reading them one thread at a time. The workflow below uses Apify to do exactly that across YouTube, TikTok, and Instagram.
Quick answer
Use Apify comment scrapers to collect public comments from YouTube, TikTok, and Instagram. Normalize author, text, timestamp, likes, replies, post URL, and platform fields into one dataset. Then group comments by complaints, questions, feature requests, buying objections, and repeated language.
The comment mining stack
The collection layer uses CrawlerBros social Actors:
- YouTube Comment Scraper for YouTube video comments and reply threads.
- TikTok Comments Scraper for TikTok video comments and engagement metadata.
- Instagram Comment Scraper for Instagram post and reel comments.
The analysis loop:
\
Post/video URLs
-> platform comment scrapers
-> normalized comment table
-> tagging and clustering
-> research summary
\\
Use it for product research, creator research, campaign analysis, and competitor monitoring.
Key facts
- 3 platforms, 1 schema: YouTube, TikTok, and Instagram comments all normalize into the same author/text/timestamp/likes/replies/platform table.
- Replies change meaning: a complaint followed by a creator response reads differently than an unanswered complaint — keep reply threads intact.
- Tags beat sentiment scores: a negative comment can contain the best product idea in the dataset, so raw sentiment is often too blunt to act on.
- Start with high-signal posts: competitor launches, comparison videos, and complaint-heavy threads produce more usable research than scraping every comment on every post.
Actor configuration that matters
For YouTube, the Actor accepts videoUrls, which can be full YouTube URLs, youtu.be short links, Shorts URLs, or plain video IDs. maxComments controls top-level comments per video, includeReplies keeps reply threads, maxRepliesPerComment caps nested replies, and sortBy can be top or newest.
\json
{
"videoUrls": ["https://www.youtube.com/watch?v=aqz-KE-bpKQ"],
"maxComments": 500,
"includeReplies": true,
"maxRepliesPerComment": 10,
"sortBy": "top"
}
\\
For TikTok, use postUrls or postIds, then tune maxCommentsPerPost, includeReplies, requestDelaySecs, and maxRetries. For Instagram, the Actor accepts post, reel, TV, share, or shortcode URLs in postUrls, supports maxCommentsPerPost, reply expansion, optional cookies, and a saved sessionName.
What the output looks like
The normalized row is intentionally boring:
\json
{
"platform": "youtube",
"sourceUrl": "https://www.youtube.com/watch?v=aqz-KE-bpKQ",
"author": "viewer_handle",
"text": "Does this work without any equipment?",
"likes": 42,
"replyCount": 3,
"publishedAt": "2026-08-01T12:00:00Z",
"parentCommentId": null
}
\\
That boring schema is the whole point. It lets you compare YouTube, TikTok, and Instagram comments without pretending the platforms are identical. Platform-specific fields stay in the raw dataset, but the research layer uses the normalized fields.
In a small YouTube Comment Scraper run against the public Big Buck Bunny test video, the Actor returned five comments with commentId, text, authorName, authorChannelId, likeCount, replyCount, publishedTimeText, isHearted, isPinned, isReply, videoId, videoTitle, videoChannelName, commentUrl, and scrapedAt.
Why comments beat dashboards
Platform dashboards show aggregate metrics. Comments explain the metrics.
A video with 500,000 views can still fail if comments say the product is confusing. A post with average likes can be strategically valuable if comments are full of buying questions. A competitor launch can look successful until the comments reveal shipping delays, missing features, or pricing objections.
The raw text is the asset.
What to normalize
Each platform returns different fields, so normalize into a shared schema:
- platform
- source URL
- post or video ID
- author username
- comment text
- timestamp
- like count
- reply count
- parent comment ID
- is creator reply
- scraped timestamp
This makes cross-platform analysis possible. TikTok and YouTube comments are not identical, but a complaint about pricing is still a complaint.
The tags that matter
Tag comments into practical buckets:
- "How much does it cost?"
- "Where can I buy it?"
- "Does it work with X?"
- "I tried this and it failed"
- "Alternative product mentioned"
- "Feature request"
- "Shipping or availability issue"
- "Trust or legitimacy concern"
- "Praise with specific wording"
These tags feed product decisions, landing page copy, FAQ sections, and sales objection handling.
How to turn comments into answers
Don't start by asking an AI model for "sentiment." Sentiment is often too blunt. A negative comment can contain the best product idea in the whole dataset.
Instead, ask sharper questions:
- What are people trying to do?
- What confused them?
- What alternatives do they mention?
- What stopped them from buying?
- What phrase appears again and again?
- What did the creator or brand have to clarify?
Then build a short research memo. One section covers recurring complaints. One covers repeated questions. One covers competitor mentions. One covers language worth stealing for copy. The final section lists product or content ideas.
This is where cross-platform data helps. A complaint in YouTube comments may be detailed. The same complaint on TikTok may be shorter but more frequent. Instagram may show whether creators can explain the product visually. Together, the platforms give a better picture than any one source.
Example output
A comment mining report for a fitness app might surface:
- users ask whether workouts require equipment
- beginners feel intimidated by advanced thumbnails
- people compare the app against free YouTube routines
- comments praise short sessions under 20 minutes
- pricing objections appear mostly on Instagram ads
That's immediately useful for product pages, onboarding, and ad creative.
Where this helps most
This workflow is strongest when the team already has a market but needs sharper customer language. It helps before rewriting a landing page, launching ads, planning content, or prioritizing features.
It's also useful after a campaign. Instead of only asking whether a post performed well, ask why people reacted. Did they ask buying questions? Did they challenge the claim? Did they tag friends? Did they compare the product to a competitor? Those answers are more useful than engagement rate alone.
Production notes
Start with the posts that already have signal. Scraping every comment from every post wastes time. Start with high-engagement posts, competitor launch posts, comparison videos, or complaint-heavy threads.
Preserve replies. Replies change meaning. A complaint followed by a creator response is different from an unanswered complaint.
Do not treat likes as truth. Comment likes are useful, but controversial comments can attract engagement. Read high-like comments as signals, not verdicts.
Filter spam before analysis. Emoji-only comments, giveaway entries, and repeated bot phrases can distort results.
Respect platform and privacy boundaries. Collect only public comments and avoid storing unnecessary personal information.
Sentiment scores get overused early on. A negative score doesn't tell you what to do. Switching to tags like pricing objection, missing feature, buying question, and competitor mention makes the output useful for product and marketing teams.
Cost comparison
| Approach | Output | Weakness |
|---|---|---|
| Manual reading | Human context | Slow and hard to repeat |
| Native analytics | Aggregate metrics | Only for owned accounts |
| Social listening SaaS | Dashboards | Limited raw exports |
| Apify comment pipeline | Raw cross-platform text | Requires analysis step |
Use the current Pricing tabs on the YouTube, TikTok, and Instagram comment Actor pages for any final cost language — cost mainly depends on how many posts and comments you collect.
FAQ
Can I scrape YouTube comments with Apify?
Yes. CrawlerBros provides a YouTube Comment Scraper for public video comments.
Can comments be used for customer research?
Yes. Public comments are useful for finding objections, feature requests, competitor comparisons, and language customers actually use.
Do I need one scraper for every platform?
Usually yes. Each platform has different page structures and rate limits, so platform-specific Actors are more reliable.
What's the fastest way to try this?
Pick one competitor product launch, collect the top YouTube videos, TikTok posts, and Instagram reels discussing it, then normalize the comments into one sheet.
Try it yourself
Pick one competitor product launch. Collect the top YouTube videos, TikTok posts, and Instagram reels discussing it with YouTube Comment Scraper, TikTok Comments Scraper, and Instagram Comment Scraper. Run the comment scrapers and normalize the output into one sheet. The repeated questions and complaints will tell you what customers care about faster than a survey.



Top comments (0)