mcpField
S
scraping-tiktok-comments

scraping-tiktok-comments

github.com/apidojo-ioData & databases1808 installsUpdated 24w ago
Repository

About scraping-tiktok-comments

A skill for collecting comments from TikTok video URLs and exporting raw data for sentiment analysis, community research, or product feedback extraction. It can include replies and limit the number of returned comments.

Key features

  1. 01Scrape comments from TikTok video URLs
  2. 02Optionally include nested replies
  3. 03Limit the number of comments returned
  4. 04Return comment text, authors, and engagement fields

Use cases

  1. 01Collect video comments for sentiment analysis
  2. 02Research discussions in TikTok communities
  3. 03Extract product feedback from comments

MCP support

Can run apidojo~tiktok-comments-scraper through Apify MCP.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill scraping-tiktok-comments

After installing, type/scraping-tiktok-commentsin Claude Code to confirm it loaded.

Details

From the project README

Scraping TikTok Comments

Exports all comments from any TikTok video URL. Returns the raw comment dataset for sentiment analysis, community research, or product feedback extraction.

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: Validate video URLs
- [ ] Step 2: Run tiktok-comments-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver comment 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:
{
  "videoUrls": ["https://www.tiktok.com/@user/video/123456"],
  "maxItems": 200,
  "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 '{"videoUrls": ["<url>"], "maxItems": 200}'

Save id as RUN_ID. Poll until status = SUCCEEDED:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'

Fetch results:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
Step 3: Handle Edge Cases
  • 0 comments: Video may have comments disabled or be private. Report to user.
  • Video deleted or unavailable: Actor returns error — remove URL from batch and notify.
  • Comment count less than expected: TikTok filters spam comments server-side; this is expected.

Output Format

# TikTok Comment Dataset
Video: <url> | Comments collected: N | Includes replies: YES/NO

| Comment ID | Author | Text | Likes | Replies | Timestamp |
|------------|--------|------|-------|---------|-----------|
| ...        | ...    | ...  | ...   | ...     | ...       |

Available fields: id, text, authorUsername, diggCount, replyCount, createTime,
isReply, parentCommentId

Troubleshooting

Comments disabled: Creator has disabled comments — no workaround. Truncated comments: Some comments may be cut off by TikTok's API; full text available via video page.

Comments

Markdown supported