# How do I get a Douyin account's follower count and total likes by API?

> Look up any public Douyin account by profile link or sec_uid and get followers, following, total likes, video count, bio and verification, priced per account.

Canonical page: https://okdata.online/answers/douyin-account-followers-likes/

**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](/apis/douyin/users/get/) 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](/apis/douyin/users/videos/list/).

## 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

```python
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](/solutions/creator-discovery/).

## Endpoints used

- [Douyin account profile](https://okdata.online/apis/douyin/users/get/) `douyin.users.get`: $0.002 per call
- [Douyin account videos](https://okdata.online/apis/douyin/users/videos/list/) `douyin.users.videos.list`: $0.002 per call · about 20 videos per page

Updated 2026-11-12
