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:

  • followers and following;
  • 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, under ext: 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