Douyin Scraper (抖音) - Creator Profiles, Videos and Comments avatar

Douyin Scraper (抖音) - Creator Profiles, Videos and Comments

Pricing

from $1.02 / 1,000 results

Go to Apify Store
Douyin Scraper (抖音) - Creator Profiles, Videos and Comments

Douyin Scraper (抖音) - Creator Profiles, Videos and Comments

Douyin (抖音) creators and their videos, single videos, comments, danmaku, collections, sounds and search suggestions as rows: followers, likes, comments, shares, saves, captions, hashtags, sounds, covers and links. Paste creator or video links, or v.douyin.com share links.

Pricing

from $1.02 / 1,000 results

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

2 hours ago

Last modified

Security

Limited permissions

Share

Douyin scraper for creator profiles, their videos and the comments under them: paste Douyin creator, video, collection or sound links and get one row each, with followers, likes, comments, shares, saves, captions, hashtags, the sound, the cover and the link. The cover, video and sound links point at Douyin's servers and expire, often within a day, so copy what you want to keep.

InputCreator links, video links, collection links or sound links, v.douyin.com share links, or the ids
OutputOne row per creator, video, comment, danmaku, collection, sound or search suggestion: counts, caption, hashtags, sound, cover, links
Ceiling200 links per list, 20,000 rows per run
Account neededNone from you
Price$1.02 per 1,000 results plus $0.005 to start each run, the same on every plan. The free plan's $5 a month covers about 4,600 results in runs of 100
Using an AI agent?
Actordami_studio/douyin-scraper
Set one fieldprofiles, labelled "Creators" in the Console
Cap the billmaxTotalChargeUsd on the run, for example 0.10: it never charges past that
MCP, one linkhttps://mcp.apify.com/?tools=fetch-actor-details,dami_studio/douyin-scraper
How oftenWeekly, to follow how a creator's videos and their counts move

🌏 中文说明

粘贴抖音博主主页链接、视频链接、合集链接或音乐链接(也支持v.douyin.com分享链接),每个博主、视频、评论、弹幕、合集、音乐或搜索联想词一行:粉丝数、点赞、评论、分享、收藏、文案、话题标签、背景音乐、封面和链接。博主会先给一行主页资料,再按时间从新到旧给出作品。

在profiles里填博主链接,点Start就行,不需要抖音账号。按条数收费,价格见上方表格。本工具不是抖音的官方产品,与抖音没有关联。

🔍 What Douyin Scraper does

Four kinds of link go in, plus keywords for search suggestions, and each gives its own rows.

Creators. A profile row (followers, following, likes received, video count, bio, verification, IP location), then the creator's videos, newest first, pinned ones included unless you leave them out.

Videos. One row per video or photo post, from a link, a share link or the numeric id. Turn on Comments per video and the comments under each one follow, in the order Douyin shows them, with the commenter's IP location. Danmaku per video adds the comments that scroll across the video, each with the second it appears at.

Collections. Douyin's 合集. A row for the collection itself, then its videos in episode order.

Sounds. A row for the sound (how many videos use it, who made it), then videos that use it.

Search suggestions. Type keywords and get what Douyin's search box offers for each, in its order. Handy for finding the words people actually search with.

Every count comes back as a whole number. Douyin writes 1.2万 in the app; here it is 12000.

📋 What data you get from each Douyin video

What you getField
The video's id, its page and its share linkid, url, shareUrl
Video or photo postmediaType
The caption and the title, as postedtext, caption, title
When it was posted, and its lengthcreatedAt, createTime, durationSeconds
Likes, comments, shares, saves and recommendslikes, comments, shares, saves, recommends
Pinned, ad, or marked as made with AIisPinned, isAd, isAiGenerated
Who posted itauthorNickname, authorUniqueId, authorSecUid, authorId, authorFollowers, authorVerificationText
Hashtags, tagged accounts and Douyin's own topic tagshashtags, hashtagIds, mentions, videoTags
The soundmusicId, musicTitle, musicAuthor, musicIsOriginal, musicUrl
Cover, size and one playback linkcoverUrl, dynamicCoverUrl, width, height, videoPlayUrl
The images of a photo postimages
The collection it belongs to, and which episodecollectionId, collectionName, collectionEpisode
What the creator allowsallowDownload, allowDuet, allowStitch, allowComment, allowShare
Chapters, a warning label, and the searches Douyin suggests under the videochapters, riskWarning, suggestedSearches
Douyin's own type flagsawemeType, groupId, isStory, isLifeItem, isImageBeat, isDuetSing
Your copies of the images, when askedcoverFile, imageFiles

