Douyin Analytics 抖音数据分析 - Audience, Trends & Keywords avatar

Douyin Analytics 抖音数据分析 - Audience, Trends & Keywords

Pricing

Pay per event

Go to Apify Store
Douyin Analytics 抖音数据分析 - Audience, Trends & Keywords

Douyin Analytics 抖音数据分析 - Audience, Trends & Keywords

Douyin analytics without login: follower and audience insight for accounts and creators, video performance and comment words, keyword heat index (巨量算数), related words, hot topics, category trends and search suggestions. Export to JSON, CSV or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Silkline

Silkline

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 hours ago

Last modified

Categories

Share

Douyin Analytics 抖音数据分析 turns Douyin's trend and audience tools (热点宝 and 巨量算数) into data you can export. Get follower and audience insight for any tracked account or creator, performance, audience and comment words of a video, the keyword heat index and who searches a keyword, related words, live hot topics, content-category trends, videos by keyword, trend reports and search suggestions. No login or cookies needed. Export to JSON, CSV or Excel.

What data can you get?

The Actor has eighteen modes. Each record has a type field that tells you which kind of record it is. Dates are in China time (UTC+8), as the source reports them.

ModeGive itYou getRecord type
accountInsightDouyin profile links or sec_uid valuesone record per account: daily follower change, last week's post performance against peers, follower profile (gender, age, province), accounts, topics and search words the followers care aboutaccountInsight
videoInsightDouyin video links or IDs; optional daysone record per video: real play count and engagement, daily performance with benchmarks, viewer profile, index scores, hourly likes, provinces of the viewers who liked it, comment word cloudvideoInsight
creatorIndexDouyin user IDs, sec_uid values, profile links or names; optional daysone record per creator: weekly and monthly averages, follower profile, the creator's best videos of the periodcreatorIndex
similarCreatorsthe same creator referencesup to 20 creators the source finds similarsimilarCreator
keywordTrendkeywords; optional days and regionone record per keyword: daily content and search index, averages against the previous period and last year, the videos and searches behind the peaks, interpretationkeywordTrend
keywordAudiencekeywords; optional daysone record per keyword: who searches it, by age, gender, province and morekeywordAudience
relatedWordskeywordswords related to each keyword through video content and through searches, last full weekrelatedWord
hotTopicsa list (hotList); keywords for two of the listsrows of live hot topics, rising topics, popular keywords, trending words, topic search results, or the videos under a hot topichotTopic
keywordSuggestionskeywords; suggestionTyperows of search-box suggestions, matching trending videos or matching topicssuggestion
indexVideoskeywords; optional filtersup to 1,000 videos per keyword with the source's index and hit flags (low-follower hit, high like rate, high completion rate, high follower growth)indexVideo
categoryInsightcontent categoriesone record per category for the last full week: top keywords and topics, publishing, interaction and consumption trends, video length classescategoryInsight
reportsoptional keywordstrend reports of the index service (the recommended ones without a keyword)report
creatorCompareDouyin user IDs (numbers only); optional comparePeriod (7days or 30days)one record per creator: what the creator gained in the last 7 or 30 days (likes, comments, shares, new followers, posts), the averages per post, and the growth rates against the period beforecreatorCompare
reportDetailreport IDs, as the reports mode returns themone record per report: title, publisher, summary, keywords, visits, downloads, file link and page imagesreportDetail
reportRecommendationsreport IDs, as the reports mode returns themthe reports recommended next to each report (about 4 rows per report)reportRecommendation
creatorActivitiesoptional daysthe creator center's platform activities running in the next days (default 30)creatorActivity
creatorCoursesoptional courseOrderthe creator center's hot courses (about 30 in total)creatorCourse
creatorCourseListcourseCategoryId; optional courseOrderthe courses of one creator-center category (hundreds), newest, most popular or recommended firstcreatorCourse

Account insight (accountInsight)

