POST
/v1/call/tiktok.ad_search预览TikTok 广告库搜索接口
TikTok 独有的接口。
TikTok 广告库搜索 API(数据接口)按关键词搜 TikTok 公开广告库(欧洲地区投放的广告):广告主、标题、视频和图片素材、首次和最近一次展示的时间、触达人数档位;最新的在前,一页 12 条。这是广告透明度记录,和创意中心的热门广告是两份数据。每次调用 2 积分(约 $0.004–$0.0067),失败不扣。最近实测:2026-10-17。
2 积分每次调用
每页最多 12 条一次调用返回一页
2026-10-17最近实测
1011 B示例返回的体积(1 条)
最近更新:
预览:这个接口还没有标为稳定,参数和返回字段之后可能调整。计费和其他调用一样,调用失败不扣积分。
请求与返回
curl https://api.socialtoai.com/v1/call/tiktok.ad_search \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "running shoes" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/tiktok.ad_search", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "query": "running shoes", },)print(response.json())# 已经通过 MCP 接好了?直接用大白话问。用“TikTok 广告库搜索”接口(tiktok.ad_search),参数是 query: running shoes。# 你的 AI 会调用 call 工具,参数是:{ "query": "running shoes"}200 OK1011 B2 积分
{ "op": "tiktok.ad_search", "platform": "tiktok", "status": "ok", "items": [ { "platform": "tiktok", "id": "…", "ref": "…", "approx": [], "type": "entry", "entry_type": "ad", "title": "…", "url": "https://example.com/…", "rank": null, "heat": null, "fields": { "format": null, "text": null, "landing_url": null, "advertiser": { "id": null, "name": "…", "url": null }, "images": [], "first_shown_at": "2026-09-29T00:00:00.000Z", "last_shown_at": "2026-09-30T00:00:00.000Z" } } ], "unavailable": ["fields.text", "fields.landing_url", "fields.advertiser.url"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-12T22:42:45.000Z" }, "cost_credits": 2}- entry_type
- ad
- format
null- text
null- landing_url
null- first_shown_at
- 2026-09-29T00:00:00.000Z
- last_shown_at
- 2026-09-30T00:00:00.000Z
示例里的名称和正文已去掉,数字是录制时的真实值。
示例数据录制的 12 条里的 1 条
2 个参数。
1 个必填。
用 POST 发一个 JSON 请求体。Key 放在 Authorization 请求头里,不要放进网址。
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| query | string | 必填 | — | 搜索词 |
| cursor | string | 选填 | — | 填上一次返回的 page.cursor,取下一页。 |
items 里每一条的字段。
TikTok 给不了的标出来了。
| 字段 | 类型 | 含义 |
|---|---|---|
| items[].title | string | 条目的标题或名称。 |
| items[].url | string | 能打开它的链接;平台的列表不带链接时为 null。 |
| items[].rank | integer | 榜上的名次,从 1 起。 |
| items[].heat | integer | 平台给的热度值。 |
| items[].fields.format | string | 广告形态:文字、图片或视频;other 是平台自有的其他形式。 |
| items[].fields.text | string始终 null | 广告文案。 |
| items[].fields.landing_url | string始终 null | 点击广告后打开的地址。 |
| items[].fields.advertiser.id | string | 广告主编号。 |
| items[].fields.advertiser.name | string | 广告主名称。 |
| items[].fields.advertiser.url | string始终 null | 广告主在平台上的主页。 |
| items[].fields.images | string[] | 图片素材的地址。 |
| items[].fields.first_shown_at | string | 广告首次展示的时间。 |
| items[].fields.last_shown_at | string | 广告最近一次展示的时间;还在投放的广告,是平台最近一次看到它的时间。 |
nullTikTok 给不了的字段null 的意思是“TikTok 没给这个值”,不要当成 0。这些字段在这个调用里始终是 null:
fields.text广告文案。fields.landing_url点击广告后打开的地址。fields.advertiser.url广告主在平台上的主页。
每一条另有 platform、id、ref、approx、type;items 外面的部分每个调用都一样。 返回格式
会发生什么。
一次调用返回一页,最多 12 条;page.has_more 为 true 时把 page.cursor 填进 cursor 取下一页,每页 2 积分,cursor 30 分钟内有效。
正常执行但没有结果,算一次成功的调用:status 为 "empty",items 为空,扣 2 积分。
每把 Key 每秒 1 次,购买后 5 次;超出不扣费。 频率限制
失败的调用 0 积分,不会自动重试。 错误码
接好 MCP 后,这样问就会用到它。
按关键词搜 TikTok 公开广告库(欧洲地区投放的广告):running shoes
2 积分call {"op":"tiktok.ad_search","query":"running shoes"}
同名的接口,换个平台。
全部平台和价格POST
/v1/call/tiktok.ad_search{ "query": "running shoes" }2 积分每次调用只改路径里的 op,返回的外层结构不变。
常见问题。
简短回答。
TikTok 的全部接口需要 TikTok 账号,或者申请 TikTok 官方的 API 吗?
不需要,只要一把 SocialToAI 的 Key。返回的是 TikTok 上公开可见的内容和账号信息,你不用登录 TikTok,也不用在那边申请任何东西。
“预览”是什么意思?
预览:这个接口还没有标为稳定,参数和返回字段之后可能调整。计费和其他调用一样,调用失败不扣积分。