/v1/search"platform": "wechat"公众号搜索接口
按关键词找文章。
按关键词搜公众号文章,拿回正文、作者、点赞数和发布时间:用 HTTP 取 JSON,或在 AI 客户端里通过 MCP 调用。公众号搜索 API(数据接口)每次调用 12 积分(约 $0.024–$0.04),失败不扣,返回格式和其他调用相同。最近实测:2026-11-05。
最近更新:
limit: 100,一次调用自动翻页,最多 5 页、60 积分。够数或没有下一页就停,用不上的页不扣,失败的页也不扣。读 1,000 条约 600 积分,约 ¥14($2.00)。每日监控:对你的 AI 说“每天帮我盯着”,这个调用每天自己跑,只把新内容发给你,一个月最多 372 积分,约 ¥8.9($1.24)。 看怎么设
调用公众号搜索,你会拿到什么。
取自一次录制的返回。
录制的一次调用返回了 20 条,下面是第一条的每个字段。名称和正文在示例里去掉了,数字是录制时的真实值。
近 7 天真实调用 20 次,成功 100%,中位 2.8 秒,通常 20 条(数据截至 2026-11-05)。
给 AI 读更省:同一份录制数据(20 条),平台原始 JSON 约 14,013 token,这个接口返回约 6,170 token,少 55%(2026-11-06 实测)。 测量方法
| 字段 | 录制时的值 |
|---|---|
| url | null |
| format | video |
| title | null |
| text | 示例里已去掉 |
| published_at | 2026-10-15T06:55:50.000Z |
| author.id | null:公众号给不了 |
| author.username | null:公众号给不了 |
| author.name | 示例里已去掉 |
| author.verified | null:公众号给不了 |
| author.followers | null:公众号给不了 |
| metrics.likes | 1 |
| metrics.comments | null:公众号给不了 |
| metrics.shares | null:公众号给不了 |
| metrics.collects | 3 |
| metrics.views | null:公众号给不了 |
| metrics.reposts | null:公众号给不了 |
| images | null:公众号给不了 |
| hashtags | null:公众号给不了 |
| is_pinned | null:公众号给不了 |
每次 12 积分(≈ $0.024–$0.04),$10 约够 250 次。
公众号搜索的请求与返回
curl https://api.socialtoai.com/v1/search \ -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "platform": "wechat", "query": "咖啡店开业" }'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": "wechat", "query": "咖啡店开业", },)print(response.json())# 已经通过 MCP 接好了?直接用大白话问。在公众号上搜和“咖啡店开业”有关的文章。# 你的 AI 会调用 search 工具,参数是:{ "platform": "wechat", "query": "咖啡店开业"}取值sortpublished_within{ "platform": "wechat", "status": "ok", "items": [ { "platform": "wechat", "id": "…", "ref": "…", "approx": [], "type": "content", "url": null, "format": "video", "title": null, "text": "…", "published_at": "2026-10-15T06:55:50.000Z", "author": { "id": null, "username": null, "name": "…", "verified": null, "followers": null }, "metrics": { "likes": 1, "comments": null, "shares": null, "collects": 3, "views": null, "reposts": null }, "images": null, "hashtags": null, "is_pinned": null } ], "unavailable": ["author.id", "author.username", "author.verified", "author.followers", "metrics.comments", "metrics.shares", "metrics.views", "metrics.reposts", "images", "hashtags", "is_pinned"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-17T10:46:20.000Z" }, "cost_credits": 12}nullshares nullcollects 3views null示例里的名称和正文已去掉,数字是录制时的真实值。
公众号搜索的参数。
6 个,2 个必填。
用 POST 发一个 JSON 请求体。Key 放在 Authorization 请求头里,不要放进网址。
| 名称 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| platform | string | 必填 | — | 这一页固定填 "wechat"。 |
| query | string | 必填 | — | 搜索词 |
| sort | string | 选填 | "relevance" | 按相关、按发布时间(新的在前)或按热度排"relevance""latest""popular" |
| published_within | string | 选填 | — | 只要最近一天、一周或半年里发布的"day""week""half_year" |
| type | string | 选填 | — | "user":搜账号(102 积分)。"user" |
| cursor | string | 选填 | — | 填上一次返回的 page.cursor,取下一页。 |
公众号搜索返回的字段。
公众号给不了的标出来了。
| 字段 | 类型 | 含义 |
|---|---|---|
| items[].url | string | 能直接打开的链接。 |
| items[].format | string | video、image、text 或 article。 |
| items[].title | string | 标题。 |
| items[].text | string | 正文或文案。 |
| items[].published_at | string | 发布时间,ISO 8601(UTC)。 |
| items[].author.id | string始终 null | 作者的账号编号。 |
| items[].author.username | string始终 null | 作者的账号名。 |
| items[].author.name | string | 作者的显示名。 |
| items[].author.verified | boolean始终 null | 作者是否认证。 |
| items[].author.followers | integer始终 null | 作者的粉丝数。 |
| items[].metrics.likes | integer | 点赞数。 |
| items[].metrics.comments | integer始终 null | 评论数。 |
| items[].metrics.shares | integer始终 null | 分享数。 |
| items[].metrics.collects | integer | 收藏数。 |
| items[].metrics.views | integer始终 null | 播放或阅读数。 |
| items[].metrics.reposts | integer始终 null | 转发数。 |
| items[].images | string[]始终 null | 图片地址。 |
| items[].hashtags | string[]始终 null | 话题标签,不带 #。 |
| items[].is_pinned | boolean始终 null | 是否被作者置顶。 |
null公众号给不了的字段null 的意思是“公众号没给这个值”,不要当成 0。这些字段在这个调用里始终是 null:
author.id作者的账号编号。author.username作者的账号名。author.verified作者是否认证。author.followers作者的粉丝数。metrics.comments评论数。metrics.shares分享数。metrics.views播放或阅读数。metrics.reposts转发数。images图片地址。hashtags话题标签,不带 #。is_pinned是否被作者置顶。
请求里带上对应的参数,就换成另一种返回:
type=user搜账号102 积分和知乎搜索比,这个调用少给作者粉丝数和评论数。
每一条另有 platform、id、ref、approx、type;items 外面的部分每个调用都一样。 返回格式
公众号搜索的翻页与计费。
每把 Key 每秒 5 次,购买后 20 次;超出不扣费。 频率限制
失败的调用 0 积分,不会自动重试。 错误码
首屏的“最近实测”是最近一次真实调用成功的日子。每次调用从平台读取,返回里的 fetched_at 是读取时间;同一把 Key 5 分钟内重发完全相同的请求算重放(replayed: true),0 积分,返回第一次读到的结果。
这些数字只来自真实调用,每天算一次,不含我们自己的账户:同一账户当天重复发同一请求只按最后一次算,对象不存在、参数不对不算失败,不足 20 次的接口不显示。
接好 MCP 后,这样问就会用到公众号搜索。
在公众号上搜和“咖啡店开业”有关的文章。
12 积分search {"platform":"wechat","query":"咖啡店开业"}在公众号上找和“咖啡”有关的账号。
102 积分search {"platform":"wechat","query":"咖啡","type":"user"}
交给你的 AI。
复制给 Claude 或 ChatGPT。
怎么接用 SocialToAI 的 MCP 服务(https://mcp.socialtoai.com/mcp)完成这件事:在公众号上搜和“咖啡店开业”有关的文章。调用 search 工具,参数是 {"platform":"wechat","query":"咖啡店开业"}。必填:query;可选:sort(relevance、latest、popular)、published_within(day、week、half_year)。要多条就传 limit(比如 limit=100,最多 5 页),一次调用自动翻页,不用自己一页页取;每页 12 积分,用不上的页不扣。开跑前先算出总共要多少积分,问我同意了再调用。如果还没接上 SocialToAI,告诉我怎么接,不要让我把 Key 贴进对话。回答时附上你用到的每一条的链接,最后告诉我花了多少积分。接好 MCP 后把这段话贴进对话。里面没有 Key:在 Claude 和 ChatGPT 里登录授权,其他客户端把 Key 放在请求头里。
这些工具运行时会调用它。
同一个调用,换个平台。
全部平台和价格/v1/search{ "platform": "wechat", "query": "咖啡店开业" }12 积分每次调用接着看。
官方能做什么、谁能申请、多少钱,带来源。
让 AI 读公众号文章
公众号文章转 RSS,或推送到飞书、企业微信群
Claude 能读和读不到公众号文章的什么,带来源和真实请求
ChatGPT 能读和读不到公众号文章的什么,带来源和真实请求
让你的 AI 直接读公众号。