Douyin Comments Scraper | Comments, Likes and IP Regions avatar

Douyin Comments Scraper | Comments, Likes and IP Regions

Pricing

from $1.66 / 1,000 comments

Go to Apify Store
Douyin Comments Scraper | Comments, Likes and IP Regions

Douyin Comments Scraper | Comments, Likes and IP Regions

Douyin comments scraper (抖音评论): paste a 抖音 video link, share text or video id and get each comment as a clean row. 100 comments in 7 seconds, 30 fields each: text, likes, replies, IP location in Chinese and English, author profile, mentions and the video stats. No Douyin account or app needed.

Pricing

from $1.66 / 1,000 comments

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Douyin Comments Scraper (抖音评论) | Comments, Likes and IP Regions (2026)

1 URL. 100 Douyin comments. 30 fields per comment.

From SilentFlow. Creators of Pinterest Scraper and Leboncoin Scraper, with 420,000+ combined lifetime runs.

Every comment Douyin (抖音) shows under a video, as clean rows: what people wrote, how many liked it, who wrote it and the province they posted from, in Chinese and in English.

Why choose this actor?

Need to know what Chinese viewers really think of a product, a campaign or a creator? On Douyin the answer sits in the comments, thousands of them under each video, in Chinese, with an IP location (IP属地) next to every one. Copying them by hand stops after a few screens. This actor reads them for you and gives one row per comment.

  • 28 filled fields on every comment. Text, likes, reply count, the IP location as Douyin shows it (广东) and in English (Guangdong), the author's Douyin ID, nickname, avatar and profile link, a verified badge, whether the creator liked or wrote the comment, the hot and pinned flags, plus the card of the video it sits under: caption, creator, likes, comments, shares and publish date. Mentions, pictures and stickers come too when the comment has them. On the default run, 28 data fields were filled on at least 99 of the 100 rows.
  • Paste a link, a share text or a video id. A browser link (douyin.com/video/…), a photo post link (/note/…), a link opened from a feed (?modal_id=…), an app share link (v.douyin.com/…), the whole share text copied from the Douyin app, or the 19-digit video id: each is read by its shape, and they mix in one run. On our test, one pasted share text plus one video id gave 600 comments from 2 videos.
  • Nothing to fill in before the first run. No field is required and the form opens on a real video, so the first run returns comments right away (100 on our test). No Douyin account, no app, no API key.

Try Douyin Comments Scraper

Try your first comment export

Paste this input in the Input tab, or send it from the API, and run. You get the first 100 comments of a Guizhou street food video from 盗月社食遇记 that has more than 160,000 comments, each with its author, likes, replies and IP location.

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

The Apify Free plan is enough to run it: no credit card, no Douyin account.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the Douyin Comments Scraper on Apify: silentflow/douyin-comments-scraper
Input (no field is required, give at least one video):
- videoUrls (array of string): Douyin video links. Accepts douyin.com/video/<id>, douyin.com/note/<id>,
any douyin.com link with ?modal_id=<id>, iesdouyin.com/share/video/<id>, v.douyin.com share links,
and the whole share text copied from the Douyin app
- videoIds (array of string): 19-digit Douyin video ids (aweme_id), e.g. 7577614489533680959
- maxItems (integer, default 100, minimum 1): comments per video, no fixed limit
Output: one row per top-level comment, in the order Douyin shows them (top comments first).
Fields (34):
- id (string), awemeId (string), videoUrl (string)
- text (string), mentions (array of {userId, secUid, nickname}), hashtags (array of string),
imageUrls (array of string), stickerUrl (string or null)
- authorId, authorSecUid, authorUniqueId, authorNickname, authorAvatarUrl, authorProfileUrl (string),
authorIsVerified (boolean), isByVideoAuthor (boolean)
- likeCount (integer), replyCount (integer), isAuthorLiked, isPinned, isHot (boolean)
- ipLocation (string, as Douyin shows it, e.g. 广东), ipLocationEn (string, e.g. Guangdong),
createTime (integer, unix seconds), createdAt (string, RFC 3339 UTC)
- videoDescription, videoAuthorNickname, videoAuthorUrl (string), videoPublishedAt (RFC 3339),
videoLikeCount, videoCommentCount, videoShareCount (integer)
- position (integer, rank of the comment under its video), scrapedAt (RFC 3339)
Absent values are null, empty lists are [].
Use apify-client for Python or JavaScript, or the Apify MCP server: https://mcp.apify.com/?tools=silentflow/douyin-comments-scraper