FieldWhat it is
secUid, urlThe account and its Douyin page
followerChangeTrendDaily follower change, {date, change}, about 90 days
followerChangeAverageAverage of that daily change
performanceLast week's per-post averages (posts, comments, shares, newFollowers, likes), each with average, peerAverage and the two rates the source reports (averageRate, peerRate)
fansPortraitFollower profile: gender, age, province, each a list of {name, share, index}. share is 0-1; index compares with the average Douyin user (100 = average)
fansAlsoFollowUp to 20 accounts the followers also follow
fansTopicsUp to 20 topics the followers recently engage with
fansSearchWordsUp to 100 words the followers searched for in the last 3 days, with heat

The source tracks accounts that have been seen in its hot lists, so a small or very new account can return nothing. Nothing is charged for an account that returns nothing.

Video insight (videoInsight)

FieldWhat it is
videoId, url, title, authorId, publishedAt, durationSeconds, coverThe video
plays, likes, comments, favorites, shares, interactionRateReal play count and engagement as the creator marketplace shows them. Empty for videos it does not track
performanceindex, likes, comments, shares, each with total, change, daily (a point per day of the period) and benchmarks (category, author, duration, each max and average)
audienceViewer profile by group (age, gender, province and more), each a list of {name, share, index}
interpretationIndex scores of the video and its category for plays, interactions and follower growth, and the video's rank (score, percentile, level)
likesTrendHourlyCumulative likes by hour
likerProvincesProvinces of the viewers who liked the video
commentWordsUp to 80 comment words with weight

Some parts exist only for videos that are trending; for the others those fields are empty. A video the source knows nothing about (an old one, for example) returns nothing and is not charged.

Keyword trend (keywordTrend)

FieldWhat it is
keyword, startDate, endDateThe keyword and the period (ends yesterday; days sets its length, default 14)
contentIndex, searchIndexDaily content index and search index, {date, index}
average, previousPeriodAverage, lastYearAverage{content, search} averages
contentPeaksThe videos behind the content-index peaks
searchPeaksThe searches behind the search-index peaks
interpretationContent, consume and search index of the period and the change against the previous period and last year

Up to five keywords are asked together; each keyword is one record.

Hot topics (hotTopics)

hotList chooses what the rows are. Every row has the same fields; the ones a list does not carry are null.

hotListRowsNeeds keywords
realtime30 live hot topics with index, videoCount, plays, categoryno
rising30 fastest-rising topicsno
hotWords20 popular keywords with index, growth, growthRateno
recommendedWords5 recommended trending wordsno
topicSearchup to 100 topics matching each keyword, with topicId, index, videoCount, likes, playsyes
topicDetailup to 50 best videos under each hot topic name, with videoId, url, authorName, plays, likes, commentsyes

Keyword suggestions (keywordSuggestions)

suggestionTypeWhat you get per keyword
topic (default)up to 20 matching topics as rows, with topicId
videoup to 20 matching trending videos as rows, with videoId, url, authorName, likes, index, category
searchBoxone record (type searchBoxSuggestions) with the phrases Douyin's search box suggests in the list suggestions; the source often returns only a few

Rows (topic, video) carry source, keyword, rank and suggestion (the video title or topic).

Creator index (creatorIndex)

Give it a Douyin user ID, a sec_uid, a profile link or a name. A name is searched in the source's creator search: the first creator whose nickname is exactly the name is used, and if none matches exactly, the first search result is used. That result can be a different person, so prefer an ID or a profile link.

FieldWhat it is
uid, secUid, nickname, urlThe creator (secUid, nickname and url are filled when the input was a link or a name)
averageslikes, followers, shares, comments, each with weekAverage, monthAverage and the growth rates weekChange, monthChange as the source reports them
fansProfileFollower profile: gender, age, province, city, cityTier, deviceBrand, devicePrice, interest; each a list of {name, share, index}
topVideosThe best videos of the period (days, default 30): byLikes, byComments, byShares, byNewFollowers, byIndex, latest; each with videoId, url, title, likes, comments, shares, newFollowers, date

A creator the index does not track returns nothing and is not charged.

Similar creators (similarCreators)

