Browser

extracting-tiktok-comments-for-research

Try it

Extracts and analyzes TikTok comments from any video or creator using apidojo's TikTok Comments scraper on Apify. Triggers when the user asks to: scrape TikTok comments from a video, analyze what viewers say about a TikTok post, extract comment data for sentiment analysis, find top comments on a viral TikTok video, collect TikTok user feedback from comments, build a dataset of TikTok community reactions, study audience sentiment on TikTok content, or research what a target audience cares about from TikTok comments. Returns commenter username, comment text, likes on comment, reply count, and timestamp. Ideal for market researchers, brand managers, content creators, and academic researchers.

What it does

Extracts and analyzes TikTok comments from any video or creator using apidojo's TikTok Comments scraper on Apify. Triggers when the user asks to: scrape TikTok comments from a video, analyze what viewers say about a TikTok post, extract comment data for sentiment analysis, find top comments on a viral TikTok video, collect TikTok user feedback from comments, build a dataset of TikTok community reactions, study audience sentiment on TikTok content, or research what a target audience cares about from TikTok comments. Returns commenter username, comment text, likes on comment, reply count, and timestamp. Ideal for market researchers, brand managers, content creators, and academic researchers.

The skill document

Extracting TikTok Comments for Research

Pulls all public comments from TikTok videos for audience sentiment analysis, product research, or competitive intelligence. Comments are the rawest form of consumer voice — unfiltered reactions at scale.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarray[]TikTok video URLs to scrape comments from
includeRepliesbooleanOptionalfalseInclude reply comments (nested)
maxItemsnumberOptionalUnlimitedMaximum comments to return
customMapFunctionstringOptionalJavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Identify target video(s) and research goal
- [ ] Step 2: Run tiktok-comments-scraper
- [ ] Step 3: Fetch and clean comment dataset
- [ ] Step 4: Analyze themes, sentiment, and top comments
- [ ] Step 5: Deliver research output

Step 1: Clarify Parameters

Ask the user for:

  • TikTok video URL(s) — direct links to specific videos (e.g., https://www.tiktok.com/@creator/video/[ID]) OR
  • Creator handle — pull comments from their most recent/viral videos
  • Max comments per video (default: 500; max: ~3,000)
  • Research goal — sentiment analysis, product feedback, audience profiling, or competitive intel
  • Date filter (optional — focus on recent comments only)

Tip for best research: Use 3-5 videos from the same creator or about the same topic for a reliable dataset.

Step 2: Run the Actor

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tiktok-comments-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tiktok-comments-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tiktok-comments-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

APIFY_TOKEN must be set in environment or .env file.

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~tiktok-comments-scraper"
Input:
{
  "postURLs": [
    "https://www.tiktok.com/@[handle]/video/[VIDEO_ID_1]",
    "https://www.tiktok.com/@[handle]/video/[VIDEO_ID_2]"
  ],
  "maxCommentsPerPost": 500,
  "includeReplies": false
}

REST API fallback:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tiktok-comments-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "postURLs": [
      "https://www.tiktok.com/@[handle]/video/[VIDEO_ID]"
    ],
    "maxCommentsPerPost": 500,
    "includeReplies": false
  }'

Wait for SUCCEEDED. Fetch dataset.

Step 3: Clean Comment Dataset

From raw dataset, extract per comment:

  • text — the comment text
  • author.uniqueId — commenter username
  • diggCount — likes on the comment
  • replyCommentTotal — how many replies this comment received
  • createTime — timestamp

Clean:

  • Remove empty or emoji-only comments (if doing text analysis)
  • Remove spam patterns (repeated text, links, self-promotions)
  • Remove the creator's own replies (identified by matching author.uniqueId)

Step 4: Analyze by Goal

Goal: Sentiment analysis Classify each comment as Positive / Negative / Neutral (use the same lexical method as the Twitter sentiment skill). Weight by diggCount — a liked comment reflects community agreement.

Goal: Product feedback Look for:

  • Feature requests: "I wish", "you should", "would be better if", "needs"
  • Pain points: "why doesn't it", "can't believe", "problem with", "doesn't work"
  • Specific product mentions: nouns that repeat across multiple comments

Goal: Audience profiling From commenter bios (if available) and comment language:

  • Identify audience demographics signals (age signals, geographic signals, interest signals)
  • Find what questions the audience asks most

Goal: Top comments Simply sort by diggCount descending. Top-liked comments represent the community's most agreed-upon reactions.

Step 5: Format Output

Output Format

# TikTok Comment Analysis
Video(s): [N] | Total comments analyzed: [N] | Date: [DATE]

