快速开始
SocialToAI 是一个让 AI 工具读取社交媒体上公开可见内容(帖子、评论、账号、热榜)的 API 和 MCP 服务,覆盖 TikTok、Instagram、X、Reddit、YouTube、小红书、抖音、微博 等 18 个平台。按预付积分计费,失败不扣。
拿到 Key,发一次调用,接进你的 AI。这一页的每一步,用注册送的 100 积分就能做完。
https://api.socialtoai.com/v1/<action>https://mcp.socialtoai.com/mcp事实表
- 平台(18 个)
- TikTok、Instagram、X、Reddit、YouTube、Facebook、LinkedIn、Threads、Telegram、Pinterest、小红书、抖音、微博、公众号、B 站、知乎、快手、视频号
- 广告库(2 个)
- Meta 广告库、Google 广告透明度中心
- 动作(6 个)
- search、trending、detail、comments、user_profile、user_posts,另有平台独有接口目录(find / call)
- 工具(7 个)
- 品牌口碑、评论分析、账号动态、找达人、达人档案、批量链接数据、爆款发现
- API
- https://api.socialtoai.com/v1 · MCP(Streamable HTTP):https://mcp.socialtoai.com/mcp · 认证:ChatGPT、Claude、Claude Code、Codex 和 Cursor 登录授权(OAuth);脚本和服务器在请求头里放 API Key
- 不带 Key 可用
- capabilities、find、OpenAPI
- 价格
- $10 = 3,000 积分 · $50 = 20,000 · $200 = 100,000 · $10 到 $2,000 的任意整数金额
- 每次调用
- 多数调用 2 积分(范围 1–102);低至每次 $0.002
- 免费
- 注册送 100 积分、不用绑卡;积分不过期、不订阅、不退款。
- 计费
- 成功的调用扣费,搜索正常但没搜到照扣;查不存在的对象、数据来源对这种查询照常收费时也按价扣(返回里写明)。失败不扣。
- 限制
- 每把 Key 每秒 5 次,首次购买后每秒 20 次
- 支付
- 银行卡或支付宝,以美元计价
- 数据
- 平台上公开可见的内容和账号信息;评论者一律匿名
- 更新
- 2026-11-01 · 价格版本 pv_29229c6acba5
拿到 Key
用 Google 或邮箱登录,邮箱登录时我们会发一个一次性验证码,不用设密码。新账户自带 100 积分,不用绑卡。
在控制台打开 API Key 页,创建一把 Key。它以 stai_live_ 开头,只显示一次,请当场复制,然后放进环境变量:
export SOCIALTOAI_API_KEY="<YOUR_API_KEY>"发第一次调用
每个动作都是向 https://api.socialtoai.com/v1/<action> 发一个 POST,请求体是 JSON。下面这个是 /v1/search,平台是 Reddit:按关键词找帖子:正文、作者、点赞数、评论数和发布时间。
curl https://api.socialtoai.com/v1/search \ -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "platform": "reddit", "query": "saturn rings" }'import osimport uuidimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/search", headers={ "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}", # A new key for each request; the same one again retries it without paying twice. "Idempotency-Key": str(uuid.uuid4()), }, json={ "platform": "reddit", "query": "saturn rings", },)print(response.json())返回是这样的:
{ "request_id": "req_00000000-0000-4000-8000-000000000001", "schema_version": "v1", "fetched_at": "2026-10-12T18:43:12.000Z", "action": "search", "platform": "reddit", "status": "ok", "items": [ { "platform": "reddit", "id": "…", "ref": "…", "approx": [], "type": "content", "url": "https://example.com/…", "format": "image", "title": "…", "text": null, "published_at": "2024-11-22T01:25:15.633Z", "author": { "id": "…", "username": "…", "name": null, "verified": null, "followers": null }, "metrics": { "likes": null, "comments": 213, "shares": null, "collects": null, "views": null, "reposts": null }, "images": ["https://example.com/…"], "hashtags": null, "is_pinned": false } ], "unavailable": ["author.name", "author.verified", "author.followers", "metrics.shares", "metrics.collects", "metrics.views", "metrics.reposts", "hashtags"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-12T19:13:12.000Z" }, "warnings": [], "applied_params": { "query": "saturn rings" }, "cost_credits": 2, "billing": { "cost_credits": 2, "balance_credits": 98, "today_spend_credits": 2, "daily_limit_credits": null, "daily_remaining_credits": null, "display": "本次 2 积分(约 $0.0067),余额 98 积分(约 $0.33)" }, "replayed": false}示例数据:名字、链接和正文已换成占位符。
通过 MCP 接进你的 AI
如果你在 AI 客户端里工作,根本不用自己写请求。在你的 AI 里添加 MCP 服务器,填这个地址:https://mcp.socialtoai.com/mcp。弹出登录页就用邮箱登录、点“允许”;需要填 Key 的工具,把刚才那把 Key 放进请求头:Authorization: Bearer <YOUR_API_KEY>。
在终端里运行命令。Claude Code 然后在 Claude Code 里输入 /mcp,选 socialtoai,登录:
claude mcp add --transport http socialtoai https://mcp.socialtoai.com/mcpcodex mcp add socialtoai --url https://mcp.socialtoai.com/mcp之后用大白话直接问。你的 AI 会自己选调用,并告诉你花了多少。按客户端看详细步骤。
看懂返回的结构
所有平台、所有动作都返回同一种结构。把这几部分看懂一次,18 个平台,另有 2 个广告库都能读。平台给不了的字段返回 null。
| 部分 | 说明 |
|---|---|
request_id, action, platform, status | 调了什么,成没成功。 |
items | 结果列表。同一种对象在所有平台上用同一套字段名。 |
unavailable | 这个平台给不了的字段,它们在每一条里都是 null。 |
page | has_more 为 true 时,把 cursor 原样发回取下一页。 |
billing | 这次扣了多少积分,以及扣完后的余额。 |
返回格式 列出了外层结构和每种对象的全部字段。
出错与不扣费
失败不扣。查到了就扣;正常查询但没有结果也算一次;个别接口查不存在的对象也收费,返回里会标 charged: true。执行前就被我们拒绝的请求返回 HTTP 错误状态码;平台那边出的问题仍然是 HTTP 200,返回体里带 status 和 error,cost_credits 为 0。每个错误都带 request_id 和 fix,后者说明怎么改。
| 代码 | HTTP | 发生了什么,怎么办 | 扣费 |
|---|---|---|---|
invalid_params | 400 | 缺少参数,或参数不对。没有执行。按返回里的 fix 改正。重试:不用 | 不扣 |
unauthorized | 401 | Key 缺失、不对、已到期或被暂停。在请求头里带上有效的 Key;reason 说明是哪种情况。重试:不用 | 不扣 |
insufficient_balance | 402 | 余额不够这次调用。没有执行。购买积分后再发一次。重试:不用 | 不扣 |
not_found | 200 / 404 | 内容或账号不存在、是私密的,或已删除;平台说了原因时 why 写明是哪一种,platform_says 是平台的原话。来源对这次查询照常收费的接口按价扣费,报错带 charged: true。不用重试。路径写错时也返回这个代码。重试:不用 | 来源收费时按价扣 |
daily_limit_reached | 429 | 每日上限已到。没有执行。上限设在 Key 或账户上,到 resets_at 重新开始。重试:不用 | 不扣 |
rate_limited | 429 | 这把 Key 每秒调用太多,或同时在跑的太多。等 Retry-After 之后再发。重试:可以 | 不扣 |
temporarily_unavailable | 200 / 503 | 这个调用暂时停用。状态页会说明原因,稍后再试。重试:可以 | 不扣 |
invalid_target | 200 | 链接或编号指向的目标无效。检查 fix.param 指出的那个值。重试:不用 | 来源收费时按价扣 |
upstream_error | 200 | 这次没有从平台取到结果,我们这边已经试过最多三次。retryable 为 true 时,等 retry_after_seconds 秒再发一次;同一个请求又失败,多半是内容本身取不到,换一个输入。重试:视情况 | 不扣 |
timeout | 200 | 没有按时拿到结果,也无法确定是否执行过。成本由我们承担。我们不会自动重试(X-Should-Retry: false)。还需要的话请发起新请求。重试:不用 | 不扣 |
错误 页列出了全部代码和每种情况。
接下来
最近更新: