批量链接数据(batch_stats)
POST /v1/tools/batch_stats 运行批量链接数据:一个现成工具,返回一批帖子或主页链接现在的数字,以及哪些已经失效;最多 2,000 条,没有 AI 分析。目前可读 17 个平台,每条链接 1 积分起。带上 max_cost_credits,超出时会被免费拒绝,并返回报价。失效的链接不扣。
POST
https://api.socialtoai.com/v1/tools/batch_stats想在网站上填写,或看看结果长什么样,打开批量链接数据。
请求
请求体是 JSON,放这个工具自己的输入。Key 和其他调用一样,放在 Authorization 请求头里。
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
urls | string[] | 是 | 1 到 2,000 条帖子或主页链接,可以混平台。 |
max_cost_credits | integer | 否 | 这次最多花多少积分;超出则免费拒绝并返回报价。 |
confirm | boolean | 否 | true:不论多少积分都直接运行。false:只返回计划和报价,不运行。不填:价格高的和要在后台运行的先返回报价,其余直接运行。 |
curl https://api.socialtoai.com/v1/tools/batch_stats \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "urls": ["https://x.com/NASA"] }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/tools/batch_stats", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "urls": ["https://x.com/NASA"], },)print(response.json())每条链接的积分
每条链接算一行,按它所在平台的一次调用计。
| 平台 | 一条帖子链接 | 一条主页链接 |
|---|---|---|
| TikTok | 2 | 2 |
| 2 | 2 | |
| X | 1 | 1 |
| 2 | 2 | |
| YouTube | 2 | 2 |
| 2 | 2 | |
| 2 | 2 | |
| Threads | 2 | 2 |
| Telegram | 2 | 2 |
| 小红书 | 12 | 12 |
| 抖音 | 2 | 2 |
| 微博 | 2 | 2 |
| 公众号 | 24 | 12 |
| B 站 | 2 | 2 |
| 知乎 | 2 | 2 |
| 快手 | 2 | 12 |
| 视频号 | 12 | 12 |
结果里有什么
| 部分 | 内容 |
|---|---|
| 每条链接一行 | 每条链接现在的数字。 |
| 失效的链接 | 已删除或认不出的链接。这些行不扣积分。 |
| 主要数字 | 有效链接的互动合计 |
先报价还是直接运行:confirm
同一个请求,要么直接运行,要么先返回报价。和工具输入放在一起的布尔参数 confirm 决定走哪一种:
| confirm | 返回什么 |
|---|---|
false | 总是返回报价。免费:不占用、不取数、不扣积分。 |
| 不带 | 价格不超过 100 积分、并且能在这次请求里答完时,直接运行。超过这个数,或者计划要在后台运行(quote.mode 是 background)时,先返回报价。 |
true | 直接运行,最多扣报价里写的积分。跑不了的运行会被免费拒绝(not_supported),不会用一份你没要的报价来代替。 |
运行的返回里带一个 handle:24 小时内可以凭它免费重读完整结果,细节见结果与句柄。带着同一个 Idempotency-Key 再发同样的请求,返回的是第一次运行的结果,不再扣费。
报价
报价是这一次请求的完整计划,以及运行它最多扣多少。报价本身不占用、不取数、不扣积分,status 是 quote。
| 字段 | 类型 | 说明 |
|---|---|---|
request_id | string | 这次请求的编号。 |
schema_version | "v1" | 返回格式的版本。 |
tool | string | 报价对应的工具。 |
scale | "small" | "medium" | "large" | null | 报价对应的档位;按行计价的工具为 null。 |
status | "quote" | quote:没有占用、没有取数、没有扣积分。 |
quote.credits | integer | 这次运行最多扣多少积分。 |
quote.parts.data_first | integer | 取数价格的前半段。 |
quote.parts.data_second | integer | 取数价格的后半段。读到的不到计划的一半时不扣。 |
quote.parts.analysis | integer | AI 分析的价格。交付的内容里至少九成分析成功才扣。 |
quote.mode | "sync" | "background" | sync:在这次请求里返回结果。background:先返回句柄,在后台分批运行。 |
quote.waves | integer | 后台运行分几波;在请求里直接返回的为 1。 |
quote.estimated_seconds | integer | 预计耗时(秒)。 |
quote.free_tier.runnable | boolean | 还没买过积分的账户能不能跑。 |
quote.free_tier.reasons | string[] | 不能跑时的原因:cost、duration 或 paid_only。 |
quote.plan | array | 按运行顺序列出每一步:平台、动作、多少个目标和多少页,或多少批分析,以及这一步的积分。 |
quote.price_version | string | 报价所依据的价格版本。 |
billing | object | 和每个返回里的一样,见积分与计费。 |
运行怎么扣费
- 按行计价:每条链接是一行,按它所在平台一次调用的积分算。
- 失效的行不扣:已删除、认不出或被跳过的行不扣积分;有数字的行照扣,数字为零也一样。
- 先看到上限:运行前先给出这批链接最多要多少积分,实际不会超过它。
- 已删除、认不出或被跳过的行不扣积分;有数字返回的行照扣,数字为零也一样。中途取消后,已完成的行照扣,没跑的行不扣。
- 那个平台上失败的行不扣积分,其他行不受影响。一批里失败的行超过三成时,不再继续跑后面的。
通过 MCP
MCP 工具是 research,调用时把 tool 设为 batch_stats。输入和积分都一样。工具列表 里有你的 AI 拿到的描述。
最近更新: