获取指定话题作品数据
最低 ¥0.03/次起即将上线单价随接口累计调用量阶梯调整
POST
https://redfox.hk/story/api/tiktok/ability/topicAwemeListAPI 密钥获取与配置
获取密钥调用 API 前,请先在控制台生成 API 密钥并完成配置。在 HTTP 请求头中添加API Key 字段,密钥用于身份校验与额度计费。
获取步骤
- 前往控制台页面,进入 API 密钥管理模块。
- 若无已生成的密钥,点击生成新密钥,复制并妥善保存密钥。
- 在请求头中添加
REDFOX_API_KEY或X-API-KEY字段并填入密钥后即可调用。
API说明
Method:POST
Host:https://redfox.hk
Path:/story/api/tiktok/ability/topicAwemeList
请求头
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| REDFOX_API_KEY | string | 是 | 平台鉴权令牌,每次请求必填 | ak_xxxxxx |
| Content-Type | string | 是 | 请求体数据类型 | application/json |
请求参数
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| ch_id | integer | 否 | 话题ID,必填 | 7551 |
| cursor | integer | 否 | 翻页游标,必填,第一页传0 | 0 |
| region | string | 否 | 地区,支持US、GB、FR、JP、VN、SG,默认US |
返回值与结构
统一包装一般为 `code`、`message`/`msg`、`data`(以实际服务为准)。
响应字段
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| hasMore | integer | 是否还有更多数据,1-是,0-否 | |
| nextCursor | integer | 下一页游标 | |
| workList | array | 作品列表 | |
| area | string | 地区 | |
| authorData | object | 作者数据 | |
| avatarImage | string | 作者头像 | |
| enterpriseVerify | string | 企业认证信息 | |
| secUserId | string | 作者secUid | |
| userArea | string | 作者地区 | |
| userHandle | string | 作者唯一ID(handle) | |
| userId | string | 作者UID | |
| userName | string | 作者昵称 | |
| userSignature | string | 作者签名 | |
| verifyInfo | string | 认证信息 | |
| content | string | 作品描述 | |
| mediaType | string | 内容类型(video/photo等) | |
| musicData | object | 音乐数据 | |
| musicAlbum | string | 专辑 | |
| musicAuthor | string | 音乐作者 | |
| musicCoverImage | string | 音乐封面 | |
| musicDuration | integer | 音乐时长(秒) | |
| musicId | string | 音乐ID | |
| musicPlayAddress | string | 音乐播放地址 | |
| musicTitle | string | 音乐标题 | |
| originalSoundFlag | boolean | 是否原创声音 | |
| publishTime | integer | 发布时间戳(秒) | |
| shareLink | string | 分享链接 | |
| statsData | object | 统计数据 | |
| commentTotal | integer | 评论数 | |
| downloadTotal | integer | 下载数 | |
| favoriteCount | integer | 收藏数 | |
| forwardTotal | integer | 转发数 | |
| likeCount | integer | 点赞数 | |
| repostTotal | integer | 转载数 | |
| shareTotal | integer | 分享数 | |
| viewCount | integer | 播放数 | |
| whatsappShareTotal | integer | WhatsApp分享数 | |
| videoData | object | 视频数据 | |
| coverImage | string | 封面图 | |
| definition | string | 清晰度 | |
| downloadAddress | string | 下载地址(带水印) | |
| downloadNoMarkAddress | string | 无水印下载地址 | |
| dynamicCoverImage | string | 动态封面图 | |
| originCoverImage | string | 原始封面图 | |
| playAddress | string | 播放地址 | |
| playDuration | integer | 视频时长(毫秒) | |
| videoHeight | integer | 视频高度 | |
| videoWidth | integer | 视频宽度 | |
| watermarkFlag | boolean | 是否有水印 | |
| workId | string | 作品ID | |
| workType | integer | 作品类型 |
请求示例
# 暂无示例响应示例
{
"code": 2000,
"data": {
"hasMore": 1,
"nextCursor": 10,
"workList": [
{
"area": "MM",
"authorData": {
"avatarImage": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/06e23456f157d0da00190670a12f4e47~tplv-tiktokx-cropcenter-q:1080:1080:q70.heic?dr=9608&refresh_token=e8126577&x-expires=1790233200&x-signature=bA1AvpcEjfgnEDI0xXynjoeXaio%3D&t=223449c4&ps=87d6e48a&shp=d05b14bd&shcp=c0f880ed&idc=no1a&sc=avatar&s=CHALLENGE_AWEME",
"enterpriseVerify": "",
"secUserId": "MS4wLjABAAAA788Lx-EQ7nVevO2fXf8R7PWepFUpJOyTiLM-DHLDObAD4MoKIHTrytqUJrgow9qE",
"userArea": "MM",
"userHandle": "redmi13r5g8",
"userId": "7404855158101328902",
"userName": "『[{𝙂𝙁𝟵𝟮𝟬𝙈𝙓}]』👾",
"userSignature": "Following me on my Twitter \nunder there 👇",
"verifyInfo": ""
},
"content": "it just I finally get a cat but he won't move #cat #zzzero #anime #drawing #fyp ",
"mediaType": "video",
"musicData": {
"musicAlbum": "",
"musicAuthor": "Sound Production Gin",
"musicCoverImage": "https://p16-sg.tiktokcdn.com/aweme/720x720/tos-alisg-v-2774/bf3989b5faf641e59beded8fafcea76a.jpeg",
"musicDuration": 86,
"musicId": "6817427845007017985",
"musicPlayAddress": "https://sf16-music.tiktokcdn-eu.com/obj/tos-alisg-ve-2774/dafd849298734b018a4f8b7382b555e6",
"musicTitle": "Creepy, scary, horror, synth, tension",
"originalSoundFlag": false
},
"publishTime": 1790130435,
"shareLink": "https://www.tiktok.com/@redmi13r5g8/video/7688551643868122375?_r=1&u_code=f026giji483kb6&preview_pb=0&sharer_language=en&_d=f026ek5876ikd4&share_item_id=7688551643868122375&source=h5_m",
"statsData": {
"commentTotal": 761,
"downloadTotal": 279,
"favoriteCount": 9972,
"forwardTotal": 0,
"likeCount": 43557,
"repostTotal": 0,
"shareTotal": 8573,
"viewCount": 224691,
"whatsappShareTotal": 20
},
"videoData": {
"coverImage": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-p-0037/oQPA5i4IBAAziV9oV0EPCaYOZwArEQAloBEMq~tplv-tiktokx-origin.image?dr=1347&refresh_token=79617d4e&x-expires=1790233200&x-signature=EfR8hjcy1WpokLf%2B7IE7IV4zO4c%3D&t=bacd0480&ps=933b5bde&shp=d05b14bd&shcp=c0f880ed&idc=no1a&biz_tag=tt_video&s=CHALLENGE_AWEME&sc=cover",
"definition": "540p",
"downloadAddress": "https://v16m.tiktokcdn-eu.com/5b2df10ac4edf02c9c90d1f8292b10d1/6ab4d269/video/tos/alisg/tos-alisg-pve-0037c001/oI1uIzFCABiSbw8BdOvAfiR6xAqSjEPQIZWVDQ/?a=1233&bti=NXYpNDs8QGo6OjZAOm00NTAuYCMxNDNg&&bt=773&eid=20480&ft=XsFb8q4fmbdPD12BTp2I3wUjoDswMeF~O5&mime_type=video_mp4&rc=ZDNlaThoaDo2NTg6NWloNkBpajhvNnQ5cmttZDMzODczNEA0LWNfXy1hXi8xX2M0YGA2YSNiam41MmRzZW1hLS1kMTFzcw%3D%3D&vvpl=1&l=2026092307334006E19029EEBEF427735B&btag=e00070000",
"downloadNoMarkAddress": "https://v16m.tiktokcdn-eu.com/fc3fbb0d0eb296030ac5fc083ce70379/6ab4d269/video/tos/alisg/tos-alisg-pve-0037c001/ocIFwIA1zWzOxibx6duBQwOCqFAfAjQcVE4PiZ/?a=1233&bti=NXYpNDs8QGo6OjZAOm00NTAuYCMxNDNg&&bt=369&ft=XsFb8q4fmbdPD12BTp2I3wUjoDswMeF~O5&mime_type=video_mp4&rc=Ozo2ZTozZDc7OWg5aWhmZUBpajhvNnQ5cmttZDMzODczNEA1Yi81MGIuXl4xNl8vNGFiYSNiam41MmRzZW1hLS1kMTFzcw%3D%3D&vvpl=1&l=2026092307334006E19029EEBEF427735B&btag=e00070000",
"dynamicCoverImage": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-p-0037/oQPA5i4IBAAziV9oV0EPCaYOZwArEQAloBEMq~tplv-tiktokx-origin.image?dr=9229&refresh_token=79617d4e&x-expires=1790233200&x-signature=EfR8hjcy1WpokLf%2B7IE7IV4zO4c%3D&t=bacd0480&ps=4f5296ae&shp=d05b14bd&shcp=c0f880ed&idc=no1a&biz_tag=tt_video&s=CHALLENGE_AWEME&sc=dynamic_cover",
"originCoverImage": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-p-0037/oIF6O1iufAAPAPBjCQlzxQIwViIXZW4qbqiIAd~tplv-tiktokx-shrink-aq:360:360:q75.heic?dr=13023&refresh_token=916c46ba&x-expires=1790233200&x-signature=9NEpWe6WvwfbBQlBLb85cVsNGMg%3D&t=bacd0480&ps=d97f9a4f&shp=d05b14bd&shcp=c0f880ed&idc=no1a&s=CHALLENGE_AWEME&sc=feed_cover&biz_tag=tt_video",
"playAddress": "https://v16m.tiktokcdn-eu.com/fc3fbb0d0eb296030ac5fc083ce70379/6ab4d269/video/tos/alisg/tos-alisg-pve-0037c001/ocIFwIA1zWzOxibx6duBQwOCqFAfAjQcVE4PiZ/?a=1233&bti=NXYpNDs8QGo6OjZAOm00NTAuYCMxNDNg&&bt=369&ft=XsFb8q4fmbdPD12BTp2I3wUjoDswMeF~O5&mime_type=video_mp4&rc=Ozo2ZTozZDc7OWg5aWhmZUBpajhvNnQ5cmttZDMzODczNEA1Yi81MGIuXl4xNl8vNGFiYSNiam41MmRzZW1hLS1kMTFzcw%3D%3D&vvpl=1&l=2026092307334006E19029EEBEF427735B&btag=e00070000",
"playDuration": 20634,
"videoHeight": 1024,
"videoWidth": 576,
"watermarkFlag": true
},
"workId": "7688551643868122375",
"workType": 0
}
]
},
"msg": "成功"
}常见状态码说明
调用接口时,响应体中的 code 字段对应以下状态码。完整列表请查看 API 状态码说明页。
| 状态码 | 说明 | 排查建议 |
|---|---|---|
400 | 请求参数错误 | 检查请求体、Query 参数是否与文档一致,必填项是否齐全。 |
401 | 鉴权失败 | 确认请求头已添加 REDFOX_API_KEY 或 X-API-KEY,且密钥有效、未禁用。 |
403 | 无权限访问 | 当前密钥或账号无权调用该接口,请检查密钥状态与接口权限。 |
500 | 系统内部错误 | 服务端异常,请稍后重试;持续出现请联系技术支持。 |
503 | 服务暂不可用 | 服务维护或短暂过载,请间隔一段时间后重试。 |
1001 | 缺少必要参数 | 对照「请求参数」表,补全必填字段。 |
1002 | 参数格式不正确 | 检查字段类型与格式(如 URL、日期、枚举值)是否符合说明。 |
1003 | 参数类型错误 | 确认 JSON 中数字、字符串、布尔等类型与文档定义一致。 |
3103 | 密钥不存在 | 密钥可能已删除或填写错误,请前往控制台核对并重新复制。 |
3105 | API Key 已禁用 | 在控制台启用该密钥,或创建新密钥后替换请求头中的值。 |
3201 | 积分不足 | 账户余额不足以支付本次调用,请前往控制台充值后再试。 |
3202 | 积分账户不存在 | 账号积分账户异常,请登录控制台确认账户状态。 |
4004 | 操作过于频繁,请稍后再试 | 触发频率限制,降低请求频率或增加调用间隔后重试。 |