POST
/v1/user_posts"platform": "tiktok"TikTok 账号作品接口
一个账号最近发布的视频。
TikTok 账号作品 API(数据接口)返回一个公开 TikTok 账号最近发布的视频:正文、作者、点赞数、评论数、播放或阅读数和发布时间,返回格式和 SocialToAI 的其他调用相同。每次调用 2 积分(约 $0.004–$0.0067),失败不扣。用 HTTP 调用,或让 AI 客户端通过 MCP 调用。最近实测:2026-10-17。
2 积分每次调用
每页最多 10 条一次调用返回一页
2026-10-17最近实测
1.0 KB示例返回的体积(1 条)
最近更新:
请求与返回
curl https://api.socialtoai.com/v1/user_posts \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "platform": "tiktok", "username": "nasa" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/user_posts", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "platform": "tiktok", "username": "nasa", },)print(response.json())# 已经通过 MCP 接好了?直接用大白话问。这个 TikTok 账号最近发了什么:nasa# 你的 AI 会调用 user_posts 工具,参数是:{ "platform": "tiktok", "username": "nasa"}改一改请求上面的代码会跟着变。
sort200 OK1.0 KB2 积分
{ "platform": "tiktok", "status": "ok", "items": [ { "platform": "tiktok", "id": "…", "ref": "…", "approx": [], "type": "content", "url": "https://example.com/…", "format": "video", "title": null, "text": "…", "published_at": "2026-07-21T20:09:02.000Z", "author": { "id": "…", "username": "…", "name": "…", "verified": null, "followers": 2060928 }, "metrics": { "likes": 103312, "comments": 3021, "shares": 3253, "collects": 7513, "views": 1592522, "reposts": null }, "images": null, "hashtags": [], "is_pinned": true } ], "unavailable": ["title", "author.verified", "metrics.reposts", "images"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-12T19:15:11.000Z" }, "cost_credits": 2}likes 103,312comments 3,021shares 3,253collects 7,513views 1,592,522
示例里的名称和正文已去掉,数字是录制时的真实值。
示例数据录制的 10 条里的 1 条
4 个参数。
2 个必填。
用 POST 发一个 JSON 请求体。Key 放在 Authorization 请求头里,不要放进网址。
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| platform | string | 必填 | — | 这一页固定填 "tiktok"。 |
| username | string | 必填 | — | TikTok 账号名,不带 @ |
| sort | string | 选填 | "latest" | 按发布时间排,或按热门排"latest""popular" |
| cursor | string | 选填 | — | 填上一次返回的 page.cursor,取下一页。 |
这些值从哪里拿。
items 里每一条的字段。
TikTok 给不了的标出来了。
| 字段 | 类型 | 含义 |
|---|---|---|
| items[].url | string | 能直接打开的链接。 |
| items[].format | string | video、image、text 或 article。 |
| items[].title | string始终 null | 标题。 |
| items[].text | string | 正文或文案。 |
| items[].published_at | string | 发布时间,ISO 8601(UTC)。 |
| items[].author.id | string | 作者的账号编号。 |
| items[].author.username | string | 作者的账号名。 |
| items[].author.name | string | 作者的显示名。 |
| items[].author.verified | boolean始终 null | 作者是否认证。 |
| items[].author.followers | integer | 作者的粉丝数。 |
| items[].metrics.likes | integer | 点赞数。 |
| items[].metrics.comments | integer | 评论数。 |
| items[].metrics.shares | integer | 分享数。 |
| items[].metrics.collects | integer | 收藏数。 |
| items[].metrics.views | integer | 播放或阅读数。 |
| items[].metrics.reposts | integer始终 null | 转发数。 |
| items[].images | string[]始终 null | 图片地址。 |
| items[].hashtags | string[] | 话题标签,不带 #。 |
| items[].is_pinned | boolean | 是否被作者置顶。 |
nullTikTok 给不了的字段null 的意思是“TikTok 没给这个值”,不要当成 0。这些字段在这个调用里始终是 null:
title标题。author.verified作者是否认证。metrics.reposts转发数。images图片地址。
每一条另有 platform、id、ref、approx、type;items 外面的部分每个调用都一样。 返回格式
会发生什么。
一次调用返回一页,最多 10 条;page.has_more 为 true 时把 page.cursor 填进 cursor 取下一页,每页 2 积分,cursor 30 分钟内有效。
正常执行但没有结果,算一次成功的调用:status 为 "empty",items 为空,扣 2 积分。
每把 Key 每秒 1 次,购买后 5 次;超出不扣费。 频率限制
失败的调用 0 积分,不会自动重试。 错误码
接好 MCP 后,这样问就会用到它。
这个 TikTok 账号最近发了什么:nasa
2 积分user_posts {"platform":"tiktok","username":"nasa"}这个 TikTok 账号最近发了什么:nasa,sort 取 popular。
2 积分user_posts {"platform":"tiktok","username":"nasa","sort":"popular"}在 TikTok 上找和“nike”有关的账号,再对前 3 个结果:这个 TikTok 账号最近发了什么。
8 积分search {"platform":"tiktok","query":"nike","type":"user"}user_posts {"platform":"tiktok","username":"<username>"} × 3
这些工具运行时会调用它。
同一个调用,换个平台。
全部平台和价格POST
/v1/user_posts{ "platform": "tiktok", "username": "nasa" }2 积分每次调用请求里只改 platform 这一个词,返回的结构不变。
常见问题。
简短回答。
TikTok 的全部接口需要 TikTok 账号,或者申请 TikTok 官方的 API 吗?
不需要,只要一把 SocialToAI 的 Key。返回的是 TikTok 上公开可见的内容和账号信息,你不用登录 TikTok,也不用在那边申请任何东西。