Answers
How do I get a Douyin account's follower count and total likes by API?
Short answer
Call the okdata Douyin account profile endpoint with the profile link, a v.douyin.com share link or the sec_uid; it returns followers, following, total likes, video count, bio and verification for $0.002 per account. Tracking 30 competitor accounts weekly for a year costs $3.12.
A brand wants a weekly table of its own Douyin account and 29 competitors: followers, total likes and how many videos each posted. A creator-relations team wants the same numbers for 300 creators before a pitch. Profile scrapers break whenever Douyin changes its user endpoints, and firing many requests at once tends to return 400s. One profile call per account returns all of these numbers.
The endpoint
Douyin account profile takes url (a douyin.com/user/... link or a v.douyin.com share link) or id (the sec_uid). It returns:
followersandfollowing;likes, the total likes the account's videos have received (获赞);posts, the number of videos;name,username(the Douyin number),bio,avatar_url,verified;- with
view=full, underext: the profile's IP location, the verification text and the numeric uid when Douyin provides them.
The returned id is the sec_uid; store it and use it for later calls and for account videos.
Cost
| Job | Calls | Cost |
|---|---|---|
| 1 account | 1 | $0.002 |
| 300 creators, once | 300 | $0.60 |
| 30 accounts weekly for a year | 1,560 | $3.12 |
Batch script
import os, time, requests
API = "https://api.okdata.online/v1/douyin/users/get"
HEAD = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
links = ["https://www.douyin.com/user/MS4wLjABAAAA...", "https://v.douyin.com/iAbCdEf/"]
for link in links:
while True:
r = requests.get(API, headers=HEAD, params={"url": link, "fields": "id,name,followers,likes,posts"}, timeout=60)
if r.status_code != 429:
break
time.sleep(int(r.json().get("retry_after_seconds") or 1))
print(r.json()["data"]["item"])
If you send requests faster than your key's rate allows, you get a 429 with retry_after_seconds, never charged; slow down rather than resend in a tight loop.
Follower growth
Douyin shows only today's count. To chart growth, snapshot weekly and store the date. There is no endpoint for past follower counts.
Limits
- Public accounts only. Banned or deleted accounts return
not_found, which is free. - Follower counts inside videos and comments are not provided by Douyin; profiles are where they come from.
- No audience demographics or commercial rates. Those are in Xingtu (巨量星图) for advertisers.
Alternatives
For a few accounts, the app is fine. Xingtu is the right tool once you are booking creators, since it adds rates and audience data. Douyin's open platform returns profile data for accounts that authorize your app. For ranking many creators in a niche, see creator discovery.
Updated