Douyin Scraper avatar

Douyin Scraper

Pricing

from $4.00 / 1,000 video results

Go to Apify Store
Douyin Scraper

Douyin Scraper

Scrape Douyin (抖音) videos by keyword, creator, hashtag or URL: likes, comments, shares, music, hashtags and IP region, plus optional creator details, play counts and comments. No login or cookies.

Pricing

from $4.00 / 1,000 video results

Rating

0.0

(0)

Developer

Delowar Munna

Delowar Munna

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Features

Limited permissions

Share

Douyin Scraper

Scrape public Douyin (抖音) videos by keyword, creator, hashtag or video URL, all into one dataset with one schema. Every video row has likes, comments, shares, saves, downloads, hashtags, mentions, music, the IP region Douyin shows for the post (not on hashtag-feed videos), and the creator's name, Douyin ID and profile link.

Optional extras, each off by default and charged only when you turn it on:

  • Creator details: followers, following, total likes, post count, bio, IP region and verification.
  • Play counts: view counts. Douyin hides these in most listings, so this is an extra lookup per video.
  • Comments: top-level comments per video, as separate rows.

No Douyin account, login, cookies or browser needed.

What you can scrape

InputExampleWhat you get
Keywords咖啡, 露营, iPhoneSearch results, with sort (relevance, most liked, newest), publish-time and length filters
Creatorshttps://www.douyin.com/user/MS4wLjABAAAA…, a sec_uid, or a Douyin ID (抖音号)The creator's posts, newest first, with an optional oldest-date cutoff and pinned-post skip
Hashtags露营 or #露营, or https://www.douyin.com/hashtag/<id>Videos from the hashtag's feed
Video URLshttps://www.douyin.com/video/<id>, https://v.douyin.com/… share links, share text, or video IDsOne row per video

Mix them freely in one run. A video found by several sources is delivered (and charged) once. One run takes up to 100 keywords, 100 creators, 100 hashtags and 1,000 video URLs; split bigger lists across runs.

How many results

Max videos (whole run) is the total for the run, split evenly across your sources unless you set Max videos per source. Comments don't count toward it.

Run it with no input and it does a short demo: a 咖啡 search with 10 videos.

Input examples

Search, most liked in the last week

{
"keywords": ["咖啡"],
"sortBy": "most_liked",
"publishedWithin": "week",
"maxResults": 50
}

Creators since a date, with their profile details

{
"creators": ["https://www.douyin.com/user/MS4wLjABAAAAz1lOStxwzCZF5cJ3h8Sa2FPQ_8_l_vQdpdKEm1oEF_k"],
"oldestPostDate": "30 days",
"skipPinned": true,
"includeCreatorDetails": true,
"maxResults": 100
}

Hashtag with play counts

{
"hashtags": ["露营"],
"includePlayCounts": true,
"maxResults": 100
}

Keyword and hashtag together, with every extra (the input behind the screenshots and sample rows below)

{
"keywords": ["咖啡"],
"hashtags": ["露营"],
"videoUrls": ["https://www.douyin.com/video/7000000000000000000"],
"maxResults": 10,
"maxResultsPerSource": 5,
"includeCreatorDetails": true,
"includePlayCounts": true,
"includeComments": true,
"maxCommentsPerVideo": 1
}

The video ID in it doesn't exist, which shows how an unavailable video becomes a free error row.

Comments on specific videos

{
"videoUrls": ["https://www.douyin.com/video/7553178216526073134"],
"includeComments": true,
"maxCommentsPerVideo": 100
}

Output

Each row has a recordType: video, comment or error. The Console shows them in tabs: Videos, Hashtags & music, Creators, Comments and Errors.

Videos

Videos tab

Hashtags & music

Hashtags & music tab

Creators

Creators tab

Sample rows

From the run above. The media links are shortened; they are signed links that expire.

Video row, with creator details and play counts on. The Videos, Hashtags & music and Creators tabs all show fields from this row:

