跳到正文

CrawlForge Team工程团队

阅读时长 9 分钟

CrawlForge MCP v5.1.0:无需 API 也能搜索 Reddit

问任何一位做抓取的开发者:2026 年最难搞的主流网站是哪个?Reddit 是个稳妥的答案。我们对此深有体会 — reddit.com 挡住了 CrawlForge 的每一条直接访问路径,从普通的 fetch 到完整的隐身浏览器。所以 CrawlForge MCP v5.1.0 不再硬撼这堵墙,而是绕了过去:新的 reddit_search 工具 — 我们的第 28 个工具 — 通过社区运营的归档搜索 Reddit 帖子和评论、读取完整讨论串,不需要 Reddit API key,不需要 OAuth 应用,不需要任何形式的凭证。

目录

本次发布了什么

v5.1.0 是一个目标明确的次版本,只有一条头条:

  • reddit_search — 通过 Arctic Shift 和 PullPush 社区归档,搜索 Reddit 帖子(标题 + 正文 selftext)和评论,或读取一个帖子及其嵌套评论树。三种模式、可限定范围的过滤器、规范化的输出。每次调用 5 credits。
  • 工具总数从 27 个增加到 28 个,MCP 服务器卡片、工具说明和入门提示词都已认识这位新成员。
  • 新增 31 个单元测试(套件总数达 1,018 个),全部 28 个工具保持 100% MCP 协议合规,并通过 MCP stdio 实测返回了真实的 r/ClaudeAI 帖子。

为什么 reddit.com 无法被抓取

选择归档并非出于偏好 — 我们先量了量这堵墙。在动手构建这个工具之前,我们把每一条直接路径都对 reddit.com 实测了一遍:

  • 带完整浏览器 User-Agent 的 fetch_url:403
  • 针对 old.reddit.com 的 scrape:403
  • 使用 reddit-thread 模板的 scrape_template:403
  • 开到最高级别的 stealth_mode:403

这套封锁是分层的 — 先是数据中心 IP 信誉,然后是握手阶段的 TLS 指纹识别,最后是 JavaScript 质询 — 这正是服务器上连隐身浏览器都会失败的原因。而那扇"正规的门"也在收窄:2025 年 11 月,Reddit 依据其 Responsible Builder Policy 关闭了自助式 API 注册,新的官方 API 凭证申请要走审批流程,而不再是一张注册表单。大多数 Reddit MCP 服务器封装的正是那个官方 API,这让"拿到凭证"成了它们安装过程中最难的一步。

reddit_search 把这一切都绕开了。它从不向 reddit.com 发送任何一个请求。

认识 reddit_search

一个工具,三种模式:

  • posts(默认)— 对帖子标题和正文 selftext 做关键词搜索,可选限定到某个 subreddit 或作者。支持 "quoted phrases"(引号短语)、OR 和 -exclusion(排除词)。
  • comments — 对评论正文做全文搜索,这是官方 Reddit API 完全做不到的事。
  • thread — 给它一个帖子 ID,就能拿到该帖子及其嵌套评论树,对深到无法展开的分支带有 reddit 风格的折叠标记。

过滤器覆盖 subreddit、author、after/before 日期(ISO 8601、epoch 秒,或 "7d" 这样的偏移量)、limit(最多 100)和 sort。结果以规范化形式返回:完整的 reddit.com 永久链接、ISO 日期、得分、评论数,文本截断到 2,000 字符并带截断标记,这样一份 100 条结果的载荷对 LLM 上下文窗口依然友好。

从 MCP 客户端发起的典型调用长这样:

Json
{
  "tool": "reddit_search",
  "arguments": {
    "query": "best mcp servers",
    "subreddit": "ClaudeAI",
    "mode": "posts",
    "limit": 10
  }
}

从结果中取任意一个帖子的 id,以 link_id 配合 mode: "thread" 传回去,就能拿到整场讨论 — 随时可以交给 summarize_content 或 analyze_content,转成情感、主题和一份简报。

两个归档:Arctic Shift 与 PullPush

如果你还记得 Pushshift — 那个广受喜爱、却在 2023 年失去 API 访问权限的 Reddit 研究归档 — 这两个项目就是它的后继者,也正是 reddit_search 所查询的对象:

  • Arctic Shift 以近实时速度摄取 Reddit。实测期间它返回过一篇当天刚发布的帖子,并提供真正的嵌套评论树。它唯一有文档记载的限制:关键词搜索必须限定到某个 subreddit 或作者。
  • PullPush 兼容 Pushshift,能做 Arctic Shift 不做的事 — 对整个 Reddit 做全文搜索。代价是:其 2023 年之后的归档存在有文档记载的缺口,以及激进的速率限制。

