# Tiktok Comments Scraper (`igview-owner/tiktok-comments-scraper`) Actor

Scrape TikTok video comments in seconds. This actor extracts comment text, likes, replies, and user data (username, nickname, region, followers) from any public TikTok video. Perfect for sentiment analysis, influencer research, and social media analytics.

- **URL**: https://apify.com/igview-owner/tiktok-comments-scraper.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Social media, Videos, Developer tools
- **Stats:** 28 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 💬 TikTok Comments Scraper

**Extract TikTok video comments with detailed user data, engagement metrics, and automatic pagination. Get comprehensive comment analysis including user profiles, verification status, social links, and engagement stats. Perfect for sentiment analysis, influencer research, trend monitoring, and social media analytics!**

### 📋 Table of Contents

- [🚀 Features](#-features)
- [🎯 Use Cases](#-use-cases)
- [⚡ Quick Start](#-quick-start)
- [📊 Input Parameters](#-input-parameters)
- [📤 Output Format](#-output-format)
- [🎨 Data Extracted](#-data-extracted)
- [📈 Performance & Reliability](#-performance--reliability)
- [💡 Best Practices](#-best-practices)
- [❓ FAQ](#-faq)
- [📞 Support](#-support)

### 🚀 Features

#### 💬 **Complete Comment Extraction**

- ✅ **No Login Required** - Scrape [TikTok](https://www.tiktok.com/) comments without an account
- ✅ **Automatic Pagination** - Extract multiple pages with cursor management
- ✅ **Batch Processing** - Efficient data extraction with structured output
- ✅ **Real-Time Data** - Get the latest comments as they're posted
- ✅ **Rich Metadata** - Comprehensive comment and user data extraction

#### 📊 **Comprehensive Data**

- ✅ **Comment Details** - Text, likes, reply count, timestamps, images
- ✅ **User Profiles** - Username, nickname, avatar, verification status, bio
- ✅ **Engagement Metrics** - Likes (digg\_count), reply counts, comment status
- ✅ **User Statistics** - Follower count, following count, total videos, favorites
- ✅ **Social Links** - Instagram, YouTube, Twitter profiles (when available)

#### 🔄 **Advanced Features**

- ✅ **Cursor Pagination** - Automatic multi-page extraction
- ✅ **Image Detection** - Identify comments with attached images
- ✅ **User Verification** - Check verified status of commenters
- ✅ **Regional Data** - Access commenter region information

### 🎯 Use Cases

| Use Case | Description | Benefits |
|----------|-------------|----------|
| 📊 **Sentiment Analysis** | Analyze comment sentiment on viral videos | Understand audience reactions, measure brand perception |
| 🎯 **Influencer Research** | Study engagement quality on influencer posts | Evaluate authenticity, identify genuine engagement |
| 📢 **Brand Monitoring** | Track brand mentions in video comments | Monitor reputation, respond to feedback |
| 🔍 **Competitive Intelligence** | Analyze competitor video engagement | Benchmark comment quality, discover audience insights |
| 📈 **Trend Monitoring** | Track comment trends on viral content | Identify emerging topics, monitor conversations |
| 🎓 **Academic Research** | Study social media interaction patterns | Collect data for research, analyze user behavior |
| 💼 **Agency Services** | Provide comment analytics for clients | Deliver engagement reports, track campaign performance |
| 🎵 **Content Feedback** | Gather viewer feedback on content | Improve content strategy, understand audience preferences |
| 🛡️ **Community Management** | Monitor comments for moderation | Identify issues, track community health |
| 📝 **Market Research** | Analyze consumer opinions from comments | Gather product feedback, identify pain points |

### ⚡ Quick Start

#### 1️⃣ **Basic Comment Extraction (~20 comments)**

```json
{
  "videoUrl": "https://www.tiktok.com/@khaby.lame/video/7563646594172636438",
  "maxComments": 1
}
```

#### 2️⃣ **Medium Extraction (~100 comments)**

```json
{
  "videoUrl": "https://www.tiktok.com/@username/video/1234567890",
  "maxComments": 5
}
```

#### 3️⃣ **Large Extraction (~1000 comments)**

```json
{
  "videoUrl": "https://www.tiktok.com/@username/video/1234567890",
  "maxComments": 50
}
```

### 📊 Input Parameters

#### Configuration Options

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `videoUrl` | String | ✅ | - | TikTok video URL to scrape comments from |
| `maxComments` | Integer | No | `1` | Number of API calls (1-50). Each call ≈ 20 comments |

#### 📝 **Parameter Details**

**videoUrl** (Required)

- Complete TikTok video URL
- Format: `https://www.tiktok.com/@username/video/VIDEO_ID`
- Supports standard TikTok video URLs
- Must be a public video

**maxComments** (Optional)

- Controls how many API calls are made
- Each API call fetches approximately 20 comments
- Range: 1 to 50 (≈ 20 to 1000 comments)
- Default: 1 (≈ 20 comments)

#### 📊 **Comments Count Reference**

| maxComments | Approximate Comments | Use Case |
|-------------|---------------------|----------|
| `1` | ~20 comments | Quick sampling |
| `5` | ~100 comments | Standard analysis |
| `10` | ~200 comments | Deep analysis |
| `25` | ~500 comments | Comprehensive research |
| `50` | ~1000 comments | Full extraction |

### 📤 Output Format

#### 💬 **Comment Data Structure**

```json
{
  "comment_id": "7563650000000000000",
  "video_id": "7563646594172636438",
  "comment_text": "This is amazing! 🔥",
  "likes": 1523,
  "reply_count": 45,
  "created_time": "2025-04-10T14:30:00.000Z",
  "created_timestamp": 1760162400,
  "status": 1,
  "has_images": false,
  "images": [],
  "user_id": "6800000000000000000",
  "user_unique_id": "username",
  "user_nickname": "Display Name",
  "user_signature": "Bio text here",
  "user_avatar": "https://p16-sign-va.tiktokcdn.com/...",
  "user_verified": true,
  "user_secret": false,
  "user_region": "US",
  "user_sec_uid": "MS4wLjAB...",
  "user_follower_count": 50000,
  "user_following_count": 200,
  "user_aweme_count": 150,
  "user_favoriting_count": 5000,
  "user_total_favorited": 2000000,
  "user_instagram": "instagram_handle",
  "user_youtube": "UC_channel_id",
  "user_youtube_title": "Channel Name",
  "user_twitter": "twitter_handle",
  "user_twitter_name": "Twitter Display Name"
}
```

### 🎨 Data Extracted

#### 💬 **Comment Information**

| Element | Description | Details |
|---------|-------------|--------|
| **Comment Text** | Full comment content | Complete text with emojis |
| **Likes** | Number of likes on comment | Engagement measurement |
| **Reply Count** | Total replies to comment | Thread depth indicator |
| **Created Time** | Comment timestamp | ISO format & Unix timestamp |
| **Status** | Comment visibility status | Active/hidden indicator |
| **Images** | Attached images | Image URLs if present |

#### 👤 **User Profile Data**

| Element | Description | Details |
|---------|-------------|--------|
| **Username** | TikTok unique\_id | @handle identifier |
| **Nickname** | Display name | User's chosen name |
| **Avatar** | Profile picture URL | Image format |
| **Verified** | Blue checkmark status | Boolean (true/false) |
| **Region** | User's country/region | Country code |
| **Bio** | User signature/bio | Profile description |

#### 📈 **User Statistics**

| Metric | Description | Use Case |
|--------|-------------|----------|
| **Follower Count** | Total followers | Measure influence |
| **Following Count** | Accounts followed | Network size indicator |
| **Video Count** | Total videos posted | Content activity level |
| **Favoriting Count** | Videos user liked | Engagement behavior |
| **Total Favorited** | Total likes received | Overall popularity |

#### 🔗 **Social Links**

| Platform | Data Extracted | Availability |
|----------|----------------|-------------|
| **Instagram** | Instagram handle | When linked |
| **YouTube** | Channel ID & title | When linked |
| **Twitter** | Handle & display name | When linked |

### 📈 Performance & Reliability

#### ⚡ **Speed & Efficiency**

| Metric | Performance | Details |
|--------|-------------|---------|
| **Response Time** | 1-3 seconds | Per API call |
| **Comments Per Call** | ~20 comments | Automatic pagination |
| **Max Extraction** | ~1000 comments | 50 API calls |
| **Delay Between Calls** | 1.5 seconds | Respectful rate limiting |

#### 🔄 **Reliability Features**

- ✅ **Auto-Retry Logic** - Handles temporary failures with exponential backoff
- ✅ **Error Recovery** - Failed requests continue to next page instead of stopping
- ✅ **Rate Limit Protection** - Built-in delays between API calls
- ✅ **Data Validation** - Ensures output quality and completeness

### 💡 Best Practices

#### ✅ **Recommended Usage**

1. **Start Small** - Begin with `maxComments: 1` to verify data format
2. **Scale Gradually** - Increase API calls based on your needs
3. **Monitor Regularly** - Set up scheduled runs for continuous tracking
4. **Analyze User Data** - Leverage user statistics for influencer identification
5. **Track Sentiment** - Use comment text for sentiment analysis
6. **Check Verification** - Filter verified users for credible insights
7. **Cross-Reference Social** - Use linked social profiles for deeper research

#### ⚠️ **Important Notes**

- Only public TikTok videos are supported
- Comment availability depends on video settings
- Some videos may have comments disabled
- User statistics are snapshots at extraction time
- Social links are only available when users have linked their accounts
- Pagination automatically stops when no more comments are available

### ❓ FAQ

#### **Q: Do I need a TikTok account to use this?**

**A:** No! This actor works without requiring any TikTok login or authentication. Simply provide a video URL.

#### **Q: How many comments can I extract?**

**A:** Each API call fetches approximately 20 comments. With `maxComments` set to 50, you can extract up to ~1000 comments.

#### **Q: Does this work with private videos?**

**A:** No, only public TikTok videos are supported. Private or restricted videos will return an error.

#### **Q: What if a video has comments disabled?**

**A:** The actor will complete successfully but return no comments with an appropriate message.

#### **Q: Can I get replies to comments?**

**A:** The reply\_count field shows how many replies each comment has. This actor extracts top-level comments.

#### **Q: What user data is included?**

**A:** Username, nickname, avatar, verification status, region, follower/following counts, video stats, and social media links (Instagram, YouTube, Twitter) when available.

#### **Q: Are the avatar URLs permanent?**

**A:** No, TikTok media URLs may expire after some time. Download and save images immediately if needed.

#### **Q: Can I detect bot comments?**

**A:** While there's no direct bot detection, you can analyze user statistics (follower count, video count, account age) to identify suspicious accounts.

#### **Q: Is this legal and compliant?**

**A:** This tool accesses publicly available data. Users must comply with TikTok's Terms of Service and applicable laws. Use responsibly and ethically.

#### **Q: What if the extraction fails midway?**

**A:** The actor handles failures gracefully — successfully extracted comments are saved even if later pages fail. Failed requests are logged with error details.

#### **Q: Can I sort comments by popularity?**

**A:** Comments are returned in TikTok's default order. You can sort the output data by the `likes` field for popularity ranking.

***

### Related Actors 🤝

Looking for more TikTok data extraction tools? Check out these related actors:

- [TikTok Story Viewer](https://apify.com/igview-owner/tiktok-story-viewer)
- [TikTok Trending Videos Scraper](https://apify.com/igview-owner/tiktok-data-scarper)
- [TikTok Media Downloader](https://apify.com/igview-owner/tiktok-media-downloader-api)
- [TikTok Search Videos Scraper](https://apify.com/igview-owner/tiktok-search-videos-scraper)
- [TikTok Search Profile Scraper](https://apify.com/igview-owner/tiktok-search-user-scraper)
- [TikTok Profile Details Scraper](https://apify.com/igview-owner/tiktok-profile-details-scraper)

***

### 🏷️ **Keywords & Tags**

`tiktok comments scraper`, `tiktok comment extractor`, `tiktok comment analysis`, `tiktok sentiment analysis`, `tiktok api scraper`, `tiktok data extraction`, `tiktok engagement metrics`, `tiktok user data`, `tiktok comment mining`, `tiktok social media monitoring`, `tiktok influencer research`, `tiktok competitive analysis`, `tiktok marketing tool`, `tiktok comment tracker`, `tiktok user profiles`, `tiktok comment downloader`, `tiktok scraper apify`, `tiktok automation`, `tiktok research tool`, `tiktok batch scraper`, `tiktok social listening`, `tiktok trend monitoring`, `tiktok comment analytics`, `tiktok data mining`, `tiktok video comments`, `tiktok comment data`, `tiktok user analytics`, `tiktok follower data`, `tiktok verification checker`, `tiktok social links extractor`, `tiktok comment sentiment`, `tiktok brand monitoring`, `tiktok community analysis`, `tiktok audience insights`, `tiktok content feedback`

***

### 🚀 **Get Started Now**

**Ready to extract TikTok comments with comprehensive user data?**

1. Click ["Try for free"](https://apify.com?fpr=ykgg9c) to test the actor
2. Enter a TikTok video URL
3. Get detailed comments with user profiles, engagement metrics, and social links instantly

**⭐ If this actor helps your workflow, please give it a star!**

***

*Built with ❤️ by Sachin Kumar Yadav using Apify Platform*

# Actor input Schema

## `videoUrl` (type: `string`):

📱 Enter the complete TikTok video URL or video ID to scrape comments from. Example: https://www.tiktok.com/@username/video/1234567890

## `maxComments` (type: `integer`):

🔢 Number of comments to extract (1-50). Each call fetches ~20 comments. For example: 1 = ~20 comments, 2 = ~40 comments, 5 = ~100 comments.

## Actor input object example

```json
{
  "videoUrl": "https://www.tiktok.com/@khaby.lame/video/7563646594172636438",
  "maxComments": 1
}
```

# Actor output Schema

## `overview` (type: `string`):

View complete comment data including text, likes, replies, user profiles, and engagement metrics.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "videoUrl": "https://www.tiktok.com/@khaby.lame/video/7563646594172636438",
    "maxComments": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/tiktok-comments-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "videoUrl": "https://www.tiktok.com/@khaby.lame/video/7563646594172636438",
    "maxComments": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/tiktok-comments-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "videoUrl": "https://www.tiktok.com/@khaby.lame/video/7563646594172636438",
  "maxComments": 1
}' |
apify call igview-owner/tiktok-comments-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,igview-owner/tiktok-comments-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/zJLgTHcelNg14roSC/builds/Jz0cuSDMvjRY3qNfb/openapi.json
