VOOZH about

URL: https://apify.com/zen-studio/douyin-comments-scraper

โ‡ฑ Douyin ๆŠ–้Ÿณ Comments Scraper - Comments & Replies ยท Apify


๐Ÿ‘ Douyin ๆŠ–้Ÿณ Comments Scraper - Comments & Replies avatar

Douyin ๆŠ–้Ÿณ Comments Scraper - Comments & Replies

Pricing

from $5.99 / 1,000 comments

Go to Apify Store

Douyin ๆŠ–้Ÿณ Comments Scraper - Comments & Replies

Scrape Douyin (ๆŠ–้Ÿณ) video comments and replies. Each row is one top-level comment with author info, like count, region, and (optionally) all replies nested. Supports any Douyin video URL or aweme ID.

Pricing

from $5.99 / 1,000 comments

Rating

0.0

(0)

Developer

๐Ÿ‘ Zen Studio

Zen Studio

Maintained by Community

Actor stats

1

Bookmarked

43

Total users

9

Monthly active users

a day ago

Last modified

Share

Douyin Comments Scraper (ๆŠ–้Ÿณ) | Comments, Replies, Author Profiles & Engagement (2026)

Scrape every top-level comment (่ฏ„่ฎบ) on any Douyin (ๆŠ–้Ÿณ) video: author profile, like count, region, author-liked flags, and the full reply tree (ๅ›žๅค) nested under each row. One row per comment, clean structured JSON, billed per result.

๐Ÿ‘ Douyin (ๆŠ–้Ÿณ) comments scraper: nested comment threads as structured JSON with author profiles, regions, and like counts

Copy to your AI assistant