How to scrape Douyin comments

Get the top comments of one Douyin video

Open the video on douyin.com, copy the address from the browser bar and paste it. You get its comments in the order Douyin shows them, the most engaging first.

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

Paste a share text straight from the Douyin app

In the app, tap Share then Copy link, and paste the whole text: the actor finds the v.douyin.com link inside it. Here a film review from 暗影Film shared from the app, next to a motorcycle video given by its id. On our test this input returned 600 comments from the 2 videos in 19 seconds.

{
"videoUrls": ["7.43 复制打开抖音,看看【作品】这个视频太好看了 https://v.douyin.com/4fPfCoZb_U0/ Q@x.Sl 09/03 xHi:/"],
"videoIds": ["7692754683005849521"],
"maxItems": 300
}

Compare the comments of several videos in one run

Give as many video ids as you like. Each video stops at its own cap, so a small video and a viral one sit side by side in the same table. On our test, a programming explainer, a Lhasa travel clip and a video Douyin no longer serves gave 526 comments in 18 seconds: 26 from the first (all it shows), 500 from the second, and a clear "no comments to show" line for the third.

{
"videoIds": ["7448118827402972455", "7690992782325240232", "7590644689553974118"],
"maxItems": 500
}

Input parameters

ParameterTypeDefaultWhat it does
videoUrlsarray of stringsDouyin video links, share links or share texts, one per line
videoIdsarray of strings19-digit video ids, alone or next to links
maxItemsinteger100Comments kept per video, no fixed limit

Give at least one video, as a link or as an id. Nothing else is needed.

Accepted video formats

You pasteExample
Browser addresshttps://www.douyin.com/video/7577614489533680959
Photo posthttps://www.douyin.com/note/7448118827402972455
A video opened from a feed or a profilehttps://www.douyin.com/discover?modal_id=7577614489533680959
Old share addresshttps://www.iesdouyin.com/share/video/7585882270234365190/
App share linkhttps://v.douyin.com/4fPfCoZb_U0/
Whole share text from the app7.43 复制打开抖音,看看【作品】… https://v.douyin.com/4fPfCoZb_U0/ …
Video id7577614489533680959

A profile link (douyin.com/user/…) names no single video: the run says so and asks for the link of one of its videos. The same video given twice, as a link and as an id, is read once.

What data can you extract from Douyin?

Each row is one top-level comment, with 34 fields in seven groups. On the default run of 16 October 2026, 28 data fields were filled on at least 99 of the 100 rows (26 on every row, the two location fields on 99); mentions, pictures, stickers and hashtags are filled when the comment carries them.

GroupFieldsWhat you get
Identity (3)id, awemeId, videoUrlThe comment id, the video id and the permanent page of the video
Content (5)text, mentions, hashtags, imageUrls, stickerUrlThe words, the accounts tagged with @ (id, sec_uid and nickname each), hashtags, attached pictures and sticker
Author (8)authorId, authorSecUid, authorUniqueId, authorNickname, authorAvatarUrl, authorProfileUrl, authorIsVerified, isByVideoAuthorWho wrote it, their Douyin ID, avatar and profile page, the verified badge, and whether the creator of the video wrote it
Measures (5)likeCount, replyCount, isAuthorLiked, isPinned, isHotLikes, number of replies, and the flags Douyin shows: liked by the creator (作者赞过), pinned, hot
Place and time (4)ipLocation, ipLocationEn, createTime, createdAtThe IP location as shown (浙江, 美国) and in English (Zhejiang, United States), the posting time as unix seconds and as RFC 3339 UTC
Video (7)videoDescription, videoAuthorNickname, videoAuthorUrl, videoPublishedAt, videoLikeCount, videoCommentCount, videoShareCountThe card of the video the comment sits under, on every row, so a table of several videos stays readable
Meta (2)position, scrapedAtThe rank of the comment under its video, and when it was read

On 1,000 comments of the default video, 997 carried an IP location, spread over 49 provinces and countries, 16 of them outside China; 132 had a picture, 75 tagged other accounts and 32 carried a sticker.