Creator rows carry followers, following, likesReceived, videos, signature, uniqueId, ipLocation, verificationText and profileUrl. Comment rows carry text, likes, replies, ipLocation, authorNickname and createdAt. Danmaku rows carry text, offsetSeconds and likes; suggestion rows keyword, suggestion and rank.

▶️ How to scrape Douyin creators and videos

  1. Open Douyin Scraper and click Try for free.
  2. Paste creator links into Creators, video links into Videos, or both.
  3. Set Videos per creator, and Comments per video if you want comments.
  4. Click Start.
  5. Download the rows as JSON, CSV or Excel, or read them from the Apify API.

Run it with every list empty and you get one labelled sample row, and that run costs only its $0.005 start.

💰 How much does it cost to scrape Douyin videos?

$1.02 per 1,000 results, plus $0.005 to start each run, the same on every plan. A result is one row: a creator, a video, a comment, a danmaku, a collection, a sound or a suggestion. On the free plan, the $5 Apify gives you each month covers about 4,600 results in runs of 100.

Not charged as results: the sample row, note rows, links that lead nowhere, videos your date filters leave out, and duplicates within a run. A run that finds nothing still pays its $0.005 start.

📥 What you give it

FieldDefaultWhat it is
profilesemptyCreator page links, v.douyin.com share links, or the creator id that starts with MS4wLjAB
videosPerProfile20How many of each creator's videos to return, newest first; 0 for the profile row only
videosemptyVideo or photo-post links, share links, or numeric video ids
commentsPerVideo0Comments under each video in videos, up to 5,000
danmakuPerVideo0Danmaku on each video in videos, up to 5,000
collectionsemptyCollection links or numeric ids
videosPerCollection50Videos from each collection
soundsemptySound links or numeric ids
videosPerSound20Videos that use each sound
suggestionKeywordsemptyKeywords to look up in Douyin's search box, up to 50
postedAfternoneKeep videos posted on or after this day, Beijing time, as 2026-10-01
postedBeforenoneKeep videos posted on or before this day
recentDaysnoneKeep videos from the last N days
excludePinnedfalseLeave out the videos a creator pinned
saveCoversfalseCopy each cover into the run's storage
saveImagesfalseCopy photo-post images into the run's storage
maxResults1000Stop after this many results in all

A date written any other way, such as "2 weeks", stops the run before it fetches anything and says so in a free row.

{
"profiles": ["https://www.douyin.com/user/MS4wLjABAAAA_w1jcNvWS8o1FJDoNCIbaiaEXb4ePppdjfP4uNnkwRc"],
"videosPerProfile": 20,
"videos": ["https://www.douyin.com/video/7700933283403681062"],
"commentsPerVideo": 50
}

📤 What you get back

A real video row from a run on 3 November 2026, from a newspaper's official account. Long links are trimmed.

{
"recordType": "video",
"id": "7700933283403681062",
"url": "https://www.douyin.com/video/7700933283403681062",
"mediaType": "video",
"text": "AI员工已经上岗了?#陶然论金",
"createdAt": "2026-10-26T11:14:22.000Z",
"durationSeconds": 48.6,
"likes": 374,
"comments": 2,
"shares": 5,
"saves": 6,
"isPinned": false,
"authorNickname": "经济日报视点",
"authorUniqueId": "jjrbstb",
"authorFollowers": 6870978,
"authorVerificationText": "经济日报视点官方抖音号",
"hashtags": ["陶然论金"],
"videoTags": ["科技", "行业资讯", "互联网资讯"],
"musicTitle": "@经济日报视点创作的原声",
"coverUrl": "https://p3-pc-sign.douyinpic.com/tos-cn-i-dy/7f2a3cca...jpeg?x-expires=...",
"videoPlayUrl": "https://v5-dy-ov-experiment.zjcdn.com/1ebf1ad4.../video/tos/cn/...",
"source": "profile",
"scrapedAt": "2026-11-03T08:44:24.760Z"
}
FieldHow to read it
idDouyin's own id. Join runs on it.
likes, comments, shares, savesWhole numbers. null when Douyin sent no figure, never a made-up zero.
authorFollowersFilled on creators' videos from their profile row; on single videos when Douyin sends it.
coverUrl, videoPlayUrl, musicUrlLinks to Douyin's servers. They expire, often within a day; turn on saveCovers to keep covers.
ipLocationThe province Douyin prints on a creator or a comment, such as 河南.
sourceWhich list a video came from: profile, video, collection or sound.
inputThe link you gave that produced the row.

