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

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.

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
customMapFunctionstringOptional—JavaScript 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

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

More from apidojo-io

Browse all skills

Identifies and tracks thought leaders and key voices in any industry on Twitter/X using apidojo's scrapers. Triggers when the user asks to: find the top voices in an industry on Twitter, identify thought leaders in a niche, discover who has the most influence in a topic area on X, find experts tweeting about a subject, build a list of influencers to engage with on Twitter, track who is gaining followers fastest in a category, or identify key opinion leaders in a field for PR or partnership outreach. Returns name, handle, follower count, engagement rate, bio keywords, and recent top tweets. Ideal for PR teams, community managers, and B2B content marketers.

by apidojo-io1 installs

Builds targeted B2B prospect lists from Twitter/X profiles and posts using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find Twitter users with a specific job title or keyword in bio, build a list of founders or executives on Twitter, find people tweeting about a topic for outreach, identify potential customers on X, scrape Twitter profiles matching an ICP description, find decision-makers in a specific industry on Twitter, or export a list of leads from Twitter bios. Returns name, username, bio, follower count, location, and recent tweet samples per prospect. Ideal for B2B SDRs, growth hackers, founder-led sales teams, and partnership managers.

by apidojo-io1 installs

Finds trending Twitter topics and conversations for content ideation using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find trending topics on Twitter for content, discover what is being discussed in a niche on X right now, identify Twitter conversations to join with content, find trending hashtags in an industry on Twitter, research what topics are generating engagement in a space on X, discover viral tweet themes for blog or video content, or find what your target audience is talking about on Twitter this week. Returns trending topics, tweet volume signals, top engagement posts, and content angle suggestions. Ideal for content marketers, social media managers, newsletter writers, and real-time content teams.

by apidojo-io1 installs

Finds YouTube micro-influencers and niche creators using apidojo's YouTube scraper on Apify. Triggers when the user asks to: find YouTube channels under 100k subscribers in a niche, discover emerging YouTube creators for sponsorship deals, find YouTubers covering a specific topic, identify high-engagement YouTube channels with smaller audiences, build a YouTube influencer outreach list, compare YouTube channel growth rates in a category, or find YouTube channels for affiliate or brand partnership programs. Returns channel name, subscriber count, total views, average views per video, and contact info. Ideal for brand sponsors, podcast networks, and affiliate marketing teams.

by apidojo-io1 installs

Finds YouTube channels suitable for brand sponsorships using apidojo's YouTube scraper on Apify. Triggers when the user asks to: find YouTube channels to sponsor, discover YouTubers who accept brand deals in a niche, identify YouTube influencers for mid-roll or integration sponsorships, find channels that already run sponsors in a product category, research YouTube sponsorship opportunities for a brand, identify high-CPM YouTube audiences for B2B or SaaS sponsorships, or build a YouTube outreach list for a sponsorship campaign. Returns channel name, subscriber count, avg views, engagement rate, niche, and sponsorship history. Ideal for brand partnerships managers, SaaS marketing teams, and sponsorship agencies.

by apidojo-io1 installs

Tracks brand sentiment across Twitter Reddit and TikTok simultaneously using apidojo's scrapers on Apify. Triggers when the user asks to: monitor brand reputation across social platforms, track how people talk about a brand on multiple channels, compare brand sentiment on Twitter vs Reddit vs TikTok, get a cross-platform brand health score, monitor a product launch reaction across social media, measure overall public sentiment for a brand, or build a multi-platform social listening dashboard for a brand. Returns per-platform sentiment distribution, cross-platform score, top positive/negative posts, and theme analysis. Ideal for brand managers, CMOs, PR teams, and reputation management agencies.

by apidojo-io1 installs