要用 API 采集抖音评论,把视频的 aweme_id POST 到 Scavio 的 https://api.scavio.dev/api/v1/douyin/video/comments,count 设为 50。每页最多返回 50 条评论,每条带正文、发布时间、点赞数、回复数和 IP 属地,响应里的 cursor 用来翻下一页;某条评论的回复用 /video/comment-replies 获取。每次调用 1 积分,不需要抖音账号,也不需要企业资质。
抖音开放平台的评论能力面向你自己授权的账号,读不了任意公开视频的评论区,所以做竞品评论分析、品牌舆情或用户调研时需要第三方 API。下面每一步都用 Scavio 在 2026 年 11 月 2 日的真实响应演示,例子是创作者“唐姨”的羽绒服测评视频,评论区里全是买家在问哪个牌子值得买。JSON 只做了删减,没有改动任何值。
准备工作
- 一个 Scavio API 密钥。注册即送 50 积分,无需绑卡。
- 任意能发 HTTP 请求的语言。下面用 cURL 和 Python。
第 1 步:把视频链接解析成 aweme_id
评论接口需要视频 id(aweme_id)。如果手上只有链接,先调用解析视频 id接口:
curl -X POST 'https://api.scavio.dev/api/v1/douyin/resolve/video-id' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"url": "https://www.douyin.com/video/7568824275486903588"}'{"data":{"aweme_id":"7568824275486903588"},"response_time":696,"credits_used":1,"credits_remaining":73996}如果拿到的是 App 里复制的短分享链接,可以直接用 /video/by-share-url,一次返回完整的视频对象。
第 2 步:先看视频本身
视频详情接口告诉你这条视频有多少评论,值不值得全量采集:
curl -X POST 'https://api.scavio.dev/api/v1/douyin/video' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"aweme_id": "7568824275486903588"}'{
"aweme_id": "7568824275486903588",
"desc": "一次测7家羽绒服,到底哪件值得买? #羽绒服 #羽绒服测评 #羽绒服推荐 #双十一 #唐姨质检",
"create_time": 1762254239,
"author": {
"nickname": "唐姨",
"follower_count": 71428,
"total_favorited": 471821
},
"statistics": {
"play_count": 0,
"digg_count": 18414,
"comment_count": 1775,
"share_count": 6285,
"collect_count": 8147
}
}1,775 条评论,按每页 50 条算,全量约 36 次调用。注意这里的 play_count 是 0,播放量要在第 6 步用统计接口取。完整响应还带视频与封面链接、时长、音乐和话题。
第 3 步:分页拉评论
curl -X POST 'https://api.scavio.dev/api/v1/douyin/video/comments' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"aweme_id": "7568824275486903588", "count": 50}'第一页返回 50 条评论,以及 "cursor": 50、"total": 1775、"has_more": true。下一页把 "cursor": 50 加进请求体,返回的 cursor 变成 100,两页共 100 条,没有重复。其中点赞最多的一条,作者字段删减后:
{
"id": "7575538356471104305",
"text": "我双11买了件雪中飞的新款羽绒服,收到手拍一拍就蓬起来了 也没什么奇怪味道 感觉绒的品质真不错也不贵诶",
"create_time": 1763817473,
"digg_count": 922,
"reply_count": 15,
"ip_label": "浙江",
"author": {
"nickname": "青青子",
"region": "CN"
}
}| 字段 | 含义 |
|---|---|
id | 评论 id,取回复时要用 |
text | 评论正文,表情显示为 [流泪] 这样的文字代码 |
create_time | 发布时间,Unix 秒级时间戳 |
digg_count | 点赞数 |
reply_count | 回复数,没有回复时可能为 0 或 null |
ip_label | 抖音公开显示的省级 IP 属地 |
评论按抖音展示的顺序返回,不是按点赞排序:这 100 条里有新发的零赞评论,也有一年前的高赞评论。要找热门评论,拉完再按 digg_count 排。
第 4 步:拉评论回复
高赞评论下面往往才是真实的争论。把视频 id 和评论 id 传给评论回复接口:
curl -X POST 'https://api.scavio.dev/api/v1/douyin/video/comment-replies' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"aweme_id": "7568824275486903588", "comment_id": "7575538356471104305", "count": 20}'一次返回了全部 15 条回复,has_more 为 false。那条夸雪中飞的评论有 922 个赞,回复里却有不少反对意见,例如“特别薄!!!”“这个领标不是雪中飞啊”,最新的一条是:
{
"id": "7703248496028025619",
"text": "雪中飞不能买",
"create_time": 1793552309,
"digg_count": 0,
"ip_label": "江苏"
}只看一级评论会得出“雪中飞口碑好”的结论,把回复一起拉下来,结论就复杂得多。
第 5 步:统计品牌提及
评论拿到手以后,分析就是普通的文本处理。下面统计两页评论里各品牌被提到的次数和这些评论的总点赞:
import requests
API = "https://api.scavio.dev/api/v1/douyin/video/comments"
HEADERS = {"Authorization": "Bearer sk_live_your_key"}
AWEME_ID = "7568824275486903588"
comments, cursor = [], None
for _ in range(2): # 每页 50 条,按需加大
body = {"aweme_id": AWEME_ID, "count": 50}
if cursor is not None:
body["cursor"] = cursor
data = requests.post(API, headers=HEADERS, json=body, timeout=60).json()["data"]
comments += data["comments"]
cursor = data["cursor"]
if not data["has_more"]:
break
brands = ["亮世秋", "明摩", "乆鸟", "骆驼", "Ucub", "雪中飞", "鸭鸭", "波司登"]
for b in brands:
hits = [c for c in comments if b.lower() in (c["text"] or "").lower()]
print(b, len(hits), sum(c["digg_count"] for c in hits))这 100 条评论的结果:
| 品牌 | 提到它的评论数 | 这些评论的总点赞 |
|---|---|---|
| 亮世秋 | 13 | 246 |
| 明摩 | 11 | 959 |
| “乆鸟”(评论里写作凸乆鸟、秃乆鸟、凹乆鸟) | 5 | 17 |
| 骆驼 | 4 | 41 |
| Ucub | 4 | 1 |
| 雪中飞 | 2 | 922 |
| 鸭鸭、波司登 | 各 2 | 0 |
提及次数和影响力不是一回事:亮世秋被提到最多,但明摩的 11 条评论拿到 959 个赞,其中一条“看了你的视频,今天买了一件明摩的4百多,270克绒,超暖和”就有 713 个赞和 28 条回复。雪中飞只被提到 2 次,却靠一条评论拿到 922 个赞。另外有 3 条评论在 @豆包 让它总结视频,说明评论区本身也在被 AI 读。100 条评论来自 26 个省级 IP 属地,山东和安徽各 9 条最多。品牌名在评论里常有变体和谐音,关键词表要自己维护。
第 6 步:补上播放量和创作者信息
视频统计接口一次可以查多个视频,id 用英文逗号分隔:
curl -X POST 'https://api.scavio.dev/api/v1/douyin/video/statistics' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"aweme_ids": "7568824275486903588,7562793965227380025,7568150851840249138"}'{
"statistics": [
{ "aweme_id": "7568824275486903588", "play_count": 1793418, "digg_count": 18414 },
{ "aweme_id": "7562793965227380025", "play_count": 1394855, "digg_count": 28572 }
]
}唐姨这条视频播放 1,793,418 次。我们传了 3 个 id,只返回了 2 个,所以按 aweme_id 对账,缺的单独重查。统计接口里的 share_count(这条是 158)和视频详情里的 6,285 口径不同,不要混在一张表里。创作者信息用创作者主页接口,传 sec_user_id:唐姨有 71,428 个粉丝、67 个作品、471,821 个获赞。
第 7 步:找更多要采集的视频
要按话题批量找视频,用视频搜索,必填参数是 keyword:
curl -X POST 'https://api.scavio.dev/api/v1/douyin/search/videos' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"keyword": "双11 羽绒服"}'这次返回 9 条视频,每条都有 aweme_id、互动数据和作者粉丝数,翻页用返回的 cursor 和 search_id。搜索每次 10 积分,偶尔会临时失败(失败不扣积分),定时任务里要加重试。拿到 aweme_id 后回到第 3 步即可。
全部 27 个抖音接口
| 接口 | 返回内容 | 积分 |
|---|---|---|
/api/v1/douyin/video | 单个视频的完整详情 | 1 |
/api/v1/douyin/video/by-share-url | 用分享链接取视频详情 | 1 |
/api/v1/douyin/video/statistics | 多个视频的播放、点赞、分享等实时数据 | 1 |
/api/v1/douyin/video/comments | 一级评论,每页最多 50 条 | 1 |
/api/v1/douyin/video/comment-replies | 某条评论下的回复 | 1 |
/api/v1/douyin/related | 相关推荐视频 | 1 |
/api/v1/douyin/user/profile | 创作者主页 | 1 |
/api/v1/douyin/user/posts | 创作者作品 | 1 |
/api/v1/douyin/user/likes | 公开的点赞列表 | 1 |
/api/v1/douyin/user/followers、/user/following | 粉丝列表、关注列表 | 各 1 |
/api/v1/douyin/user/live | 创作者当前的直播间 | 1 |
/api/v1/douyin/hashtag、/hashtag/videos | 话题详情、话题下的视频 | 各 1 |
/api/v1/douyin/music、/music/videos | 音乐详情、使用该音乐的视频 | 各 1 |
/api/v1/douyin/live/room | 直播间状态、标题、观看人数和主播 | 1 |
/api/v1/douyin/trending | 热榜,带热度值、观看量和视频数 | 1 |
/api/v1/douyin/home-feed | 首页推荐流 | 1 |
/api/v1/douyin/resolve/video-id、/resolve/user-id | 把链接解析成视频 id、用户 id | 各 1 |
/api/v1/douyin/search | 综合搜索 | 10 |
/api/v1/douyin/search/videos、/search/users | 搜索视频、搜索创作者 | 各 10 |
/api/v1/douyin/search/music、/search/hashtags | 搜索音乐、搜索话题 | 各 10 |
/api/v1/douyin/search/live | 按昵称或抖音号查直播间 | 10 |
想比较其他抖音数据服务商,看抖音数据采集 API 对比。
开始使用
- 注册:dashboard.scavio.dev/sign-up,送 50 积分,无需绑卡。
- 复制 API 密钥:注册后控制台里已自动生成。
- 发第一个请求:把视频 id POST 到
/api/v1/douyin/video/comments,请求头带Authorization: Bearer 你的密钥。
免费试用抖音 API,先在 Playground 里跑一遍;也可以通过 MCP 服务器在 Claude 等 AI 智能体里直接调用。价格见价格页。
Frequently asked questions
抖音评论接口一次能拿多少条?
Scavio 的 /api/v1/douyin/video/comments 用 count 控制每页条数,范围 1 到 50。响应里的 total 是评论总数,cursor 是下一页的起点,has_more 为 true 时继续翻页。2026 年 11 月 2 日对一条 1,775 条评论的视频,两次调用拿到 100 条不重复的评论。
能采集抖音评论下面的回复吗?
可以。每条评论带 reply_count,把视频的 aweme_id 和评论的 id 传给 /api/v1/douyin/video/comment-replies,就能拿到这条评论下的回复,字段结构和评论相同,同样按 cursor 分页。示例里点赞最多的评论有 15 条回复,一次调用全部返回。
评论里的 IP 属地能拿到吗?
能。每条评论和回复都有 ip_label 字段,是抖音公开显示的省级 IP 属地,例如“浙江”“河南”。适合做地区分布统计,但它只是 IP 属地,不等于用户的真实住址,也不要用来定位个人。
评论是按点赞排序的吗?
不是。接口按抖音展示的顺序返回评论,第一页里既有高赞评论,也有刚发的零赞评论。要找热门评论,先把需要的页数拉下来,再在本地按 digg_count 排序。
采集 1 万条抖音评论要多少钱?
每页最多 50 条,1 万条约 200 次调用,即 200 积分。按 Scavio Growth 年付每 1,000 积分约 2 美元计算,约 0.4 美元。新账号注册送 50 积分,够先跑完本文的全部步骤。