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

📥 Tiktok Comments Scraper extracts TikTok comment data fast—captions, usernames, timestamps, engagement & more. 🚀 Perfect for social listening, brand research, influencer insights & competitive analysis. 📊 Get actionable data in minutes!

- **URL**: https://apify.com/scraperoka/tiktok-comments-scraper.md
- **Developed by:** [Scraperoka](https://apify.com/scraperoka) (community)
- **Categories:** Social media, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 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.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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 🚀

Manually visiting videos to collect audience feedback wastes hours you don’t have. **TikTok Comments Scraper** pulls TikTok comment data for you—so you can analyze engagement patterns, extract text, and build datasets fast. Use this TikTok comment scraper (and TikTok comments export tool) for marketing, research, and growth teams that need reliable TikTok comment data scraper results at scale—often thousands of records in minutes.

***

### What You Get: Sample Output

Here’s a sample record from a single run:

```json
{
  "videoWebUrl": "https://www.tiktok.com/@voicer_nayem_69/video/7576465859598634258",
  "text": "Amazing transformation! 🔥",
  "createTimeISO": "2025-05-28T14:22:19.000Z",
  "diggCount": 124,
  "replyCommentTotal": 3,
  "uniqueId": "jane_creator",
  "uid": "1000123456789",
  "cid": "1234567890123456789",
  "avatarThumbnail": "https://p16-sign.tiktokcdn-us.com/tos-useast5-avt-123/abc123def456.png"
}
```

| Field | Type | What It Tells You |
|---|---|---|
| videoWebUrl | string | The TikTok video URL this comment belongs to (useful for joining back to video metadata) |
| text | string | The actual comment text you’ll analyze for themes, sentiment, or brand mentions |
| createTimeISO | string | When the comment was posted, in ISO format for time-series reporting |
| diggCount | number | How many likes the comment received (a quick engagement proxy) |
| replyCommentTotal | number | How many replies the comment has, so you can spot deeper discussions |
| uniqueId | string | The commenter’s username/handle for attribution and filtering |
| uid | string | The commenter’s user ID for deduping across runs |
| cid | string | The comment ID, which you can use as a stable key in your own pipelines |
| avatarThumbnail | string | A thumbnail image URL for UI preview or enrichment workflows |
| submittedVideoUrl | string | The original video URL you provided as input (handy when you pass multiple URL formats) |
| input | string | The video URL used as input for this scrape (useful for traceability) |

Export your dataset as JSON, CSV, or Excel — straight from the Apify dashboard.

***

### Why TikTok Comments Scraper?

There are a lot of ways to pull data from TikTok—here’s what sets TikTok Comments Scraper apart.

#### Scrapes directly into an Apify dataset

Your results are appended as they’re found, so you don’t have to wait for the full job to finish before reviewing outputs.

#### Built for comment-level analysis

This TikTok comments export tool focuses on the comment fields you typically need for analytics scraper workflows: text, timestamps, likes, reply totals, and user identifiers.

#### Controls for how much you collect per video

You can cap the number of comments per post, limit top-level comments, and control reply depth using the actor’s input parameters.

#### Resilient, production-friendly scraping

Built-in resilience helps keep runs stable and continues collecting what it can even when some requests fail.

***

### Configuring Your Run

Drop this into your `input.json` to get started:

```json
{
  "postURLs": [
    "https://www.tiktok.com/@voicer_nayem_69/video/7576465859598634258"
  ],
  "commentsPerPost": 100,
  "topLevelCommentsPerPost": 5,
  "maxRepliesPerComment": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

| Parameter | Required | What It Does |
|---|---|---|
| postURLs | ✅ | List of TikTok video URLs to scrape. You can pass single video URLs or a user’s video URLs. |
| commentsPerPost | ⬜ | Maximum number of comments to scrape per video. |
| topLevelCommentsPerPost | ⬜ | Maximum number of top-level comments to scrape per video. |
| maxRepliesPerComment | ⬜ | Maximum number of replies to scrape per comment. |
| ↳ proxyConfiguration | ⬜ | Proxy settings for the run (the actor expects this object at runtime). |

***

### Core Capabilities

#### Flexible video input for your research list

TikTok Comments Scraper accepts `postURLs` as an array, so you can run a single video test or a full batch of videos in one job—ideal for a TikTok comment crawler workflow.

#### Output designed for downstream analytics

Each scraped record includes comment text, timestamps (`createTimeISO`), engagement signals (`diggCount` and `replyCommentTotal`), and identifiers (`uid`, `cid`, `uniqueId`) that make TikTok comments sentiment scraper or theme-analysis pipelines easier.

#### Limits that help you control dataset size

Use `commentsPerPost`, `topLevelCommentsPerPost`, and `maxRepliesPerComment` to shape the dataset you need—whether you want quick snapshots or deeper discussion threads.

#### Live dataset writing for faster iteration

Results are pushed directly to the Apify output dataset as the run progresses, so you can monitor progress and review partial outputs sooner.

#### Built-in proxy support for more reliable runs

The actor includes built-in proxy support for reliable scraping when running larger batches or repeatedly.

In short: TikTok Comments Scraper is a practical TikTok comment extraction tool for turning public TikTok comment activity into structured data you can analyze.

***

### Who Gets the Most Out of This

Here’s how different teams put TikTok Comments Scraper to work:

**Marketing analysts** use it to scrape TikTok comments at scale, then identify what messages get the most likes, replies, and repeat themes across videos.

**Influencer and brand partnerships teams** use it to understand audience reaction by pulling commenter identifiers (`uniqueId`, `uid`, `cid`) and comment text for shortlist validation and audience fit.

**Recruiters and community managers** use a TikTok comments downloader approach to map active community members and engagement hotspots from a list of video links.

**Researchers and data scientists** run TikTok comment data scraper jobs to build time-series datasets using `createTimeISO`, then model engagement or extract topic patterns over time.

**Developers and automation specialists** integrate results into their workflows via scheduled runs and programmatic access, treating this TikTok comment scraper API-style dataset as an upstream data source.

***

### Step-by-Step: How to Use It

No coding needed. Here's how to run TikTok Comments Scraper from start to finish:

1. **Open the actor on Apify** — go to [console.apify.com](https://console.apify.com) and open **TikTok Comments Scraper**.
2. **Enter your inputs** — add your TikTok video links in `postURLs`, and optionally set `commentsPerPost`, `topLevelCommentsPerPost`, and `maxRepliesPerComment`.
3. **Configure proxy settings** — enable the actor’s proxy configuration for improved reliability on larger batches.
4. **Hit Run and watch the live log** — monitor progress as it processes each URL.
5. **View results in the dataset tab** — comments are written into the Apify dataset as they’re collected.
6. **Export as JSON, CSV, or Excel** — download the dataset in the format you need for analysis or reporting.

The whole process takes under 5 minutes to set up.

***

### Integrations & Export Options

Once your data is collected, TikTok Comments Scraper plugs directly into your existing workflow.

You can download results from the Apify dataset tab as **JSON**, **CSV**, or **Excel**, making it easy to load into spreadsheets, BI tools, or custom analysis environments.

For automation and routing, you can connect your run via **API access** (see [apify.com/docs/api](https://apify.com/docs/api)), and use **webhooks** to trigger downstream actions like sending results to your team tools. **Zapier / Make** (Integromat) can also be used for no-code routing, and you can set up **scheduled runs** to automate repeat scraping.

***

### Pricing & Free Trial

TikTok Comments Scraper runs on the Apify platform, which offers a **free tier** — no credit card required to get started. You’ll typically start with a small amount of platform credits to validate your workflow with a test run. For ongoing usage, Apify pricing is based on usage (compute on the Apify platform), and you can scale as your data needs grow. Start for free at [apify.com](https://apify.com) and scale when you're ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Rate limits & unstable responses | Resilient request handling with retries and fallbacks |
| Proxy reliability needs | Built-in proxy support to improve scraping stability |
| End-of-data scenarios | Stops once no more comments are returned |
| Error cases during extraction | Continues safely and records only what it can collect |
| Dataset usability | Outputs structured records directly into the Apify dataset |

**Limitations:** This actor works with **publicly available data**. Content that’s not accessible publicly or videos that don’t return comment data may produce fewer results than expected. For enterprise-scale requirements, you may need a tailored configuration.

For enterprise-scale runs, contact us to discuss custom configurations.

***

### Frequently Asked Questions

#### Is there a free plan or trial?

Yes. TikTok Comments Scraper runs on Apify, which offers a **free tier** so you can test before scaling. You can start with platform credits to validate your inputs and expected output volume.

#### Do I need to log in to TikTok to use this?

No. This actor is designed for scraping **publicly available data** from TikTok video pages and producing structured comment records for your analysis.

#### How accurate is the data?

The output reflects what’s returned from publicly available comment data, including the comment text (`text`), timestamps (`createTimeISO`), and engagement metrics like `diggCount`. Accuracy depends on what the platform exposes publicly for the target videos.

#### How many results can I get per run?

You control result volume using `commentsPerPost` (maximum comments per video). You can further shape the dataset with `topLevelCommentsPerPost` and `maxRepliesPerComment`.

#### How often is the data updated / how fresh is it?

The dataset is generated at run time. If you need fresher comment data, run the actor again on a schedule to refresh your exports.

#### Is this legal? Does it comply with GDPR / CCPA?

Use responsibly. This actor processes **publicly available data**, but it’s still your responsibility to comply with GDPR, CCPA, TikTok terms, and any applicable local regulations when collecting and storing the results.

#### Can I export results to Google Sheets or Excel?

Yes. You can export from the Apify dashboard as **JSON, CSV, or Excel** and then import into Google Sheets or other spreadsheet tools.

#### Can I run this on a schedule automatically?

Yes. You can set up scheduled runs on Apify to run TikTok Comments Scraper automatically and keep datasets fresh.

#### Can I access this via API?

Yes. You can retrieve results programmatically via the Apify API. Refer to the Apify developer documentation for details.

#### What happens if the actor hits an error?

The actor uses resilient handling and continues collecting results when possible. If requests fail or no data is returned, it stops based on the run flow and writes whatever comment records it can extract into the dataset.

***

### Need Help or Have a Request?

Got a question about TikTok Comments Scraper or want a new feature added? Reach out at <dataforleads@gmail.com>. We welcome requests like “keyword-based comment filtering” and “webhook notifications on completion.” The actor is actively maintained based on user feedback.

***

### Disclaimer & Responsible Use

*TikTok Comments Scraper is the fastest, most reliable way to build structured comment datasets from public TikTok videos—start your free run today.*

This actor collects **publicly available data** from TikTok. It does not access private accounts, login-gated content, or password-protected pages. You are responsible for complying with GDPR, CCPA, TikTok’s Terms of Service, and any applicable laws when using the results. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `postURLs` (type: `array`):

List of TikTok video URLs. Use single video URLs or user's video URLs.

## `commentsPerPost` (type: `integer`):

Maximum number of comments to scrape per video.

## `topLevelCommentsPerPost` (type: `integer`):

Maximum number of top-level comments to scrape per video.

## `maxRepliesPerComment` (type: `integer`):

Maximum number of replies to scrape per comment.

## Actor input object example

```json
{
  "postURLs": [
    {
      "url": "https://www.tiktok.com/@voicer_nayem_69/video/7576465859598634258"
    }
  ],
  "commentsPerPost": 100,
  "topLevelCommentsPerPost": 5,
  "maxRepliesPerComment": 0
}
```

# 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 = {
    "postURLs": [
        {
            "url": "https://www.tiktok.com/@voicer_nayem_69/video/7576465859598634258"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperoka/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 = { "postURLs": [{ "url": "https://www.tiktok.com/@voicer_nayem_69/video/7576465859598634258" }] }

# Run the Actor and wait for it to finish
run = client.actor("scraperoka/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 '{
  "postURLs": [
    {
      "url": "https://www.tiktok.com/@voicer_nayem_69/video/7576465859598634258"
    }
  ]
}' |
apify call scraperoka/tiktok-comments-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraperoka/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/WN3iet6EfESfEBlPg/builds/4OfrfGfW85adOoiKr/openapi.json