🧾 Reading the output

RowHow to spot itCharged
CreatorrecordType is profileyes
VideorecordType is videoyes
Comment or danmakurecordType is comment or danmakuyes
Collection or soundrecordType is collection or soundyes
Search suggestionrecordType is suggestionyes
Sampleit carries _sampleno
NoterecordType is note, with ok: false and an errorCodeno
CodeWhat it means
NOT_FOUNDNo public creator, video, collection or sound answers to that link: deleted, private, or a wrong id
NO_RESULTSDouyin's search box offers no suggestions for that keyword
BAD_INPUTAn entry isn't a Douyin link or id, or a number or date in the input is out of range
NOT_SERVEDThis item was not served this run. Re-run it later
TIME_LIMITThe run reached its time limit. Everything before the row is kept
COST_LIMITThe maximum charge you set was reached before a result could be delivered
UNEXPECTED_ERRORThe run stopped early on an unexpected error. The rows before it are kept

Filter on recordType and you have one table per kind. A note row never fails the run.

💡 What people use it for

  • Brand teams watching a list of Douyin creators each week, joining runs on id to see which videos gained likes and saves.
  • Anyone sizing up a creator before a sponsorship: followers, likes received, how often they post, and how their videos land.
  • Reading what viewers actually say under a launch video, with the province each comment came from.
  • Tracking a sound or a collection as it spreads.

One recipe for a weekly creator report:

  1. Put the creators you follow into Creators and schedule the run weekly; join the weeks on id.
  2. Keep the video rows where likes beats that creator's usual, and paste their url into Videos with Comments per video at 100.
  3. Set the week's rows beside Douyin Hot Search Scraper's topics for the same days, to see which videos rode a trend.

🚧 What it does not do

  • No video or audio files. videoPlayUrl and musicUrl are links to where Douyin keeps them. Nothing is downloaded; only covers and photo-post images are copied, and only when you ask.
  • No follower or following lists.
  • Public content only. Private, deleted and friends-only videos come back as a free NOT_FOUND row.
  • It is not an official Douyin tool. Dami's Studio is independent and is not affiliated with or endorsed by Douyin, or by any other company named on this page.

🧭 Which Douyin scraper do you need?

If you wantUse
Douyin creators, their videos, single videos and their commentsThis one
What Douyin users are searching for right nowDouyin Hot Search Scraper
RedNote notes with likes and collectsRedNote Scraper
Bilibili videos, leaderboards, uploaders and commentsBilibili Scraper
Weibo posts, accounts and the hot listWeibo Scraper
The same job on TikTokTikTok Scraper

❓ Questions people ask

Do I need a Douyin account to scrape Douyin?

No. You paste links and run it. Nothing to log into and no cookie to copy.

Yes. A v.douyin.com link, or the whole block of share text with the link inside it, both work.

Why don't the numbers match what I see in the app?

Counts move by the minute, and the app rounds them (1.2万). The rows carry the exact figure at the time of the run. Open the video in a private browser window to compare like with like.

Can I call it from code or connect it to an AI assistant?

The API tab has code for Python, JavaScript and the CLI. MCP clients like Claude and ChatGPT use https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/douyin-scraper, billed to your Apify account at the same price.

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("dami_studio/douyin-scraper").call(
run_input={"profiles": ["https://www.douyin.com/user/MS4wLjABAAAA_w1jcNvWS8o1FJDoNCIbaiaEXb4ePppdjfP4uNnkwRc"], "videosPerProfile": 20},
max_total_charge_usd=0.10,
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row.get("ok") is False:
continue
print(row["recordType"], row.get("text") or row.get("nickname"), row.get("likes"))

The rows are public content, read the way a signed-out visitor sees it, with no account and nothing private. Creator names and comments are personal data under GDPR, China's PIPL and similar laws, so keep only what you need. Douyin's own terms still apply to what you do with the data. Apify's write-up on the legality of web scraping is a good place to start, and we are not lawyers.

🆘 If something breaks

Open an issue on the actor's Issues tab. Include the run id and the link that misbehaved, and say what you expected.