{
"recordType": "video",
"videoId": "7553178216526073134",
"videoUrl": "https://www.douyin.com/video/7553178216526073134",
"type": "video",
"description": "咖啡到底健不健康?每天喝是“续命”还是“伤身”? #咖啡的好处 #咖啡日常 #喝咖啡主打一个养生 #长期喝咖啡对身体的影响 #咖啡不断加加加加到厌倦",
"title": "咖啡到底健不健康?每天喝是“续命”还是“伤身”?",
"createdAt": "2025-09-23T10:00:00.000Z",
"durationSeconds": 219,
"ipRegion": "北京",
"hashtags": ["咖啡的好处", "咖啡日常", "喝咖啡主打一个养生", "长期喝咖啡对身体的影响", "咖啡不断加加加加到厌倦"],
"mentions": [],
"likeCount": 75810,
"commentCount": 6268,
"shareCount": 49632,
"collectCount": 21436,
"downloadCount": 2098,
"playCount": 4778716,
"isPinned": false,
"coverUrl": "https://p11-sign.douyinpic.com/tos-cn-p-0015/…",
"videoPlayUrl": "https://v3-search.douyinvod.com/…",
"imageUrls": [],
"musicId": "7553178297912478510",
"musicTitle": "@薄世宁医生创作的原声",
"musicAuthor": "薄世宁医生",
"musicIsOriginal": false,
"authorId": "61238059783",
"authorSecUid": "MS4wLjABAAAAz1lOStxwzCZF5cJ3h8Sa2FPQ_8_l_vQdpdKEm1oEF_k",
"authorDouyinId": "boshining",
"authorNickname": "薄世宁医生",
"authorProfileUrl": "https://www.douyin.com/user/MS4wLjABAAAAz1lOStxwzCZF5cJ3h8Sa2FPQ_8_l_vQdpdKEm1oEF_k",
"author": {
"id": "61238059783",
"secUid": "MS4wLjABAAAAz1lOStxwzCZF5cJ3h8Sa2FPQ_8_l_vQdpdKEm1oEF_k",
"douyinId": "boshining",
"nickname": "薄世宁医生",
"bio": "工作在临床一线第25年的ICU医生;…",
"followerCount": 6555377,
"followingCount": 198,
"totalLikes": 64675473,
"postCount": 299,
"ipRegion": "北京",
"verified": false,
"verificationText": null,
"avatarUrl": "https://p3.douyinpic.com/aweme/1080x1080/aweme-avatar/…",
"profileUrl": "https://www.douyin.com/user/MS4wLjABAAAAz1lOStxwzCZF5cJ3h8Sa2FPQ_8_l_vQdpdKEm1oEF_k"
},
"source": { "type": "keyword", "value": "咖啡", "position": 1 },
"scrapedAt": "2026-11-06T02:54:17.778Z"
}

Without Include play counts, playCount is null; without Include creator details, author is null.

Comment row (Comments tab):

{
"recordType": "comment",
"commentId": "7645931630120960805",
"videoId": "7553178216526073134",
"videoUrl": "https://www.douyin.com/video/7553178216526073134",
"text": "@抖音求真 总结一下",
"createdAt": "2026-05-31T05:59:43.000Z",
"likeCount": 125,
"replyCount": 6,
"ipRegion": "天津",
"isLikedByAuthor": false,
"authorId": "53273686090",
"authorSecUid": "MS4wLjABAAAARRDvBTfseex0HV4cWhO8ONOscFQ_SBpdxdeDql2fuI0",
"authorNickname": "玩心大潮玩",
"authorDouyinId": "740lll886",
"authorProfileUrl": "https://www.douyin.com/user/MS4wLjABAAAARRDvBTfseex0HV4cWhO8ONOscFQ_SBpdxdeDql2fuI0",
"scrapedAt": "2026-11-06T02:54:37.872Z"
}

Error row (Errors tab):

{
"recordType": "error",
"errorCode": "deleted-or-unavailable",
"errorMessage": "Douyin returned no video (reason 8: deleted-or-unavailable).",
"sourceType": "video",
"input": "https://www.douyin.com/video/7000000000000000000",
"scrapedAt": "2026-11-06T02:54:16.117Z"
}

Error codes: invalid-input, no-results, video-not-found, deleted-or-unavailable, private, partially-visible, creator-not-found, hashtag-not-found and source-failed. Error rows are never charged.

A run summary (counts, what stopped the run, and what was charged) is saved as RUN_SUMMARY in the run's key-value store.

Pricing

Pay per event: you pay for each video delivered, plus each extra you turn on (creator details once per creator per run, play counts per video, comments per comment). Error rows, duplicates and skipped videos are free, and there is no start fee. See the Pricing tab for current rates. This README deliberately doesn't quote figures.

If you set a spending limit on a run, the Actor stops when it is reached and keeps everything already paid for.

FAQ

Why is playCount empty? Douyin no longer shows view counts in search, creator or hashtag listings. Turn on Include play counts to fill it. Without it the field is null, never a misleading 0.

What is a sec_uid? Douyin's stable creator ID, the long MS4wLjAB… part of a profile URL. A Douyin ID (抖音号) can change, the sec_uid doesn't. Creator inputs work best as profile URLs.

Why is ipRegion empty on some videos? Douyin's hashtag feed doesn't include the post's IP region, so hashtag videos have ipRegion: null. Keyword, creator and video-URL results include it.

Why doesn't followerCount appear without creator details? Douyin's video data doesn't include the creator's real follower count, so it takes a profile lookup.

Do the media links last? coverUrl, videoPlayUrl and imageUrls are signed Douyin CDN links that expire after a while. Download what you need soon after the run.

Does it get transcripts? No. Douyin videos carry no caption track this Actor can read.

Why are comments slow? Douyin serves comments about 20 at a time, and each page takes several seconds or more. Keep Max comments per video to what you need.

Data and privacy

This Actor collects only what Douyin shows publicly to any visitor: no private accounts, messages, phone numbers or email addresses. Some fields are personal data (creator and commenter names, IP region). You are responsible for having a lawful basis to process them and for following the laws that apply to you, including China's Personal Information Protection Law (PIPL), the GDPR where relevant, and Douyin's terms.

This Actor is not affiliated with, endorsed by or sponsored by Douyin or ByteDance.

⌂ 换网址