zen-studio/douyin-comments-scraper on Apify. Scrapes Douyin video comments and (optionally) nested replies. One row per top-level comment with 14 top-level fields + 4-field user object + replies[] array of the same shape. Call ApifyClient("TOKEN").actor("zen-studio/douyin-comments-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: awemeUrls (string[]: full douyin.com/video/<id> URLs, iesdouyin.com share URLs, or bare numeric aweme IDs; short v.douyin.com share links not supported). Optional: maxCommentsPerAweme (int 1โ€“5000, default 100), includeReplies (bool, default false), maxRepliesPerComment (int 1โ€“2000, default 100). Pricing: $5.99 per 1,000 items; each comment AND each reply counts as one item (replies are nested in parent rows). Full spec: GET https://api.apify.com/v2/acts/zen-studio~douyin-comments-scraper/builds/default (Bearer TOKEN) โ†’ inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations
Zen Studio ยท Chinese-platform suite   โ€ข  RedNote (ๅฐ็บขไนฆ), Douyin (ๆŠ–้Ÿณ), Xigua (่ฅฟ็“œ่ง†้ข‘)
๐Ÿ‘ Image
 Douyin Comments

โžค You are here
๐Ÿ‘ Image
 Douyin Search

Keyword + filters, 60+ fields
๐Ÿ‘ Image
 Douyin Profile

Followers, posts & hashtags
๐Ÿ‘ Image
 Douyin Video

Metadata + MP4 downloads

How to Scrape Douyin Comments (ๆŠ–้Ÿณ่ฏ„่ฎบ)

Basic: one video, top 100 comments

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

Top 500 comments + every reply tree under each one

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

Batch: many videos at once, comments only

{
"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

ParameterTypeDefaultDescription
awemeUrlsstring[]requiredDouyin video URLs or aweme IDs. See accepted formats below.
maxCommentsPerAwemeinteger100Top-level comments to fetch per video (1โ€“5,000). Cost scales with the number of unique comments delivered.
includeRepliesbooleanfalseAlso fetch every reply tree under each top-level comment. Replies are nested inside replies[] on the parent row and billed at the same per-item price.
maxRepliesPerCommentinteger100Cap on replies fetched under each top-level comment (1โ€“2,000). Only effective when includeReplies is on.

Accepted aweme formats

FormatExample
Browser address barhttps://www.douyin.com/video/7577614489533680959
Legacy share linkhttps://www.iesdouyin.com/share/video/7577614489533680959/
Bare numeric aweme ID7577614489533680959

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). When includeReplies is on, every reply for that comment is nested under replies[] in the same shape.

Output Example

Every top-level field is shown below. Long avatar URLs and the reply array are trimmed with โ€ฆ.

{
"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

FieldTypeNotes
idstringComment ID (Douyin cid). Stable across runs.
textstringComment body (่ฏ„่ฎบๅ†…ๅฎน), including emoji codes like [ๆตๆณช] Douyin renders as stickers.
createTimeintegerUnix seconds.
createDatestringISO date (YYYY-MM-DD) derived from createTime.
likeCountintegerNumber of likes on this comment.
replyCountintegerServer-reported total replies on this comment. May exceed replies.length when a thread is long or rate-shaped by Douyin.
isAuthorLikedbooleanTrue when the video's creator liked this comment.
isLikedbooleanReflects a viewer's own like state on the comment, which doesn't apply to extracted data, so effectively always false.
regionstring | nullChinese province the commenter posted from (when public). Often null for non-Mainland users.
user.idstringCommenter's numeric Douyin user ID.
user.secUidstringCommenter's stable sec_uid (use this as the cross-actor key; feeds into the Douyin Profile Scraper).
user.nicknamestringDisplay name.
user.avatarUrlstringSigned CDN URL for the commenter's avatar (โ‰ˆ64ร—64). Short-lived; see FAQ.
repliesobject[]Nested array of replies (ๅ›žๅค) in exactly the same shape as the parent row. Empty when includeReplies is off or the comment has none.
awemeIdstringParent video's aweme ID.
awemeUrlstringCanonical video URL (https://www.douyin.com/video/<id>), or the original URL you supplied if it was already a full one.
inputUrlstringThe exact string you supplied; useful for joining results back to your source list.

Advanced Usage

Tracking the conversation under a viral video

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

Pulls every top-level comment Douyin will surface plus the full reply tree under each. Use the isAuthorLiked flag to separate creator-endorsed threads from organic discussion. The 3-rule stop policy ensures you don't pay for runaway pagination once Douyin starts repeating itself.

Sentiment / topic mining across a creator's catalog

{
"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

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

Group by region to see which Chinese provinces engage most with a given video. Non-Mainland commenters surface as null; useful in itself as an overseas-engagement signal.

Author engagement signal: what does the creator like back?

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

Filter rows where isAuthorLiked === true to see which top-level comments the video's creator endorsed. A reliable proxy for which audience reactions resonate.

Cross-actor pipeline: comments โ†’ commenter profiles

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

Take user.secUid from every row and feed it into the 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. Failed pages, retries, and unparseable comments are not billed.

EventPer callPer 1,000
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

10 lifetime runs, capped at 2 pages of comments per video, replies disabled, and up to 3 videos per run. No credit card. Plenty for evaluation; combine 3 videos ร— ~40 comments = a ~120-row sample per run.

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). When includeReplies is on, the replies[] array carries replies in the exact same shape.

How many comments can I expect per video? Most videos surface 200โ€“5,000 unique comments before Douyin's backend stops returning new ones, even on videos with comment counts in the hundreds of thousands. The actor uses a 3-rule stop policy: when Douyin starts returning mostly duplicates or repeats the same window, pagination ends early. You're only billed for unique comments delivered to your dataset.

Are pinned comments included? Yes. Pinned comments are returned alongside all other top-level comments. They typically come first in the result order because that's how Douyin surfaces them.

Are likes-on-replies returned? Yes. When includeReplies is on, each reply carries its own likeCount. Replies don't have their own nested replies[] (Douyin's comment threads are 2-level deep: top-level comment + flat reply list), so reply rows have replies: [].

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 to enrich each commenter with 46 author fields. The suite is designed for exactly this fan-out.

How fresh is the data? Live: every comment and reply is fetched on demand at run time. No caching.

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, 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. In practice most videos cap out below this: Douyin returns increasingly duplicate pages once you exhaust the surfaced pool, and the 3-rule stop policy ends pagination automatically when yield drops.

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 what Douyin's public comment endpoint exposes.

More Zen Studio scrapers for Chinese platforms

๐ŸŽฌ Short-video & social

๐Ÿ›’ E-commerce

๐Ÿ  Real estate & autos

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


Structured Douyin video comments: full author profile, region, like count, author-liked flags, nested replies. One row per comment, in clean JSON.

You might also like

Douyin Comments Scraper

natanielsantos/douyin-comments-scraper

Easily scrape Douyin comments. Just add a Douyin URL. Get text, user ID, images. timestamp, number of replies and replies content, number of likes, etc.

๐Ÿ‘ User avatar

Nataniel Santos

74

1.0

Douyin Search Scraper

kuaima/douyin-search

This scraper can help you to get search data from https://www.douyin.com/ ๆŠ–้Ÿณ which is Chinese Version of tiktok.

Douyin Search Scraper - Video & User Insights

cloudcharlestom/douyin-search-scraper

Extract Douyin video and user data by keyword. Get video URL, likes, comments, shares, favorites, and music info. Ideal for market analysis, influencer discovery, content research, and trend tracking.

149

Douyin ๆŠ–้Ÿณ Profile Scraper - ๅšไธป Followers, Posts & Hashtags

zen-studio/douyin-profile-scraper

Extract Douyin (ๆŠ–้Ÿณ) ๅšไธป profiles, ็ฒ‰ไธ counts, engagement stats, hashtags, and Douyin's server-classified video categories. 28 fields per post + 22 per author. Accepts profile URLs, share links, UserSecIDs, and numeric user IDs. Profile-only ๆ•ฐๆฎ้‡‡้›† mode for cheap follower tracking.

Douyin ๆŠ–้Ÿณ Search Scraper + Video Downloader - 60+ Fields

zen-studio/douyin-search-scraper

Scrape Douyin (ๆŠ–้Ÿณ) videos by keyword and download them as MP4. Get views, likes, comments, shares, creator profile, music, hashtags, and video tags. Optionally save covers and slideshow images. Filter by sort, publish window, and duration. 60+ fields per video, 46 per creator. Free tier - 10 runs.

221

5.0

Douyin ๆŠ–้Ÿณ Video Scraper - Metadata + MP4 Downloads

zen-studio/douyin-video-scraper

Extract Douyin (ๆŠ–้Ÿณ) video metadata: statistics, music tracks, hashtags, mentions, chapters, and creator profiles in 56 structured fields. 1,000 videos in ~70 seconds. Optional MP4, cover, and slideshow downloads. Accepts video URLs, share links, and bare aweme IDs.

Douyin Scraper

natanielsantos/douyin-scraper

This powerful tool enables you to extract data from Douyin, the Chinese version of TikTok. Use it to scrape post data, like URLs, numbers of followers, hearts, video, music-related data and more. Download Douyin data as a HTML, JSON, CSV, Excel, or XML doc.

๐Ÿ‘ User avatar

Nataniel Santos

1.5K

3.1

Douyin Video Downloader ๐ŸŽฅ

easyapi/douyin-video-downloader

Extract and download videos from Douyin (Chinese TikTok) without watermark. Get high-quality video URLs, thumbnails, author info and other metadata in structured format. Perfect for content analysis and archiving.

Douyin ๆŠ–้Ÿณ Transcripts Scraper - 50+ Languages, .srt + MP4

zen-studio/douyin-transcripts-scraper

Extract timestamped transcripts and .srt ๅญ—ๅน• from any Douyin (ๆŠ–้Ÿณ) video. Mandarin speech-to-text plus translation into 50 languages. Optionally save the source MP4 and cover image to your key-value store at no extra cost. 60+ metadata fields. Per-minute pricing, free tier.

Douyin Transcripts Scraper

apple_yang/douyin-transcripts-scraper

Extract spoken transcripts from Douyin videos with Douyin Transcripts Scraper. Just enter video URLs to get transcripts. Perfect for content analysis, AI pipelines, or trend research.

512

5.0