两者都免费、都由社区运营、都不需要凭证。每个响应都附带来源说明,写明是哪个归档作答,下游消费者永远知道数据来自哪里。

路由如何工作

除非你主动想选,否则永远不用挑后端。在默认的 auto 模式下:

  • 限定范围的搜索(带 subreddit 或 author 过滤器)和讨论串读取走 Arctic Shift — 更新鲜的那个归档 — PullPush 仅在出错时作为回退。回退一旦触发,响应会在 fallback_used 字段中如实说明。
  • 面向整个 Reddit 的无限定关键词搜索走 PullPush,因为它是唯一支持这种搜索的归档。

底层管道消化了两个归档的各种怪癖:每个请求都携带能表明身份的 User-Agent(实测显示 Arctic Shift 会把匿名客户端限流进一个共享桶),瞬时限流响应会得到一次有界重试,PullPush 的限流消息原样透传,让你看到真实原因而不是一个笼统的错误。如果你的流水线需要不同的时间预算,环境变量 REDDIT_SEARCH_TIMEOUT_MS 可以覆盖 30 秒的单请求上限。

坦诚的注意事项

归档数据有它的毛边,我们宁愿把它们写进文档,也不想让你自己踩到:

  • 非常新的内容数值偏低。 归档在帖子出现的瞬间就会捕获它们,所以发布不足约 36 小时的内容,得分和评论数经常显示 0 或 1。内容本身在那里,只是票数统计还没跟上。
  • PullPush 在 2023 年之后有缺口。 一次无限定搜索返回空结果,并不能证明内容不存在。能限定就限定到某个 subreddit 或作者 — 这会把你路由到更完整的那个归档。
  • 已删除的内容可能仍留存在归档中。 这是归档运作方式的固有属性,而且是把双刃剑:这也正是研究者使用归档的原因。

通过 MCP 和 REST 使用

在 MCP 客户端 — Claude Desktop、Claude Code、Cursor — 里直接开口问就行:"搜索 r/webdev 最近一个月关于抓取基础设施的讨论,并总结主要的抱怨。" 客户端里的 agent 会自行选中 reddit_search、限定范围,并自己串联出总结。

通过 REST API,只需一个带认证的 POST:

Typescript
const response = await fetch('https://crawlforge.dev/api/v1/tools/reddit_search', {
  method: 'POST',
  headers: {
    'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    query: 'best mechanical keyboard',
    subreddit: 'MechanicalKeyboards',
    mode: 'posts',
    limit: 10,
  }),
});

const { data } = await response.json();
console.log(`${data.count} posts via ${data.source}`);

你也可以零配置地在 playground 里试用 — reddit_search 已与其余 30 个工具一起上线。

reddit-thread 模板还能用吗?

scrape_template 仍然自带 reddit-thread 模板,但它指向的是 reddit.com — 恰恰是本次版本绕开的那堵墙 — 所以它已无法可靠工作。scrape_template 文档现在把这一点写得明明白白,并把 Reddit 相关的工作指向 reddit_search。其余九个模板(Amazon、GitHub、YouTube、Hacker News 等)不受影响。

自 v5.0.4 以来的其他更新

如果你跳过了两个版本之间的那个补丁:v5.0.5 修正了 serp_rank 一直断言错误的两个数字 — DataForSEO 请求超时(现在默认 120 秒,可通过 DATAFORSEO_TIMEOUT_MS 调整,因为深度 100 的实时 Google 抓取动辄需要 30-60 秒以上),以及文档标注的上游成本(旧数字是深度 10 的价格,比深度 100 默认档实际计费低 10 倍)。它还修复了 Smithery 上的产品列表:工具表现在派生自实时注册表,而不是一张手写卡片。v5.0.x 加固周期的完整故事见 v5.0.4 实测文章。

credits 成本

reddit_search 每次调用 5 credits — 无论是搜索还是完整讨论串读取,同一个价。换算一下:Free 计划的 1,000 个初始 credits 足够 200 次 Reddit 搜索;一次搜索、加一次讨论串读取、再对结果跑一次 summarize_content,端到端 14 credits。一如既往,失败的请求不计费。

如何升级

Bash
npm install -g crawlforge-mcp-server@latest
crawlforge --version   # 5.1.0

