Catalogskills.sh · apidojo-io

scraping-tiktok-comments

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.

Review advisedVerified hub794 installs

Savant verdict: Review advised

Security analysis or source-hub review identified patterns requiring attention.

Live evaluation

Not evaluated yet. Workspaces can request a live evaluation.

Security assessment

Scan pending.

Structure

  • 1 referenced file isn't in the packagescripts/run_actor.js. They may be binary, too large to catalog, or missing upstream.
  • The source hub's security checks flagged this skillGen Agent Trust Hub: warn (This skill facilitates TikTok comment scraping through the Apify platform. It includes features for remote JavaScript execution and processes untrusted user-generated content, which introduces risks related to dynamic code execution and indirect prompt injection.); Snyk: warn (Risk: MEDIUM · 1 issue)

SKILL.md

---
name: scraping-tiktok-comments
description: >
  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.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/tiktok-comments-scraper
---

# 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

| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `startUrls` | array | ✅ | `[]` | TikTok video URLs to scrape comments from |
| `includeReplies` | boolean | Optional | `false` | Include reply comments (nested) |
| `maxItems` | number | Optional | Unlimited | Maximum comments to return |
| `customMapFunction` | string | Optional | — | 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):**
```bash
# 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:**
```bash
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`:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
```

Fetch results:
```bash
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.
scraping-tiktok-comments · Skill catalog | Savant