给 AI

微信搜一搜社交媒体

微信公众号实时查找 API

按关键词在微信搜一搜里实时找公众号和服务号,最像的排前面(后面可能跟着不太相关的):原始 ID、微信号、名称、简介、头像、是否认证和认证主体、原创文章数。按次计费;不带粉丝和阅读数(要估计值用 wechat_mp.accounts.search)。

GEThttps://api.okdata.online/v1/wechat/accounts/search

也叫公众号名字查 ID公众号原始 ID 查询按名字找公众号英文名:WeChat Official Account live search API

价格
$0.02约 ¥0.14
/ 次 · 出错和超时不收费
返回
每页约 8 个账号
带翻下一页的游标
调用出错时
不收费
一个数据源出错就换下一个;出错和超时都不扣费。
状态
预览
还可能调整,改动会提前公告。

参数

参数名类型说明
query必填string关键词,和在平台搜索框里输入的一样。 例 36氪
cursorstring上一次返回的 page.next_cursor,原样传回。每翻一页都是一次单独的调用。
viewstringcompactstandardfull返回多少字段。full 会在 ext 里带上平台特有字段。 默认 standard
fieldsstring[]只保留这些字段,按路径写(如 author.name),用来省 token。放在查询参数里时用逗号分隔。

所有接口的 cursor、view、fields 用法一致: 请求说明。

请求示例

cURL

curl -G "https://api.okdata.online/v1/wechat/accounts/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=36氪'

Python

import os
import requests

resp = requests.get(
    "https://api.okdata.online/v1/wechat/accounts/search",
    headers={"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"},
    params={"query": "36氪"},
    timeout=60,
)
body = resp.json()
if body["code"] != "ok":
    raise RuntimeError(f"{body['code']}: {body['message']} (charged: {body['charged']})")

for row in body["data"]["items"]:
    print(row["name"], row["followers"])
print("cost: $" + body["meta"]["billing"]["amount"])

TypeScript

const url = new URL('https://api.okdata.online/v1/wechat/accounts/search');
url.searchParams.set('query', "36氪");

const res = await fetch(url, {
  headers: {
    Authorization: `Bearer ${process.env.OKDATA_API_KEY}`,
  },
});
const body = await res.json();
if (body.code !== 'ok') throw new Error(`${body.code}: ${body.message}`);

for (const row of body.data.items) {
  console.log(row.name, row.followers);
}
console.log('cost: $' + body.meta.billing.amount);

MCPtools/call

{
  "name": "call",
  "arguments": {
    "capability": "wechat.accounts.search",
    "query": "36氪"
  }
}

返回示例

200 · application/jsonmeta.billing.amount = 0.02
{
  "code": "ok",
  "request_id": "0f6c2a8e-4b1d-4e0a-9a51-3c7d2b9e1f20",
  "data": {
    "items": [
      {
        "id": "MS4wLjABAAAAx7",
        "url": "https://example.com/user/trailkit",
        "username": "trailkit",
        "name": "轻装徒步",
        "bio": "轻装,走远路。周更露营和徒步装备。",
        "avatar_url": "https://cdn.example.com/avatar/trailkit.jpg",
        "verified": true,
        "followers": 182300,
        "following": 312,
        "posts": 486,
        "likes": 2310000
      }
    ]
  },
  "page": {
    "next_cursor": "eyJvIjoyMH0",
    "has_more": true
  },
  "warnings": [],
  "meta": {
    "capability": "wechat.accounts.search",
    "billing": {
      "amount": "0.02",
      "currency": "USD",
      "balance_after": "9.98"
    },
    "unavailable": {},
    "cached": false,
    "replayed": false,
    "fetched_at": "2026-11-11T08:00:00Z"
  }
}

在线调试

这会向 https://api.okdata.online 发送一次真实调用,正常计费:最多 $0.02。失败的调用不扣费。key 只会发往这个地址,本站不保存。

已知限制

  • 每页约 8 个账号,条数由平台决定,没有每页条数参数。
  • 翻下一页时把 page.next_cursor 作为 cursor 传回。游标 24 小时内有效。page.has_more 为 false 时就没有下一页了。

返回字段

data.items 是一组 Account。

字段类型视图说明
idstringcompact账号在平台上的 ID。
urlstringcompact主页链接。
usernamestring | nullcompact用户名(平台有的话)。
namestringcompact昵称。
biostring | nullcompact简介。长文本:view=compact 可能截短。
avatar_urlstring | nullstandard头像图片地址。
展开全部 12 个字段收起其余 6 个
字段类型视图说明
verifiedboolean | nullstandard平台是否显示认证标识。
followersinteger | nullcompact粉丝数。
followinginteger | nullcompact关注数。
postsinteger | nullcompact发布的作品、笔记或文章数。
likesinteger | nullcompact累计获赞(平台展示的话)。
extobjectfull平台特有字段,只在 view=full 时返回。

