# 不登录、不用 Cookie，怎么按关键词搜微博？

> 不需要微博账号、不用 Cookie、不用扫码，用代码按关键词搜微博：用哪个接口、每页多少钱、curl 示例，以及什么情况下带登录态的爬虫仍然更合适。

网页版：https://okdata.online/zh/answers/weibo-search-without-cookie/

**简短回答：**用微博搜索接口（/v1/weibo/posts/search），只要一个 API key，不需要登录微博：传关键词，返回带正文、作者、转发、评论和点赞的微博。每页约 10 条，$0.002；1,000 条需要 100 次调用，共 $0.20。

大多数开源微博爬虫的第一步都一样：在浏览器里登录微博，复制 Cookie，贴进配置文件。过一阵子 Cookie 过期，任务半夜三点挂掉；搜得太猛，账号还可能被限制。如果你要的只是匹配某个关键词的微博，完全可以不碰账号。okdata 只认 API key，在公开的微博数据上执行搜索，返回整理好的 JSON。

## 用哪个接口

[微博搜索](/zh/apis/weibo/posts/search/)真正要关心的参数只有两个：

- `query`：关键词，和你在微博搜索框里输入的一样，中文直接传。
- `sort`：`hot`（默认）按热度，互动多的排前面；`latest` 按时间，最新的排前面。

每条微博返回 `text`、`published_at`、`url`，作者的 ID、昵称、粉丝数和认证状态，`metrics.likes`、`metrics.comments`、`metrics.reposts`，以及图片和话题。视频微博在微博显示播放量时，`metrics.views` 里也会有。

## 价格

| 需求 | 调用次数 | 费用 |
|---|---|---|
| 一页 | 1 | $0.002 |
| 200 条 | 20 | $0.04 |
| 1,000 条 | 100 | $0.20 |

出错不扣费：参数写错、上游繁忙、超时，都不收钱。

## curl 示例

```bash
curl -s -G "https://api.okdata.online/v1/weibo/posts/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode "query=新能源 车展" \
  -d sort=latest \
  -d fields=id,text,published_at,author.name,metrics

# 下一页：把 page.next_cursor 原样传回
curl -s -G "https://api.okdata.online/v1/weibo/posts/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode "query=新能源 车展" -d sort=latest \
  --data-urlencode "cursor=<page.next_cursor>"
```

遇到 `rate_limited`，按响应头 `Retry-After` 里的秒数等一等，再发同样的请求。所有错误码、哪些可以重试，见[错误说明](/zh/docs/errors/)。

## 不登录意味着放弃什么

- 评论、某个用户自己的微博列表、单条微博详情都不在接口目录里。能用的是搜索、热搜榜和账号资料。
- 长微博在搜索结果里可能被截断。加 `view=full` 看 `ext.is_long_text`，全文要去微博页面上看。
- 微博搜索里看不到的内容，这里也看不到。
- 微博不公开的字段，比如分享数和收藏数，返回 null，并写在 `meta.unavailable` 里。

## 什么时候登录态或官方渠道更合适

- 需要评论区或者某个账号的完整时间线，weibo-crawler、MediaCrawler 这类带 Cookie 的爬虫能拿到。建议用小号，速度放慢。
- 微博开放平台向通过认证、开通套餐的开发者提供关键词搜索。公司需要和微博本身签协议时，选这条路。
- 只看十几条的话，打开微博 App 搜一下就行，免费。

想在 Claude 或其他智能体里直接搜，接入 [MCP 服务](/zh/mcp/)即可。

## 用到的接口

- [微博搜索](https://okdata.online/zh/apis/weibo/posts/search/) `weibo.posts.search`：$0.002/次 · 每页约 10 条帖子

更新于 2026-11-12