Up to 20 rows per creator: similarTo, rank, nickname, secUid, url, douyinId, avatar, followers, likes, posts, category, subCategory.

Keyword audience (keywordAudience)

One record per keyword: keyword, startDate, endDate and audience, the profile of the people searching it by age, gender, province and more, each group a list of {name, share, index}.

Rows per keyword for the last full week (Monday to Sunday): the words related through video content (source = content, with sampleVideos) followed by those related through searches (source = search, with sampleQueries). Fields: word, score, scoreRank, scoreChangePercent, searchHeat, compositeIndex.

Videos for a keyword (indexVideos)

Up to 1,000 videos per keyword, ranked by the source's index. Fields: videoId, url, title, cover, likes, durationSeconds, authorName, authorAvatar, authorFollowers, publishedAt, index, and the flags lowFollowerHit, highLikeRate, highCompletionRate, highFollowerGrowth. Filter with videoCategory, publishedWithin, videoLabel and videoDuration. The rows carry fewer fields than a search in the Douyin Scraper (no comment or share counts).

Category insight (categoryInsight)

One record per category and last full week: hotKeywords (50), hotTopics (50), publishTrend, interactionTrend, supplyTrend, consumptionTrend (daily {date, rate}) and durationBreakdown (content share, interaction rate and completion rate per video length). Categories are slugs such as food, travel, tech; the full list is in the input field.

Trend reports (reports)

Rows: reportId, title, author, summary, keywords, reportType, publishedAt, visits, downloads, cover, fileUrl. With keywords the reports are searched; without, the recommended reports (about 70) are listed.

Creator comparison (creatorCompare)

Give it Douyin user IDs (numbers). sec_uid values, links and names are not accepted by this mode; the creatorIndex mode shows the uid of a creator. Every ID is looked up on its own, so one unknown ID never spoils the others; an ID the source does not know returns nothing. comparePeriod is 7days (default) or 30days, ending yesterday.

FieldWhat it is
uid, secUid, nickname, url, avatarThe creator
followers, totalLikes, totalPostsCurrent totals
periodDaysLength of the compared period
periodTotalsGains in the period: likes, comments, shares, newFollowers (can be negative), posts
periodTotalsChangeThe same five figures as growth rates against the period before, as the source reports them
perPostAveragesAverages per post in the period: likes, comments, shares, newFollowers
perPostAveragesChangeThe same four averages as growth rates against the period before, as the source reports them

The figures are totals and averages of the period, not a daily series.

Report detail and recommendations (reportDetail, reportRecommendations)

Both modes take reportIds: the numbers the reports mode returns in reportId. reportDetail returns one record per report with reportId, title, author, summary, keywords, reportType, publishedAt, visits, downloads, cover, fileUrl, fileName, pageImages (links to the page images, in order) and partnerInstitution. Older reports are no longer available and return nothing, as does an ID that does not exist. reportRecommendations returns about 4 rows per report (relatedTo is the report you asked about, plus rank, reportId, title, author, summary, keywords, reportType, publishedAt, cover, fileUrl); an unknown ID returns no rows.

Creator center (creatorActivities, creatorCourses, creatorCourseList)