“视图”一列是字段最早出现的 view:compact 只返回 compact 字段,standard 再加上 standard 字段,full 返回全部。默认是 standard。

什么时候收费

每次调用 $0.02,返回一页,约 8 个账号。抓 1,000 个账号大约要 125 次调用,合计 $2.50。每翻一页是一次单独的调用;失败的调用不扣费。

返回了数据$0.02,每次调用收一次

参数不合法、出错、超时不收费

情况收费
每翻一页另算一次调用:$0.02
单次最高扣费$0.02
空结果$0.02
参数不合法、出错、超时不收费
24 小时内带同一个 Idempotency-Key 重试只扣一次

调用失败不收费;空结果收 $0.02;查无此项不收费。

价格取自价目表版本 1b273c48fea9634e。 这个平台的全部价格 →

常见报错

所有错误同一种结构,并写明是否扣费。这个接口可能返回的:

状态码代码含义是否扣费
400invalid_params参数缺失、类型或取值不对,或者请求方法不对。problems 列出每一处问题,param 是第一个出错的参数。能否重试:修正后重试否
400cursor_mismatchcursor 发到了别的接口,或者参数和它所在那一页不一样(view 和 fields 可以变)。能否重试:修正后重试否
401unauthorizedKey 缺失、格式不对、已撤销、已停用或已过期(知道原因时 reason 会写明)。能否重试:不要重试否
402insufficient_balance余额(available)不够这次调用的最高费用(required)。能否重试:修正后重试否
410cursor_expiredcursor 超过了这个接口的有效期(page.cursor_expires_at 写了到期时间)。能否重试:不要重试否
429rate_limited账号这一分钟请求太多(reason: rate),或同时进行的调用太多(reason: concurrency)。能否重试:可以重试否
500settlement_unknown数据已返回,但没能确认是否扣费。能否重试:用同一个 Idempotency-Key 重试查询后才知道
502upstream_failed这个接口的所有数据源这次都失败了。能否重试:可以重试否
503capability_paused这个接口暂时停用了,这次没有执行。能否重试:可以重试否
504timeout数据没有及时返回。预扣已退回,这次没有扣费。能否重试:可以重试否

全部错误码 →

常见问题

微信公众号实时查找接口多少钱?

每次调用 $0.02,返回一页,约 8 个账号。抓 1,000 个账号大约要 125 次调用,合计 $2.50。每翻一页是一次单独的调用;失败的调用不扣费。

怎么翻页?

把返回里的 page.next_cursor 原样作为 cursor 参数传回去。page.has_more 为 false 时就没有下一页了。每一页都是一次 $0.02 的调用。

需要微信搜一搜账号、Cookie 或扫码登录吗?

不需要。只要带上 okdata 的 API key。返回的是微信搜一搜上的公开数据,不会用到你自己的微信搜一搜账号。

调用失败会扣费吗?

不会。所有错误都会返回 charged: false;只有超时返回 charged: null,表示结果还没确定。带同一个 Idempotency-Key 重发,绝不会重复扣费。

微信搜一搜不展示某个字段怎么办?

这个字段会是 null,meta.unavailable 里会列出它和原因:platform(平台本来就不展示)或 capability(我们暂时取不到)。

在你的 AI 里用

复制这段话贴给 Claude、ChatGPT、Cursor 或任何能打开网页的智能体。它会读这个接口的说明,再用你的 key 调用。

先读 https://okdata.online/zh/apis/wechat/accounts/search.md,再用 okdata 帮我调这个接口,key 在环境变量 OKDATA_API_KEY 里。用「微信公众号实时查找」查这个账号的粉丝数,说说它主要发什么。

接好 MCP 服务后,直接问: 用「微信公众号实时查找」查这个账号的粉丝数,说说它主要发什么。

其他平台的同类数据

其他平台的同一类数据,返回同样的 Account 结构:

放在一起比较:账号搜索接口 →

微信搜一搜的全部 6 个接口

微信搜一搜 API 总览 →微信搜一搜 API 价格 →

名称和编号

名称
微信公众号实时查找 API · WeChat Official Account live search API
简称
微信公众号实时查找
编号
wechat.accounts.search
地址
GET /v1/wechat/accounts/search
也叫
公众号名字查 ID、公众号原始 ID 查询、按名字找公众号
数据类型
账号搜索接口
返回
Account[]:12 个字段

接上一次,以后直接问 AI。

新 key 自带 $0.10 试用额度。贴一句话,就能接进你的智能体。

免费开始
一句话接进你的 AI

把这句话发给你的智能体

读一下 https://okdata.online/zh/agents.md,帮我把 okdata 配好;我的 key 在环境变量 OKDATA_API_KEY 里。

Claude Code、Cursor、Codex 等能打开网址的智能体,读完会自己配好。

MCP 地址https://api.okdata.online/mcp