Douyin Danmaku Scraper avatar

Douyin Danmaku Scraper

Pricing

from $1.60 / 1,000 results

Go to Apify Store
Douyin Danmaku Scraper

Douyin Danmaku Scraper

Collect the scrolling on-video comments (danmaku) Douyin viewers post while watching, from any public Douyin video's URL or ID. Each row returns the danmaku text, its timestamp in the video, like count, and poster's user ID. Most videos carry none -- an empty result is normal, not a failure.

Pricing

from $1.60 / 1,000 results

Rating

0.0

(0)

Developer

ToolzerHub

ToolzerHub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Collect the scrolling on-video comments (danmaku) Douyin viewers post while watching, timestamped to the moment they appear, from a public video's URL or ID.

Input

FieldTypeDefaultWhat it does
aweme_idstringRequired. A Douyin video URL or numeric ID.
durationintegerVideo length in milliseconds. Leave it empty and the Actor looks it up for you — one extra request.
start_timeinteger0Start of the danmaku window, in milliseconds.
end_timeintegerEnd of the danmaku window, in milliseconds. Defaults to the video's full duration.
maxItemsinteger100Rows to save. 0 collects the whole window.
{ "aweme_id": "https://www.douyin.com/video/7448118827402972455" }

Output

FieldContents
danmaku_idDanmaku comment ID
textDanmaku text
offset_timePosition in the video this danmaku appears at, milliseconds
digg_countLikes on this danmaku
user_idPoster's account ID
source_aweme_idThe video this row was collected from

Questions

Why did my run return zero rows? Most Douyin videos carry no danmaku at all — an ordinary video tested live returned nothing across its entire duration. A zero-row dataset here is a normal, successful run, not a fault. Danmaku shows up mainly on videos with a large, actively engaged audience: a video with about 1.4 million likes returned 743 danmaku in the same test, 594 of them in the first ~32-second window alone. Try a video with high engagement before assuming the Actor is broken.

Why does the run make an extra request before it collects any danmaku? Douyin's danmaku endpoint requires the video's duration in milliseconds, but a normal caller rarely has that number to hand. When you don't supply duration, the Actor fetches it from the video's own detail first — one extra request, billed the same as any other. Pass duration yourself, for example from a prior Douyin Video Scraper run, to skip it.

How wide is one danmaku "window", and why does that matter for start_time/end_time? Douyin serves a fixed roughly-32-second slice per call no matter how wide an end_time you request, so the Actor loops windows internally to cover start_time through end_time (or the full video, when end_time is left empty). You don't need to manage the windowing yourself — just set the range you want covered.

ActorUse when
Douyin Comments ScraperYou want the actual comment section, a different thing from danmaku
Douyin Video ScraperYou want the video's duration up front, to skip this Actor's extra lookup
Douyin Video DownloaderYou want a playable URL for the video itself

Support

Questions, bugs, or feature requests: contact@toolzerhub.com

Browse the rest: apify.com/toolzerhub