# Douyin 抖音 Comments Scraper - Comments & Replies (`zen-studio/douyin-comments-scraper`) Actor

Collect Douyin (抖音) comments and reply text, with replies grouped under their parent comments. Get author names, likes, dates and available public locations. Accepts video URLs or IDs. Reply collection requires a paid Apify plan.

- **URL**: https://apify.com/zen-studio/douyin-comments-scraper.md
- **Developed by:** [Zen Studio](https://apify.com/zen-studio) (community)
- **Categories:** Social media, Videos, Automation
- **Features:** Limited permissions
- **Stats:** 1,235 total users, 89 monthly users, 96.7% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.99 / 1,000 comments

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Douyin Comments Scraper (抖音) | Comments, Replies, Author Profiles & Engagement (2026)

<p><a href="https://console.apify.com/actors/KmxOUB02ZqH7jxj07/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/douyin-comments-scraper-readme-hero-v1.png" alt="600 comments. 857 replies beneath them. Authors, likes and locations. Source-inspired Douyin comments artwork."></a></p>

<p><strong>From Zen Studio.</strong> Creators of <a href="https://apify.com/zen-studio/douyin-search-scraper">Douyin Search</a> and <a href="https://apify.com/zen-studio/rednote-search-scraper">RedNote Search</a>, which have ranked <strong>#1 for “douyin” and “rednote”</strong>, respectively, in Apify Store relevance results, with <strong>100,000+ combined lifetime runs</strong>.</p>

### Why choose this actor?

<ul>
<li><strong>Get reply text, already grouped by comment.</strong> One recorded run returned <strong>600 comments and 857 nested replies</strong> across 10 videos. Replies stay attached to the comment they answer, so you can read questions and follow-up reactions together.</li>
<li><strong>See who replied, with likes and public locations.</strong> Get author names, dates and like counts alongside the text. Available location labels, such as Guangdong or Shanghai, help you compare audience reactions by region.</li>
<li><strong>Collect replies without connecting a Douyin account.</strong> Enable <strong>Include replies</strong>, set separate limits for comments and replies, and collect from a list of videos. Each parent comment and its collected replies arrive together in one dataset row.</li>
</ul>

<p><a href="https://console.apify.com/actors/KmxOUB02ZqH7jxj07/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/douyin-comments-scraper-readme-cta-v1.png" width="240" height="46" alt="Collect your replies →"></a></p>

### Try a reply thread

<p><strong>Replies require a paid Apify plan.</strong> Open the actor’s <a href="https://console.apify.com/actors/KmxOUB02ZqH7jxj07/input">input page</a>, switch to JSON and paste this. It requests up to <strong>10 comments and 5 replies per comment</strong> from one video.</p>

```json
{
  "awemeUrls": [
    "https://www.douyin.com/video/7577614489533680959"
  ],
  "maxCommentsPerAweme": 10,
  "includeReplies": true,
  "maxRepliesPerComment": 5
}
```

<p><strong>Comment and reply charges:</strong> $5.99 per 1,000 collected items. Each parent comment and each nested reply counts as one item. Standard Apify charges also apply.</p>
<p>After the run, open <strong>Storage → Dataset</strong>. Expand <code>replies</code> on a comment to read its collected responses, or export JSON to keep the nesting. Replace the example URL with your own full Douyin video URL.</p>
<p><strong>Apify Free plan:</strong> up to 15 small preview runs, one video at a time, with replies disabled. Collected counts depend on available public content and your limits; threads may be partial and locations may be absent. The hero’s numbers describe a recorded batch, not a guaranteed result from this trial.</p>

<table>
<tr>
<td style="padding:10px 14px;background:#FF0050;color:#1C1917;font-size:13px;font-weight:700;border-radius:4px 4px 0 0">Zen Studio · Douyin research suite</td>
</tr>
<tr>
<td style="padding:6px;border:1px solid #E7E5E4;border-top:none;border-radius:0 0 4px 4px;background:#FFF0F4">
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #E7E5E4;border-radius:4px;background:#FFDDE5"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-KmxOUB02ZqH7jxj07-q5UF6PlGqZ-douyin-profile-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/douyin-comments-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Comments &amp; Replies</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">You are here</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #E7E5E4;border-radius:4px;background:#FFF0F4"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-3TJaaOJDU1AMiOoJM-Vu2eVr0P6N-douyin-profile-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/douyin-search-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Douyin Search</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Find videos by keyword.</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #E7E5E4;border-radius:4px;background:#FFF0F4"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-XUvg6Rx7A38E5fwap-oFpBlbZqTI-icon-512.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/snapchat-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Snapchat Scraper</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Spotlight comments</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #E7E5E4;border-radius:4px;background:#FFF0F4"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-bSlgoeK7kpcbT73gF-ajdm9GD5in-douyin-profile-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/zen-studio/douyin-video-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Video Downloader</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Save MP4s and post details.</span></span>
</td>
</tr>
</table>

#### Copy to your AI assistant

```
zen-studio/douyin-comments-scraper on Apify. Accepts awemeUrls: full douyin.com/video URLs, legacy iesdouyin.com/share/video URLs or numeric video IDs; short v.douyin.com links are unsupported. One dataset row per parent comment, with text, author identity, dates, likeCount and available public region. includeReplies=true collects replies nested in replies[]; requires a paid Apify plan. maxCommentsPerAweme defaults to 100 and caps at 5000; maxRepliesPerComment defaults to 100 and caps at 2000. Actual coverage may be partial. replyCount is the displayed total, replies.length is the collected count. Missing region is unknown, not overseas. Free plan: 15 small lifetime preview runs, one video, replies disabled. Comment and reply charges: $5.99 per 1000 items, each nested reply is one billable item; standard Apify charges apply. Call ApifyClient("TOKEN").actor("zen-studio/douyin-comments-scraper").call(run_input={...}), then read defaultDatasetId. Full spec: GET https://api.apify.com/v2/acts/zen-studio~douyin-comments-scraper/builds/default (Bearer TOKEN). Token: https://console.apify.com/account/integrations To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### How to Scrape Douyin Comments (抖音评论)

#### Basic: one video, top 100 comments

```json
{
  "awemeUrls": ["https://www.douyin.com/video/7577614489533680959"],
  "maxCommentsPerAweme": 100
}
```

#### Up to 500 comments with replies (paid plans)

```json
{
  "awemeUrls": ["https://www.douyin.com/video/7577614489533680959"],
  "maxCommentsPerAweme": 500,
  "includeReplies": true,
  "maxRepliesPerComment": 200
}
```

#### Batch: many videos at once, comments only

```json
{
  "awemeUrls": [
    "https://www.douyin.com/video/7577614489533680959",
    "https://www.douyin.com/video/7579679818335175483",
    "7610711200906065509",
    "https://www.iesdouyin.com/share/video/7584089129034761019/"
  ],
  "maxCommentsPerAweme": 250
}
```

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `awemeUrls` | string\[] | *required* | Douyin video URLs or aweme IDs. See accepted formats below. |
| `maxCommentsPerAweme` | integer | `100` | Top-level comments to fetch per video (1–5,000). Cost scales with the number of unique comments delivered. |
| `includeReplies` | boolean | `false` | Collect available replies under each top-level comment, up to your reply limit. Requires a paid Apify plan. Replies are nested inside `replies[]` on the parent row and billed at the same per-item price. |
| `maxRepliesPerComment` | integer | `100` | Cap on replies fetched under each top-level comment (1–2,000). Only effective when `includeReplies` is on. |

#### Accepted aweme formats

| Format | Example |
|---|---|
| Browser address bar | `https://www.douyin.com/video/7577614489533680959` |
| Legacy share link | `https://www.iesdouyin.com/share/video/7577614489533680959/` |
| Bare numeric aweme ID | `7577614489533680959` |

> Short app share links like `https://v.douyin.com/iAbc123/` are **not** supported. Open them in a browser first and paste the full `douyin.com/video/<id>` URL.

Duplicate aweme IDs (across formats) are deduped automatically, so you never pay twice for the same video's comments.

### What Data Can You Extract from Douyin Comments (抖音评论)?

One row per top-level comment. Each row carries **14 top-level fields** including the commenter's user object (4 fields nested under `user`). On paid plans, `includeReplies` adds collected replies under `replies[]`, with text, author details, dates, likes and available regions. Threads may be partial.

#### Output Example

Every top-level field is shown below. Long avatar URLs and the reply array are trimmed with `…`.

```json
{
  "id": "7578047136747717434",
  "text": "猪蹄爆米花，他们这么这么会吃[懵]",
  "createTime": 1764401595,
  "createDate": "2025-11-29",
  "likeCount": 429409,
  "replyCount": 8165,
  "isAuthorLiked": false,
  "isLiked": false,
  "region": null,
  "user": {
    "id": "74136233600",
    "secUid": "MS4wLjABAAAAXX8Vg_PQJIvUQivRx6JFGTQrI45qmEi7UZJSgb6dwlk",
    "nickname": "aiqi",
    "avatarUrl": "https://p11.douyinpic.com/aweme-avatar/tos-cn-i-0813c000-ce_oYItx6w3nEABEAJpA4AaQoIlfGAEeCEoXD39kF~tplv-dy-shrink:64:64.jpeg?from=2956013662"
  },
  "replies": [
    {
      "id": "7580014842238174006",
      "text": "[泪奔]也不是卤鸭脖卤鸭头",
      "createTime": 1764859738,
      "createDate": "2025-12-04",
      "likeCount": 2624,
      "replyCount": 0,
      "isAuthorLiked": false,
      "isLiked": false,
      "region": null,
      "user": {
        "id": "94540959329",
        "secUid": "MS4wLjABAAAA8fN97d6ydIoiGVTCU2_yv8gZWjNAaECgm-21MiXqPsU",
        "nickname": "_ 雷小姐",
        "avatarUrl": "https://p26.douyinpic.com/aweme-avatar/tos-cn-i-0813c001_740645b1532d4fc88fbcadc6585267cd~tplv-dy-shrink:64:64.jpeg?from=2956013662"
      }
    },
    {
      "id": "7606775985363927848",
      "text": "更不是干噎酸奶僵尸肉巨大串串[黑脸]",
      "createTime": 1771090555,
      "createDate": "2026-02-14",
      "likeCount": 748,
      "replyCount": 0,
      "isAuthorLiked": false,
      "isLiked": false,
      "region": null,
      "user": {
        "id": "102079005652",
        "secUid": "MS4wLjABAAAAlQzbs1EDN7DefE-lGo0SSUSd8oPkfUeq02PqOD38gtU",
        "nickname": "Cheese",
        "avatarUrl": "https://p26.douyinpic.com/aweme-avatar/tos-cn-i-0813_o0BZ1NvoAM4V0iAAgi2CA3CCifIAaEpge9DA5z~tplv-dy-shrink:64:64.jpeg?from=2956013662"
      }
    }
  ],
  "awemeId": "7579679818335175483",
  "awemeUrl": "https://www.douyin.com/video/7579679818335175483",
  "inputUrl": "https://www.douyin.com/video/7579679818335175483"
}
```

#### Field reference

| Field | Type | Notes |
|---|---|---|
| `id` | string | Comment ID (Douyin `cid`). Stable across runs. |
| `text` | string | Comment body (评论内容), including emoji codes like `[流泪]` Douyin renders as stickers. |
| `createTime` | integer | Unix seconds. |
| `createDate` | string | ISO date (`YYYY-MM-DD`) derived from `createTime`. |
| `likeCount` | integer | Number of likes on this comment. |
| `replyCount` | integer | Server-reported total replies on this comment. May exceed `replies.length` when a thread is long or rate-shaped by Douyin. |
| `isAuthorLiked` | boolean | True when the video's creator liked this comment. |
| `isLiked` | boolean | Reflects a viewer's own like state on the comment, which doesn't apply to extracted data, so effectively always `false`. |
| `region` | string | null | Public province or country label, when available. `null` means unavailable; it does not identify an overseas commenter. |
| `user.id` | string | Commenter's numeric Douyin user ID. |
| `user.secUid` | string | Commenter's stable `sec_uid` (use this as the cross-actor key; feeds into the [Douyin Profile Scraper](https://apify.com/zen-studio/douyin-profile-scraper)). |
| `user.nickname` | string | Display name. |
| `user.avatarUrl` | string | Signed CDN URL for the commenter's avatar (≈64×64). Short-lived; see FAQ. |
| `replies` | object\[] | Nested array of replies (回复) in exactly the same shape as the parent row. Empty when `includeReplies` is off or the comment has none. |
| `awemeId` | string | Parent video's aweme ID. |
| `awemeUrl` | string | Canonical video URL (`https://www.douyin.com/video/<id>`), or the original URL you supplied if it was already a full one. |
| `inputUrl` | string | The exact string you supplied; useful for joining results back to your source list. |

### Advanced Usage

#### Tracking the conversation under a viral video

```json
{
  "awemeUrls": ["https://www.douyin.com/video/7579679818335175483"],
  "maxCommentsPerAweme": 5000,
  "includeReplies": true,
  "maxRepliesPerComment": 200
}
```

Collect available comments and replies up to your chosen limits. A true `isAuthorLiked` flag identifies comments marked as liked by the video creator. It does not classify the rest of the discussion.

#### Sentiment / topic mining across a creator's catalog

```json
{
  "awemeUrls": [
    "https://www.douyin.com/video/7577614489533680959",
    "https://www.douyin.com/video/7579679818335175483",
    "https://www.douyin.com/video/7584089129034761019",
    "https://www.douyin.com/video/7610711200906065509",
    "..."
  ],
  "maxCommentsPerAweme": 500
}
```

Up to 10 videos run in parallel. Each row carries `awemeId` so you can group by video downstream. Pair with the Profile scraper to enumerate a creator's catalog first.

#### Audience location: who's commenting from where

```json
{
  "awemeUrls": ["https://www.douyin.com/video/7577614489533680959"],
  "maxCommentsPerAweme": 2000
}
```

Group comments with a populated `region` to compare reactions across public province or country labels. A missing label means unknown location; it is not evidence of overseas engagement.

#### Author engagement signal: what does the creator like back?

```json
{
  "awemeUrls": ["https://www.douyin.com/video/7577614489533680959"],
  "maxCommentsPerAweme": 1000,
  "includeReplies": false
}
```

Filter rows where `isAuthorLiked === true` to find comments marked as liked by the creator. This is a source-reported flag, not a sentiment classification.

#### Cross-actor pipeline: comments → commenter profiles

```json
{
  "awemeUrls": ["https://www.douyin.com/video/7577614489533680959"],
  "maxCommentsPerAweme": 500
}
```

Take `user.secUid` from every row and feed it into the [Douyin Profile Scraper](https://apify.com/zen-studio/douyin-profile-scraper) to enrich each commenter with follower count, bio, total likes received, gender, IP location, and verified status. The `secUid` is the canonical cross-actor key.

### Pricing: Pay Per Event (PPE)

**$5.99 per 1,000 items.** Each top-level comment counts as one item. Each reply nested under a comment counts as one item too. Standard Apify charges also apply.

| Comment/reply event | Per item | Per 1,000 items |
|-------|----------|-----------|
| `result` (one comment OR one reply) | $0.00599 | $5.99 |

Because replies are delivered **inside** the parent row's `replies[]` array (not as separate dataset rows), your dataset row count will be lower than your billed item count when replies are on. Set a per-run charge cap on your Apify run to control spend.

#### Free tier

Up to 15 small preview runs over the account lifetime, limited to the first video with replies disabled. The number of available comments varies. A paid Apify plan enables replies and larger collections.

### FAQ

**What is Douyin (抖音)?**
Douyin is ByteDance's Chinese short-video platform, the domestic counterpart of TikTok: same company and format, separate app and catalogue. Its comment sections are where Chinese audiences react, ask, and debate, which is exactly what this actor collects.

**How many fields are returned per comment?**
14 top-level fields per row, with `user` containing 4 fields nested (`id`, `secUid`, `nickname`, `avatarUrl`). On paid plans, `includeReplies` adds reply objects containing text, author details, dates, likes and available regions. Replies are nested under the parent and do not repeat its video context fields.

**How many comments can I expect per video?**
Set a limit of up to 5,000 comments per video. The actual collection may be smaller than that limit or the count displayed by Douyin. Availability varies by video; a requested limit is not a guarantee of complete coverage.

**Are pinned comments included?**
Pinned comments may appear among the comments returned by Douyin. The actor does not identify pinned status or guarantee their position.

**Are likes-on-replies returned?**
Yes. Each collected reply has its own `likeCount`. Replies sit in the parent comment’s `replies[]` array; reply objects do not contain another `replies` array.

**Does the order of comments matter?**
Comments are returned in the order Douyin surfaces them, typically a mix of recency, like count, and platform signals. The exact algorithm is server-side and not documented; if you need a strict sort, do it client-side after collection using `likeCount` or `createTime`.

**Can I get the full commenter profile (followers, bio, etc.)?**
Not from this actor. Each row carries the commenter's `user.secUid` and `user.id`; feed `secUid` into the [Douyin Profile Scraper](https://apify.com/zen-studio/douyin-profile-scraper) to collect available profile details such as followers and bio. Availability varies by account.

**How fresh is the data?**
Collection happens when the actor runs. Available comments, replies and counters can change between runs.

**Are the avatar URLs permanent?**
No. `user.avatarUrl` is a short-lived signed CDN URL that typically expires within 7–14 days. If you need long-term avatars, copy `user.secUid` and use the [Douyin Profile Scraper](https://apify.com/zen-studio/douyin-profile-scraper), which returns multiple avatar size variants per run, or download the image bytes during your own pipeline.

**Do I need a Douyin account or cookies?**
No. Paste video URLs or aweme IDs and run; no account, cookie export, or QR login is involved.

**How do I export the comments?**
The dataset downloads as JSON, CSV, Excel, XML, or HTML from the run's Storage tab, or via the Apify API. JSON preserves the nested `replies[]` threads best.

**Can I scrape direct messages / private comments?**
No. Public top-level comments and their replies only: anything publicly visible on the video page.

**Is it legal to scrape Douyin comments?**
The actor collects publicly visible comments only, nothing behind a login. You are responsible for complying with Douyin's terms of service and applicable data protection law (GDPR, CCPA, PIPL); comments carry personal data such as nicknames and province-level region.

**What's the maximum `maxCommentsPerAweme`?**
5,000 per video on paid plans. Available public comments and your spending limit may produce a smaller collection.

**Does the actor work for any Douyin video?**
Any public video. Private videos, age-gated content, and region-restricted videos may return zero or partial results depending on public availability.

### More Zen Studio scrapers for Chinese platforms

**🎬 Short-video & social**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-YOq90GHMVnTe8qtHO-UAXIIQ87Oj-zhihu-scraper-logo.png" alt="Zhihu 知乎 scraper" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Zhihu 知乎**
  - [Zhihu Scraper](https://apify.com/zen-studio/zhihu-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-wsZZkHvCzyyfZQdaJ-1H1H3xrBpO-weibo-scraper-logo.png" width="16" height="16" alt="Weibo 微博 scraper icon" style="vertical-align:middle;border-radius:3px"> **Weibo 微博**
  - [Weibo Search Scraper](https://apify.com/zen-studio/weibo-search-scraper)
  - [Weibo Comments Scraper](https://apify.com/zen-studio/weibo-comments-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-IUxnCCc76XwOarWRV-WqYveRCn2r-icon-512.png" width="16" height="16" alt="Sogou Baike 搜狗百科 scraper icon" style="vertical-align:middle;border-radius:3px"> **Sogou Baike 搜狗百科**
  - [Sogou Baike Scraper](https://apify.com/zen-studio/sogou-baike-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-euYaQMbH2g53W4ds2-Woud1TIQ7x-kwai-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Kwai (Brazil)**
  - [Kwai Search Scraper](https://apify.com/zen-studio/kwai-search-scraper)
  - [Kwai Comments Scraper](https://apify.com/zen-studio/kwai-comments-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-CYLXgIAUzINmhWnzw-Cov56uxElo-kuaishou-scraper-logo.jpg" width="16" height="16" alt="Kuaishou 快手 scraper icon" style="vertical-align:middle;border-radius:3px"> **Kuaishou 快手**
  - [Kuaishou Scraper](https://apify.com/zen-studio/kuaishou-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-3TJaaOJDU1AMiOoJM-Vu2eVr0P6N-douyin-profile-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Douyin 抖音**
  - [Douyin Search Scraper](https://apify.com/zen-studio/douyin-search-scraper)
  - [Douyin Profile Scraper](https://apify.com/zen-studio/douyin-profile-scraper)
  - [Douyin Video Scraper](https://apify.com/zen-studio/douyin-video-scraper)
  - [Douyin Transcripts Scraper](https://apify.com/zen-studio/douyin-transcripts-scraper)
  - [Douyin Creator Rankings Scraper](https://apify.com/zen-studio/douyin-xingtu-rankings-scraper)
  - [Douyin Live Recorder](https://apify.com/zen-studio/douyin-live-recorder)
  - [Douyin Hot Search Scraper](https://apify.com/zen-studio/douyin-hot-search-scraper)
  - [Douyin Product Search Scraper](https://apify.com/zen-studio/douyin-product-search-scraper)
  - [Douyin User Search Scraper](https://apify.com/zen-studio/douyin-user-search-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-3UkyCcaAQLuQPa2DB-nKbW8d285P-douyin-profile-scraper-logo.png" width="16" height="16" alt="TikTok scraper icon" style="vertical-align:middle;border-radius:3px"> **TikTok**
  - [TikTok Lookalike Search](https://apify.com/zen-studio/tiktok-lookalike-search)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-mHKEEgoDqr6btQQer-fUs5ZquIeN-xiaohongshu-search-scraper-logo-square.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **RedNote 小红书**
  - [RedNote User Profile Scraper](https://apify.com/zen-studio/rednote-user-profile-scraper)
  - [RedNote Search Scraper](https://apify.com/zen-studio/rednote-search-scraper)
  - [RedNote Comments Scraper](https://apify.com/zen-studio/rednote-comments-scraper)
  - [RedNote Product Search Scraper](https://apify.com/zen-studio/rednote-product-search-scraper)
  - [RedNote Note Detail Scraper](https://apify.com/zen-studio/rednote-note-detail-scraper)
  - [RedNote Product Reviews Scraper](https://apify.com/zen-studio/rednote-product-reviews-scraper)
  - [RedNote Live Recorder](https://apify.com/zen-studio/rednote-live-recorder)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-dexCSKEZtKS8hg4fT-lD4weyiYga-shigua-____-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Xigua 西瓜视频**
  - [Xigua Video Search Scraper](https://apify.com/zen-studio/xigua-video-search-scraper)
  - [Xigua Video Detail Scraper](https://apify.com/zen-studio/xigua-video-detail-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-oSxuPDE1h3HAsHZSu-x3uV98mgTe-bilibili-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Bilibili 哔哩哔哩**
  - [Bilibili Video Scraper](https://apify.com/zen-studio/bilibili-video-scraper)
  - [Bilibili Danmaku Scraper](https://apify.com/zen-studio/bilibili-danmaku-scraper)

**🛒 E-commerce**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-yK9Fwkji44bQkuS7P-f1uyK15FaQ-naver-shopping-scraper.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Naver Search 네이버 검색**
  - [Naver Search Scraper](https://apify.com/zen-studio/naver-search-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-LwARSYSMWLBZfXfdr-FrDaNbQarB-shopee-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Shopee**
  - [Shopee Product Detail Scraper](https://apify.com/zen-studio/shopee-product-detail-scraper)
  - [Shopee Product Reviews Scraper](https://apify.com/zen-studio/shopee-product-reviews-scraper)
  - [Shopee Product Scraper](https://apify.com/zen-studio/shopee-product-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-PsAKYWM55HG4AHXjK-ItywU7Bp0s-taobao-search-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Taobao 淘宝**
  - [Taobao Search Scraper](https://apify.com/zen-studio/taobao-search-scraper)
  - [Taobao Product Detail Scraper](https://apify.com/zen-studio/taobao-detail-scraper)
  - [Taobao Seller Products Scraper](https://apify.com/zen-studio/taobao-seller-products-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-uZy6tbKLKnSVtT4BN-emXnT123uR-jd-com-scraper-logo-square.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **JD.com 京东**
  - [JD.com Search Scraper](https://apify.com/zen-studio/jd-com-search-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-ghXSMZcW3GxsCrkiR-5hnvsKv4Yt-1688-wholesale-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **1688 阿里巴巴**
  - [1688 Wholesale Scraper](https://apify.com/zen-studio/1688-wholesale-scraper)
  - [Alibaba Scraper](https://apify.com/zen-studio/alibaba-scraper)
  - [1688 Reviews Scraper](https://apify.com/zen-studio/1688-reviews-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-eab843E8WtuH7V3oz-a9TgvZnNOZ-weidian-scraper-icon.png" width="16" height="16" alt="Weidian 微店 scraper icon" style="vertical-align:middle;border-radius:3px"> **Weidian 微店**
  - [Weidian Scraper](https://apify.com/zen-studio/weidian-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-5QcLc4BHaLMBUKYs3-f3CWQ60Row-goofish-search-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Goofish 闲鱼**
  - [Goofish (Xianyu) Search Scraper](https://apify.com/zen-studio/goofish-xianyu-search-scraper)
  - [Goofish (Xianyu) Seller Scraper](https://apify.com/zen-studio/goofish-xianyu-seller-scraper)
  - [Goofish (Xianyu) Item Detail Scraper](https://apify.com/zen-studio/goofish-xianyu-item-detail-scraper)
  - [Goofish (Xianyu) Item Comments & Q\&A Scraper](https://apify.com/zen-studio/goofish-xianyu-item-comments-scraper)
  - [Goofish (Xianyu) Reverse Image Search Scraper](https://apify.com/zen-studio/goofish-xianyu-visual-search-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-gs9qvJ0HhrF4yp4Cv-IbbfBu9zL1-dewu-scraper-logo.png" width="16" height="16" alt="Dewu 得物 scraper icon" style="vertical-align:middle;border-radius:3px"> **Dewu 得物**
  - [Dewu POIZON Scraper](https://apify.com/zen-studio/dewu-poizon-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-0hS9yNh3RU8DC6puG-LozxRJkdHN-coupang-review-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Coupang 쿠팡**
  - [Coupang Review Scraper](https://apify.com/zen-studio/coupang-review-scraper)
  - [Coupang Search Scraper](https://apify.com/zen-studio/coupang-search-scraper)
  - [Coupang Product Detail Scraper](https://apify.com/zen-studio/coupang-detail-scraper)

**🏠 Real estate & autos**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-1tAzNSf8Kz0v7Q2Lr-AINJ7FsZVU-anjuke-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Anjuke 安居客**
  - [Anjuke For-Sale Listings Scraper](https://apify.com/zen-studio/anjuke-real-estate-scraper)
  - [Anjuke New-Home Scraper](https://apify.com/zen-studio/anjuke-new-home-scraper)
  - [Anjuke Rental Listings Scraper](https://apify.com/zen-studio/anjuke-rent-scraper)
  - [Anjuke Listing Detail Scraper](https://apify.com/zen-studio/anjuke-sale-detail-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-32OkWqsiUywoq2ci3-7JhFlW1qg3-58__-real-estate-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **58.com 58同城**
  - [58.com Real Estate Scraper](https://apify.com/zen-studio/58-real-estate-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-ytaE4YpSmjXDmibPv-L1UMPHa2bO-che168-autohome-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Autohome 汽车之家**
  - [Autohome (Che168) Used-Car Scraper](https://apify.com/zen-studio/che168-car-scraper)

**🧭 Travel & maps**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-05ZMu4ciljVfMpct7-5SbFiiNTep-mafengwo-scraper-logo.jpg" width="16" height="16" alt="Mafengwo 马蜂窝 scraper icon" style="vertical-align:middle;border-radius:3px"> **Mafengwo 马蜂窝**
  - [Mafengwo Reviews Scraper](https://apify.com/zen-studio/mafengwo-reviews-scraper)

### Support

- **Bugs**: Issues tab
- **Features**: Issues tab

### Legal Compliance

Extracts publicly available data from Douyin (抖音). Users must comply with Douyin's terms of service and applicable data protection regulations (GDPR, CCPA, PIPL).

***

*Douyin comments with author names, likes, available public regions and optional nested replies. One dataset row per parent comment.*

# Actor input Schema

## `awemeUrls` (type: `array`):

Add one or more Douyin videos (抖音视频) you want comments for.<br><br>Accepted formats:<ul><li>Browser address bar: <code>https://www.douyin.com/video/7577614489533680959</code></li><li>Legacy share: <code>https://www.iesdouyin.com/share/video/7577614489533680959/</code></li><li>Bare numeric aweme ID: <code>7577614489533680959</code></li></ul><i>Tip: short app share links like <code>v.douyin.com/iAbc123/</code> aren't supported — open them in a browser and paste the full URL.</i>

## `maxCommentsPerAweme` (type: `integer`):

Maximum top-level comments to collect per video. Default: <code>100</code>. Maximum: <code>5000</code> on paid plans. Available comments and your spending limit may produce fewer results.

## `includeReplies` (type: `boolean`):

Collect available replies (回复) under each top-level comment, up to your reply limit. <b>Requires a paid Apify plan.</b> Each reply is billed as one item at the same price as a parent comment and is nested in the parent row’s <code>replies\[]</code> array. Threads may be partial.

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

Cap on replies to fetch under each top-level comment. Only effective when <b>Include replies</b> is on.<br><br><ul><li>Default: <code>100</code>. Maximum: <code>2000</code>.</li></ul>

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "awemeUrls": [
    "https://www.douyin.com/video/7577614489533680959"
  ],
  "maxCommentsPerAweme": 100,
  "includeReplies": false,
  "maxRepliesPerComment": 100
}
```

# Actor output Schema

## `comments` (type: `string`):

Link to the dataset containing all scraped Douyin comments and their replies.

# 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 = {
    "awemeUrls": [
        "https://www.douyin.com/video/7577614489533680959"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("zen-studio/douyin-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 = { "awemeUrls": ["https://www.douyin.com/video/7577614489533680959"] }

# Run the Actor and wait for it to finish
run = client.actor("zen-studio/douyin-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 '{
  "awemeUrls": [
    "https://www.douyin.com/video/7577614489533680959"
  ]
}' |
apify call zen-studio/douyin-comments-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zen-studio/douyin-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/KmxOUB02ZqH7jxj07/builds/dgCqEbvWMbHF9Csg6/openapi.json
