问答

怎么用 API 查抖音账号的粉丝数和获赞总数?

简短回答

用主页链接、v.douyin.com 分享短链或 sec_uid 调 okdata 的抖音账号信息接口,返回粉丝数、关注数、获赞总数、作品数、简介和认证,每个账号 $0.002。每周跟踪 30 个竞品账号,一年共 $3.12。

品牌想每周出一张表,包括自己的抖音号和 29 个竞品:粉丝数、获赞总数、各自发了多少条视频。达人合作团队在提案前,要给 300 个达人补上同样的数字。主页爬虫在抖音改用户接口时就会失效,而且同时发太多请求,常常直接返回 400。每个账号调一次账号信息接口,这些数字就全有了。

接口

抖音账号信息接受 url(douyin.com/user/... 链接或 v.douyin.com 分享短链)或 id(sec_uid)。返回:

  • followers 粉丝数、following 关注数;
  • likes:账号所有视频获得的点赞总数(获赞);
  • posts:作品数;
  • name 昵称、username(抖音号)、bio 简介、avatar_url 头像、verified 认证;
  • 加 view=full 时,ext 里有主页的 IP 属地、认证说明,以及抖音提供时的数字 uid。

返回的 id 就是 sec_uid,存下来,之后再查或者调账号作品列表都用它。

费用

任务 调用次数 费用
1 个账号 1 $0.002
300 个达人,查一次 300 $0.60
30 个账号每周一次,一年 1,560 $3.12

批量脚本

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"])

请求速度超过 key 的频率限制时,会收到 429 和 retry_after_seconds,不扣费;放慢速度,不要在循环里狂发重试。

粉丝增长

抖音只展示当天的粉丝数。想画增长曲线,就每周存一次快照并记下日期。没有查询历史粉丝数的接口。

限制

  • 只能查公开账号。被封或已注销的账号返回 not_found,不扣费。
  • 视频和评论里的作者信息,抖音不提供粉丝数;粉丝数要从账号信息里查。
  • 没有粉丝画像和商业报价。这些在面向广告主的巨量星图里。

其他选择

只看几个账号,用 App 就行。真要下单合作时,星图更合适,它有报价和粉丝画像。抖音开放平台可以拿到授权了你应用的账号的资料。要在某个领域里给大量达人排序,可以看达人发现方案。

更新于