creatorActivity rows (about a dozen per run, one request, no paging): rank, activityId, name, startAt, endAt (UTC), hotScore, activityLevel, activityType, cover, link (an in-app aweme:// link that opens only in the Douyin app), topicIds. The window is the next days days from now.

creatorCourse rows: rank (as the source reports it), courseId, title, videoId, url, description, authorId, authorName, cover, durationSeconds, publishedAt, plays, likes, comments, favorites, shares, collections (how many creators saved the course). Courses come 24 per page and further pages are fetched only while maxResults is not reached. creatorCourses lists the hot courses of all categories; creatorCourseList lists one category (courseCategoryId, default 180 with a few hundred courses).

How to use Douyin Analytics

  1. Choose a mode.
  2. Fill in the field that mode reads: accounts, videos, creators, keywords, categories or reportIds. The hot-topic lists, recommendedWords and reports need no input.
  3. Set maxResults and start the run. Download the dataset as JSON, CSV or Excel.

Input

FieldUsed byWhat it is
modeallSee the table above
accountsaccountInsightDouyin profile links or sec_uid values (start with MS4wLjAB)
videosvideoInsightDouyin video links or video IDs. Short share links are not supported
keywordskeywordTrend, keywordAudience, relatedWords, keywordSuggestions, indexVideos, reports (optional), hotTopics (two lists)Keywords in Chinese; a comma splits an entry
creatorscreatorIndex, similarCreators, creatorCompareDouyin user IDs, sec_uid values, profile links or names (creatorCompare: user IDs only)
comparePeriodcreatorCompare7days (default) or 30days
reportIdsreportDetail, reportRecommendationsReport IDs as the reports mode returns them (numbers such as 1081)
categoriescategoryInsightCategory slugs such as food (default), travel, tech
regionkeywordTrendShow the trend for one province (34 choices in the input form, e.g. 北京, 广东; all = nationwide). keywordAudience has no region filter at the source
daysvideoInsight, creatorIndex, keywordTrend, keywordAudience, creatorActivitiesPeriod length in days (1-30), ending yesterday. Default 7, 30 for creatorIndex, 14 for the keyword modes. For creatorActivities it is how many days ahead to list (default 30)
courseOrder, courseCategoryIdcreatorCourses, creatorCourseListcourseOrder: recommended (default), popular, latest. courseCategoryId: the course category to list (creatorCourseList only, default 180)
hotListhotTopicsrealtime (default), rising, hotWords, recommendedWords, topicSearch, topicDetail
suggestionTypekeywordSuggestionstopic (default), video, searchBox
videoCategory, publishedWithin, videoLabel, videoDurationindexVideosFilters for the video rows
maxResultsallTotal records or rows for the run (default 20)

Example, one account:

{ "mode": "accountInsight", "accounts": ["https://www.douyin.com/user/MS4wLjABAAAAvcQlQ5vR2pYV04MZ6EzflPQdWTJbVBNnDQTjKiLoH90"] }

Output example

A hotTopic row (hotList: "realtime"):

{
"type": "hotTopic",
"list": "realtime",
"rank": 1,
"name": "Example topic",
"index": 12106513,
"category": "科技",
"videoCount": 7,
"plays": 5944814,
"query": null,
"topicId": null
}

A keywordTrend record (shortened):

{
"type": "keywordTrend",
"keyword": "美食",
"startDate": "2026-10-12",
"endDate": "2026-10-25",
"contentIndex": [{ "date": "2026-10-12", "index": 3666303 }],
"searchIndex": [{ "date": "2026-10-12", "index": 7205382 }],
"average": { "content": 4050895, "search": 8398212 },
"interpretation": { "contentIndex": 7549385, "consumeIndex": 13890646, "searchIndex": 35272502 }
}

How much does it cost?

The Actor uses pay-per-event pricing. These are the current prices:

EventPriceWhen it is charged
Run start$0.005Once per run, when the first request to the data source succeeds, even if that request returns nothing. Not charged when the data source fails from the start or rejects the inputs, or when your spending limit cannot cover it. In creatorCompare, reportDetail and reportRecommendations every input after the first one costs the source a request of its own, so it is charged one more run start before it is looked up
Insight$0.03Per record of the modes accountInsight, videoInsight, creatorIndex, creatorCompare, reportDetail, keywordTrend, keywordAudience and categoryInsight, and per keyword of keywordSuggestions with suggestionType searchBox
Row$0.003Per row of the modes similarCreators, relatedWords, hotTopics, indexVideos, reports, reportRecommendations, creatorActivities, creatorCourses, creatorCourseList and keywordSuggestions (types topic and video)

Worked examples:

  • 10 account insights: $0.005 + 10 x $0.03 = $0.305.
  • 5 video insights: $0.005 + 5 x $0.03 = $0.155.
  • 3 keyword trends: $0.005 + 3 x $0.03 = $0.095.
  • The 30 live hot topics: $0.005 + 30 x $0.003 = $0.095.
  • Topic suggestions for 5 keywords (up to 100 rows): at most $0.005 + 100 x $0.003 = $0.305.
  • Search-box suggestions for 5 keywords (5 records): $0.005 + 5 x $0.03 = $0.155.
  • 5 creator indexes: $0.005 + 5 x $0.03 = $0.155.
  • 100 related words of one keyword: $0.005 + 100 x $0.003 = $0.305.
  • 200 videos for one keyword: $0.005 + 200 x $0.003 = $0.605.
  • Insights of 3 categories: $0.005 + 3 x $0.03 = $0.095.
  • Comparison of 1 creator: $0.005 + $0.03 = $0.035. Each further creator or report ID is looked up on its own and also pays the $0.005 start: 3 creators = 3 x $0.035 = $0.105.
  • Details of 2 reports: 2 x ($0.005 + $0.03) = $0.07.
  • Recommendations for 1 report (about 4 rows): $0.005 + 4 x $0.003 = $0.017.

You never pay for more than maxResults items, items that were not delivered are never charged, and the run stops by itself if your spending limit is reached. Before each insight record the run checks that your limit still covers its $0.03, and stops without fetching it if not; parts the data source cannot deliver stay empty and do not change the price.

On the free Apify plan, every run returns a sample dataset: a real result of this Actor's prefilled input, captured on the date shown in the run status, so you can see exactly what the output looks like. Your own input is not used and nothing is charged. To run your own queries, use any paid Apify plan.

Use cases

  • Check an influencer's audience (age, gender, province, what the followers search for) before a campaign.
  • Judge why a video took off: performance against its category, viewer profile, comment words.
  • Find what to make next: keyword heat, related words, search suggestions, category trends, videos that hit from low-follower accounts.
  • Track live hot topics and trending words every day.
  • Read the source's trend reports in bulk.

Integrations and API

Start runs through the Apify API, schedule them, or connect the dataset to your tools. Python example:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("clover_folktale/douyin-analytics").call(run_input={"mode": "keywordTrend", "keywords": ["美食", "咖啡"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["keyword"], item["average"])

Tips and limits

  • maxResults is the total across all inputs in the run; a run stops as soon as it is reached.
  • Accounts, videos and keywords the source has no figures for are skipped and not charged; if too many inputs return nothing, the run stops to protect your budget.
  • The source's account and video analytics cover what is trending; start from a hot list or a keyword to find accounts and videos worth analysing.
  • Weekly figures (relatedWords, categoryInsight) cover the last full Monday-to-Sunday week.
  • A creator given by name: the first result whose nickname is exactly the name is used, otherwise the first search result, which may be a different person. Use an ID or a profile link when it matters which creator you mean.
  • Index figures (content, search, consume) are the source's own relative heat scores, not view counts.
  • Times are in China time (UTC+8). Shares are fractions (0.25 = 25%).
  • The Actor retries transient errors on its own and stops cleanly instead of failing half-way.
  • Free plan. Every run on the free Apify plan returns a stored sample dataset (a real result of the prefilled input); your own input is not used and nothing is charged. Use any paid Apify plan to run your own queries.

FAQ

Do I need a Douyin account?

No. You do not need a Douyin account, API keys, proxies or cookies.

The Actor returns aggregate figures and public lists that Douyin's own trend and audience tools publish: follower and viewer statistics by group, trend curves, hot lists and search suggestions. It returns no private personal data.

How fresh is the data?

Every run reads the figures the source shows at that moment. Hot lists change through the day; account and video figures are daily.

Why are some fields empty?

Some parts exist only for some accounts or videos (for example the like-audience of a video is published for trending videos only). See the field tables above.

Can I schedule runs and export the data?

Yes. You can schedule runs in Apify Console or start them through the API, and export every dataset as JSON, CSV or Excel.

A field or mode I need is missing. What can I do?

Open an issue from the Actor page and it will be looked at.

More tools from the same developer