What stays stable and what expires. id, awemeId, authorSecUid, videoUrl and authorProfileUrl are permanent. Avatar links carry no expiry date. Picture and sticker links are signed by Douyin with an expiry time, about 6 hours after the run on our test: download the files within that window if you need them.

Output example

A real row from the default video, read on 16 October 2026:

{
"id": "7577964167845741347",
"awemeId": "7577614489533680959",
"videoUrl": "https://www.douyin.com/video/7577614489533680959",
"text": "@沫 陶陶他们说贵州好多好吃的,我也想去贵州玩[流泪]",
"mentions": [
{
"userId": "100378839914",
"secUid": "MS4wLjABAAAAg__DU43E-LHETVcd97P3rVMF7MOh3GegTQszN-jS09Q",
"nickname": "沫"
}
],
"hashtags": [],
"imageUrls": [],
"stickerUrl": null,
"authorId": "78779470855707",
"authorSecUid": "MS4wLjABAAAA_uDdaBqIndswyWI2eVFhf5N1bZWl3gwt1v-L0GYg5s0",
"authorUniqueId": "YU_9_12.N_O",
"authorNickname": "幸运富贵逼人雅趣内蕴敏思善察的躺赢专业户",
"authorAvatarUrl": "https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-i-0813_okcdEVFBAZCApnKFAADAIHxf9DqgQCDAAUErfC.jpeg?from=2064092626",
"authorProfileUrl": "https://www.douyin.com/user/MS4wLjABAAAA_uDdaBqIndswyWI2eVFhf5N1bZWl3gwt1v-L0GYg5s0",
"authorIsVerified": false,
"isByVideoAuthor": false,
"likeCount": 5,
"replyCount": 0,
"isAuthorLiked": false,
"isPinned": false,
"isHot": false,
"ipLocation": "广东",
"ipLocationEn": "Guangdong",
"createTime": 1764382278,
"createdAt": "2025-11-29T02:11:18Z",
"videoDescription": "这个贵州五线小城,凭什么是中国“吃商”最高的城市? 糟了,捅了贵州老吃家的窝了!\n#抖音美食班当季新菜单 #当季新菜单挑战赛 #贵州美食 #中国街头小吃 #老吃家",
"videoAuthorNickname": "盗月社食遇记",
"videoAuthorUrl": "https://www.douyin.com/user/MS4wLjABAAAAjjwfy25gmtDlk8Wg6FNIBzHdHicG6BpZZNvWoTLL8S4",
"videoPublishedAt": "2025-11-28T09:00:00Z",
"videoLikeCount": 4065016,
"videoCommentCount": 163232,
"videoShareCount": 5190314,
"position": 776,
"scrapedAt": "2026-10-16T13:17:08Z"
}

The dataset opens on four tables: Comments (text, author, likes, replies, location, date, video), Top comments (rank, likes, replies and the hot, pinned, liked-by-creator and by-creator flags), Commenters (nickname, Douyin ID, badge, location, profile) and Videos (the card of each video next to its comments). Export any of them as JSON, CSV, Excel or HTML from the dataset page, or pull them from the API:

https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=csv&view=overview&token=YOUR_TOKEN

Advanced usage

Read deep into a viral video

Raise the cap and the actor keeps reading, page after page, until it has that many comments or the video has no more. On our tests, 1,000 comments of the default video came back in 20 to 22 seconds, none twice.

{
"videoUrls": ["https://www.douyin.com/video/7577614489533680959"],
"maxItems": 1000
}

Map where the commenters of a video are

Sort or pivot the Commenters table on ipLocationEn. On the 1,000 comments above, Guizhou led with 135 comments, ahead of Guangdong (120) and Jiangsu (79), and 16 countries outside China showed up, from Australia, Japan and the United States to Jamaica and Colombia: a quick read of where a video, a creator or a campaign lands.

{
"videoIds": ["7577614489533680959"],
"maxItems": 1000
}

Watch the comments under a brand's video every week

Save this input as a task and schedule it on Apify (weekly, for example). Each run reads the video again; keep the rows whose createdAt is newer than your last run to see only what people said since, and follow likeCount and replyCount of the top comments over time. Here a QJMOTOR motorcycle video.

