问答

怎么用 API 找到某个细分领域的 TikTok 达人?

简短回答

先用 TikTok 视频搜索搜这个领域的关键词(每页约 30 条视频,$0.002),按作者把视频归类,再用 TikTok 账号信息查有潜力的博主的粉丝、获赞和作品数(每个 $0.002)。10 个关键词各翻 3 页、再查 150 个账号,整份名单共 $0.36。

一个做家用意式咖啡机的品牌,想在 TikTok 上找 20 个腰部达人:粉丝 1 万到 10 万,平时就拍咖啡内容,而且视频有人点赞。没人整理过这样一份名录。不过这些人会出现在搜索结果里,挂在那些你的目标客户会去搜的视频上。

做法

  1. 把领域翻译成搜索词。 列十个买家会搜的短语,比如 home espresso、latte art at home、espresso machine review。用目标市场的语言写,因为搜索没有国家筛选,语言就是最好的地域过滤。
  2. 逐个搜索。 用 TikTok 视频搜索,sort=most_liked,每个词翻三页。每页约 30 条视频,带作者用户名。
  3. 按作者归类。 统计每个博主有几条视频上榜,再把点赞加总。同一个人在四个不同的词下都出现,基本可以判断是这个领域的常驻博主;偶然爆了一条的,只会出现一次。
  4. 查账号信息。 对排名前 150 的用户名调用 TikTok 账号信息,拿到粉丝、累计获赞、作品数和简介。
  5. 筛选。 留下粉丝区间合适的,去掉作品太少的,再从简介里找联系邮箱。

费用

步骤 调用次数 费用
10 个词 × 3 页 30 $0.06
150 个账号 150 $0.30
整份名单 180 {{cost:tiktok.videos.search30+tiktok.users.get150}}

脚本

import os, requests
from collections import defaultdict

API = "https://api.okdata.online/v1"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}

def get(path, **params):
    body = requests.get(f"{API}/{path}", headers=H, params=params, timeout=60).json()
    if body["code"] != "ok":
        raise RuntimeError(f"{body['code']}: {body['message']}")
    return body

phrases = ["home espresso", "latte art at home", "espresso machine review"]
hits = defaultdict(lambda: {"videos": 0, "likes": 0})
for q in phrases:
    cursor = None
    for _ in range(3):
        body = get("tiktok/videos/search", query=q, sort="most_liked", **({"cursor": cursor} if cursor else {}))
        for v in body["data"]["items"]:
            if not v["author"]["username"]:
                continue
            h = hits[v["author"]["username"]]
            h["videos"] += 1
            h["likes"] += v["metrics"]["likes"] or 0
        if not body["page"]["has_more"]:
            break
        cursor = body["page"]["next_cursor"]

top = sorted(hits, key=lambda u: (hits[u]["videos"], hits[u]["likes"]), reverse=True)[:150]
for handle in top:
    p = get("tiktok/users/get", username=handle)["data"]["item"]
    if 10_000 <= (p["followers"] or 0) <= 100_000:
        print(handle, p["followers"], p["likes"], p["posts"], (p["bio"] or "")[:60])

这套方法看不到的东西

  • 粉丝的年龄、性别、国家分布不公开,这里也没有。
  • 搜索结果里作者的粉丝数是空的,所以才需要第 4 步单独查。
  • 没有账号搜索,也没有某个账号的作品列表。从来不在你这些词下出现的博主就找不到,与其往深处翻页,不如把搜索词列得更宽一些。

其他选择

TikTok 自己的达人营销平台能看到粉丝画像,还能直接发合作邀约。已经有 TikTok 广告账户、开始投付费合作时,用它更合适。网红数据库按月收费,替你省掉搜索这一步。如果只是先凑二十个名字,拿着本子刷 App 也行。同样的方法用在多个平台上,可以看达人发现方案。

更新于