## Source Videos
| Video | Creator | Views | Comments Extracted |
|-------|---------|-------|-------------------|
| [url] | @[handle] | [N] | [N] |

## Sentiment Distribution (if goal = sentiment)
Positive: [X%] ([N] comments) | Negative: [X%] | Neutral: [X%]
Weighted by likes — Positive: [X%] | Negative: [X%]

## Top 10 Most-Liked Comments
| # | Comment | Likes | Replies |
|---|---------|-------|---------|
| 1 | "[comment text]" | [N] | [N] |

## Key Themes in Comments
| Theme | Frequency | Avg Likes per Comment |
|-------|-----------|----------------------|
| [Theme 1] | [N] | [N] |
| [Theme 2] | [N] | [N] |

## Most Asked Questions
1. "[question text]" — asked by [N] commenters
2. "[question text]" — [N] commenters

## Common Complaints / Pain Points
1. "[pain point]" — [N] comments, [N] total likes

## Audience Signals
- Age/demographic indicators: [summary]
- Geographic signals: [summary]
- Interest signals: [summary]

Troubleshooting

Few comments returned: Video may have comments disabled or be relatively new. Try a different video. All comments in non-English: Add a language filter post-processing, or adjust the search to English-language TikTok creators. Spam dominates results: Apply a filter: remove comments shorter than 5 words AND with 0 likes, which tend to be bots.

Related skills

Scrapes comments from any TikTok video using apidojo's TikTok Comments scraper on Apify. Triggers when the user asks to: get all comments on a TikTok video, export TikTok comment data, scrape what viewers are saying on a TikTok post, fetch comment text and likes from a TikTok URL, collect TikTok comment threads for analysis, or download comments from a viral TikTok video. Returns commenter username, comment text, like count, reply count, and timestamp per comment. Ideal for sentiment analysts, brand monitors, and content researchers.

1 installs

Extracts and analyzes YouTube comments for audience research using apidojo's YouTube scraper on Apify. Triggers when the user asks to: extract YouTube comments for research, analyze what viewers say in YouTube comments, scrape comments from a YouTube video for sentiment analysis, find common questions in YouTube comments, research audience feedback from YouTube video comments, extract top comments from a YouTube channel for audience insights, or analyze viewer reactions from YouTube comment sections. Returns comment text, likes on comment, reply count, commenter username, and timestamp. Ideal for content creators, brand researchers, product teams, and audience insight analysts.

1 installs

Extracts comments from Instagram posts using apidojo's Instagram Comments Scraper on Apify. Triggers when the user asks to: get all comments on an Instagram post, scrape Instagram comment data, export comments from an Instagram URL, fetch comment text and engagement from Instagram posts, collect commenter usernames from a post, or download audience reaction data from Instagram content. Returns comment text, like count, reply count, commenter username, verified status, and timestamp. Ideal for sentiment analysts, community managers, and social media researchers.

1 installs

Monitors TikTok for brand mentions and product discussions using apidojo's TikTok scraper on Apify. Triggers when the user asks to: track mentions of a brand on TikTok, monitor TikTok hashtags for brand content, find TikTok videos talking about a product or company, see what TikTok says about a brand this week, track TikTok reactions to a product launch, find TikTok creators who mentioned a competitor brand, monitor brand sentiment on TikTok, or discover viral TikTok content about a specific brand or product. Returns creator handle, views, likes, comments, sentiment signal, and video caption excerpt. Ideal for brand managers, community teams, crisis communications, and product marketing teams.

1 installs

Analyzes TikTok hashtag performance, reach, and trending content using apidojo's TikTok scraper on Apify. Triggers when the user asks to: analyze a TikTok hashtag, find trending hashtags on TikTok in a niche, see which hashtags perform best for a content type, compare hashtag reach and total view counts on TikTok, identify viral content under a hashtag, research TikTok hashtag strategy for a campaign, find which hashtags a competitor uses most, or determine the best hashtags to use for a TikTok post. Returns hashtag name, total views, top video stats, top creators, and engagement benchmarks. Ideal for social media managers, content strategists, and TikTok growth consultants.

1 installs

Scrapes detailed TikTok user data and recent video history using apidojo's TikTok User scraper on Apify. Triggers when the user asks to: get all videos from a TikTok account, fetch a TikTok creator's recent posts and stats, export a TikTok user's video history, scrape all TikTok content from a specific creator, get TikTok post data by username, or collect video-level metrics from a TikTok profile. Returns per-video view count, likes, comments, shares, captions, and timestamps for a given account. Ideal for creator analysis, content auditing, and competitive benchmarking.

1 installs