{
"videoIds": ["7692754683005849521"],
"maxItems": 1000
}

Check what the creator answered and liked

Before working with a creator, look at how they treat their audience. Filter on isByVideoAuthor for the creator's own comments and on isAuthorLiked for the comments they liked (作者赞过), and compare authorIsVerified to spot the brands and official accounts that comment under their videos. On the default video, the creator's own comment ranked second with 14,796 likes.

{
"videoIds": ["7577614489533680959", "7690992782325240232"],
"maxItems": 500
}

Build a Chinese comment dataset for sentiment or NLP work

Mix videos from different topics, keep text, likeCount, ipLocationEn and createdAt, and you have labelled-by-engagement Chinese text with a location on nearly every line. Send the run to Google Sheets, a database or a notebook through Apify integrations, or call it from Python with apify-client and load the items into a DataFrame.

{
"videoIds": ["7577614489533680959", "7690992782325240232", "7448118827402972455", "7692754683005849521"],
"maxItems": 2000
}

FAQ

What is Douyin? Douyin (抖音) is ByteDance's Chinese short-video app, the domestic counterpart of TikTok, with its own creators, brands and audience. Comments there are where Chinese viewers react to products, places, films and creators, which makes them a direct read of Chinese public opinion.

What does this actor extract exactly? The top-level comments of the Douyin videos you give: text, likes, reply count, IP location in Chinese and English, posting date, the author's ids, nickname, avatar and profile, the creator-liked, pinned, hot and verified flags, mentions, pictures and stickers, plus the card of the video on every row. One row per comment.

Do I need a Douyin account or the app? No. The actor reads the comments any visitor of douyin.com sees. No login, no phone number, no API key.

Are replies to comments included? Each comment comes with replyCount, the number of replies under it, but the replies themselves are not returned as rows. This is why the comment count Douyin shows for a video is often higher than the number of rows: it includes the replies. On our test, a programming video with a count of 57 comments returned its 26 top-level comments, all of them; the 21 replies under them and comments Douyin no longer shows make up the rest.

How many comments can I get per video? As many as Douyin shows under the video: set maxItems to the number you need, there is no fixed limit in the actor. Comments come 50 per page; on our tests 1,000 comments of one video took 20 to 22 seconds and 100 comments took 6 to 7 seconds.

In which order do the comments come? In the order Douyin shows them under the video, top comments first. position keeps that rank (1, 2, 3…), so you can always rebuild the order Douyin chose, even after sorting the table by likes or by date.

Can I scrape several videos in one run? Yes. Put several links in videoUrls, several ids in videoIds, or both. Each video stops at its own maxItems, and a video given twice is read once.

What happens with a deleted or private video? The run goes on with the other videos and says "no comments to show" for that one. If none of the videos has comments, the run ends with a message that says so instead of an empty success.

What is the IP location (IP属地)? Since 2022 Douyin shows the province (or the country, outside China) a comment was posted from, based on the network of the author. ipLocation keeps the label exactly as Douyin shows it and ipLocationEn gives the English name: 34 Chinese provinces and regions and the countries Douyin users comment from are covered. When Douyin shows no location or "IP未知", both are null.

How fresh is the data? Live. Every run reads Douyin at that moment, nothing is cached, so likes and reply counts are the ones of the day you run it. scrapedAt records when each row was read.

Is the text translated? No. The comments stay in the language they were written in, usually Chinese, with Douyin's emoji codes such as [流泪] or [比心] kept as text. Only the IP location gets an English version. Send text to the translation or sentiment tool of your choice.

Is it legal to scrape Douyin comments? The actor reads public comments that anyone can see on douyin.com without logging in. How you use them is your responsibility: see the Legal compliance section below, in particular for personal data under PIPL and GDPR.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from Douyin (douyin.com). It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with Douyin's terms of service and applicable data protection laws (GDPR, CCPA, and PIPL, China's Personal Information Protection Law). The output contains personal data: commenter nicknames, account ids, avatars, profile links and IP locations. Handle it accordingly, collect only what your purpose needs, and do not use it to contact, profile or target individuals without a lawful basis. The data returned is informational; verify accuracy for regulated use cases.

Douyin Comments Scraper by SilentFlow: every comment under a Douyin video, ready for your spreadsheet, your dashboard or your model.