做 Agent 数据获取的老流程:注册账号 → 生成 API Key → 写在环境变量里 → 配限流 → 写第一行代码。每一步都是摩擦。
Firecrawl Keyless 把这个链条砍成了:直接用。超量了再注册。

6 月 16 日,Firecrawl(YC 背景,GitHub 134k stars)正式推出 Keyless 模式——无需注册、无需 API Key,直接使用网页搜索和抓取能力。每个月赠送 1000 credits,search 和 scrape 各消耗 1 credit/次。
不用掏出信用卡、不用填表单、不用复制粘贴一串密钥,就能开始用。一个人边用边试的话,1000 credits 每个月绰绰有余。
能做什么,不能做什么
Keyless 模式支持以下能力:
- Search — 搜索网页,返回结构化结果(标题 + URL + 描述),支持中文和中文站内搜索
- Scrape — 抓取任意 URL 为干净 Markdown,含 JS 动态页面(GitHub、技术文档都能解析)
- Parse — 上传本地文件(PDF、DOCX、HTML ≤50MB)转为 Markdown
有个限制要注意:Crawl、Map、Interact 这三个能力在 Keyless 模式下不可用,需要注册后绑定 API Key。
三种接入方式

方式一:API 直连(最简单)
不需要装任何东西,直接发 HTTP 请求:
# 搜索(不需要 Authorization 头)
curl https://api.firecrawl.dev/v1/search \
-H 'Content-Type: application/json' \
-d '{"query":"your query","limit":3}'
# 抓取
curl https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com","formats":["markdown"],"onlyMainContent":true}'
实测返回非常快——search 和 scrape 都在 1-2 秒内。Keyless 模式优先读缓存,大部分请求走 cache hit,基本秒回。你可以在响应里看到 "cacheState": "hit"。
方式二:CLI 工具
# 安装(npx 自动下载,首次约 5 秒)
npx firecrawl-cli@latest
# 搜索
npx firecrawl-cli@latest --api-url https://api.firecrawl.dev search "your query" --limit 5
# 抓取
npx firecrawl-cli@latest --api-url https://api.firecrawl.dev scrape https://example.com
# 解析本地文件
npx firecrawl-cli@latest --api-url https://api.firecrawl.dev parse document.pdf -f markdown
也可以设环境变量免去每次写 --api-url:
export FIRECRAWL_API_URL=https://api.firecrawl.dev
方式三:MCP 协议(推荐给 Agent 使用)
如果你的工具支持 MCP 协议(Claude Code、Cursor、Windsurf、Cline 等都支持),直接指向 Firecrawl 的 MCP endpoint 即可零配置接入:
claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp
Agent 拿到搜索和抓取能力,不需要人类去注册或者配 Key。
实测数据
我用 CLI 1.19.13 跑了 10 个测试场景,8 个通过,2 个受限于 Keyless 的能力边界:
| 功能 | 测试场景 | 结果 | 耗时 |
|---|---|---|---|
| Search 中文 | “MCP 协议 最新进展” | 3 条结果 | ~3s |
| Search 英文 | “Hermes Agent AI” | 3 条结果 | ~2s |
| Search 站内限定 | “firecrawl keyless site:firecrawl.dev” | 命中博客 | ~2s |
| Scrape GitHub(SPA 页面) | firecrawl/firecrawl | 完整内容 | ~4s |
| Scrape 博客 | releasebot.io Claude Code changelog | 完整 | ~3s |
| Parse 本地 HTML | 文件转 Markdown | 干净输出 | ~3s |
| API search | curl /v1/search | JSON 返回 | ~1s |
| API scrape | curl /v1/scrape | 全量 Markdown | ~1s |
| Crawl | –limit 3 | 需 Key | - |
| Map | docs.firecrawl.dev | 需 Key | - |
站点兼容性方面:技术文档和产品博客都能完整抓取,SPA 页面(如 GitHub)也能正常渲染。遇到登录墙的页面(如知乎专栏)会重定向到登录页,内容不可见。
踩坑记录
坑 1:CLI 默认 endpoint 不是 keyless
这是最关键的坑。直接 npx firecrawl-cli@latest search "query" 会报 Error: fetch failed。因为内置的默认 API 地址不是 keyless 端点。必须设 FIRECRAWL_API_URL 环境变量或传 --api-url 参数。
坑 2:--api-url 是全局选项,位置有要求
# 错误写法(加了也没用)
npx firecrawl-cli@latest search "query" --api-url https://api.firecrawl.dev
# 正确写法,放在子命令前面
npx firecrawl-cli@latest --api-url https://api.firecrawl.dev search "query"
坑 3:search 返回摘要,不是全文
CLI search 的输出只有标题 + URL + 一段描述。想要完整正文需要拿到 URL 后再调一次 scrape。好在两者都免 key,凑着用不麻烦。
坑 4:匿名模式查不了用量
credit-usage 命令需要已认证的 Key。匿名状态下你不知道还剩多少 credits,感觉像是开卷考试——你觉着够用,但不一定。
坑 5:npx 首次运行需下载
首次 npx firecrawl-cli@latest 会自动下载包(约 5 秒),后续命中缓存秒出。不是大问题,知道就好。
接入案例:给搜集管道加上 Firecrawl

我在自己的 AI 日报采集脚本里,把 Firecrawl 作为英文数据源接了进来。
Python 标准库就能搞定,零额外依赖:
import json
import urllib.request
def firecrawl_search(query, limit=5):
data = json.dumps({"query": query, "limit": limit}).encode()
req = urllib.request.Request(
"https://api.firecrawl.dev/v1/search",
data=data,
headers={"Content-Type": "application/json"},
method="POST",
)
with urllib.request.urlopen(req, timeout=15) as resp:
result = json.loads(resp.read())
items = []
for hit in result.get("data", []):
items.append({
"title": hit.get("title", ""),
"url": hit.get("url", ""),
"description": hit.get("description", ""),
})
return items
需要同时搜索多个方向时,并行开 8 个关键词:Claude Code 动态、MCP 协议更新、AI 编程工具发布、Copilot 新特性、Cline 更新等等。每次运行,Firecrawl 贡献 3-5 条国内源拿不到的英文内容。
什么时候用哪个
- 快速查点东西 → Firecrawl search,从打开终端到出结果不到 10 秒
- 需要 JS 渲染的页面内容 → Firecrawl scrape 或本地部署 Crawl4AI
- PDF/文档转 Markdown → Firecrawl parse,上传就能解
- 大量爬取或离线场景 → Crawl4AI(本地免费、无限制、不需要网络)
- Agent 外挂(Claude Code 等) → Firecrawl MCP,零配置接入
一句话总结
Firecrawl Keyless 没有做什么”技术突破”,它只是把一个被大家默认接受的摩擦环节——注册拿 Key——砍掉了。但这恰恰是它对 Agent 生态最有价值的地方:以前数据获取这个环节是链条上的瓶颈,现在它被降到了零。Agent 开发者在写第一行数据获取代码之前,不需要先走一遍”开发者 onboarding”了。