或者,如果你的 MCP 客户端用 npx 启动服务器,下次重启时会自动拿到 5.1.0。所有既有工具都没有任何 schema、输出结构或 credits 成本变化 — 这是一次可以直接替换的升级。

准备好不用 API key 就挖掘 Reddit 讨论了吗? 免费开始,赠送 1,000 credits — 足够 200 次搜索 — 并阅读 reddit_search API 参考,了解每个参数和模式。

亲自试一试——无需注册

在 Playground 中探索全部 31 个 CrawlForge 抓取与提取工具,然后免费开始,获取 1,000 credits。

1,000 免费 credits • 一次性 • 无需信用卡

标签

  • release
  • v5.1.0
  • reddit
  • reddit_search
  • MCP
  • web scraping
  • changelog

关于作者

CrawlForge Team

工程团队

我们正在打造功能最全面的 Web 抓取 MCP server。我们开发的工具帮助开发者为 AI 应用提取、分析和转换 Web 数据。

邮件订阅

及时获取最新洞察

将教程、产品更新与 Web 抓取技巧直接发送到你的收件箱。

拒绝垃圾邮件,随时可取消订阅。

FAQ

常见问题

01CrawlForge 的 reddit_search 使用官方 Reddit API 吗?

不使用。reddit_search 从不触碰 reddit.com 或官方的 Reddit Data API。它查询两个社区运营的归档 — 以近实时速度摄取 Reddit 的 Arctic Shift,以及兼容 Pushshift 的 PullPush — 因此不需要 Reddit API key、OAuth 应用,也不需要提交审批申请。这一点在 2025 年 11 月之后尤为重要:Reddit 从那时起关闭了自助式 API 注册,新的官方凭证改为审批制。

02为什么我不能直接抓取 reddit.com?

reddit.com 运行着一套分层封锁:数据中心 IP 信誉、握手阶段评估的 TLS 指纹识别,以及 JavaScript 质询。CrawlForge 做过实测验证 — 带浏览器 User-Agent 的普通 fetch、old.reddit.com、reddit-thread 抓取模板,甚至开到最高级别的 stealth_mode,全部返回 403。这种封锁位于基础设施层面,这正是 reddit_search 改读社区归档、而不与之硬碰的原因。

03reddit_search 返回的 Reddit 数据有多新?

Arctic Shift 以近实时速度摄取内容 — 实测期间它返回过一篇当天刚发布的帖子。一个注意事项:由于归档在帖子出现的瞬间就会捕获它们,发布不足约 36 小时的内容,其投票得分和评论数经常显示 0 或 1,尽管内容本身完全可搜索。每个响应都附带来源说明,写明是哪个归档作答及其新鲜度特征。

04reddit_search 能搜索整个 Reddit,还是只能搜单个 subreddit?

两者都可以。不加限定的关键词查询会通过 PullPush 搜索整个 Reddit,它支持全文搜索,但其 2023 年之后的归档存在有文档记载的缺口。把搜索限定到某个 subreddit 或作者,则会路由到更新鲜、更可靠的 Arctic Shift,并以 PullPush 作为自动回退。想要更完整的结果,在知道讨论所在位置时优先使用限定搜索。

05reddit_search 费用多少?如何试用?

reddit_search 每次调用 5 credits,无论是 posts 搜索、comments 搜索还是完整讨论串读取。失败的请求永不计费。Free 计划包含 1,000 个一次性 credits — 即 200 次搜索 — 该工具可通过 MCP、位于 /api/v1/tools/reddit_search 的 REST API,以及无需任何配置的浏览器 playground 使用。运行 npm install -g crawlforge-mcp-server@latest 升级到 v5.1.0。

06reddit-thread 的 scrape_template 模板还能用吗?

已不可靠。reddit-thread 模板直接指向 reddit.com,而后者现在在基础设施层面对抓取器返回 403 封锁,所以它和其他所有直接路径一样会失败。出于兼容性它仍在列表中,但文档现在把所有 Reddit 提取工作都引导至 reddit_search — 它读取社区归档,返回同样规范化的讨论串数据:帖子、嵌套评论、得分和永久链接。

继续阅读

相关文章

产品更新

16 分钟

CrawlForge MCP v5.2:28 个工具的全部变更

两天六个版本,全部来自把 28 个工具对准真实网站,而不是信任测试套件:新增 Shopify 模板,PullPush 停摆后重建 Reddit 全站搜索,价格监控终于会触发,Ollama 成为真正的 LLM 提供方。CrawlForge MCP v5.2 的每一处变更,都在这里。