Firecrawl 新手教程

Firecrawl 新手教程

把杂乱网页一键变成干净的 Markdown 或结构化 JSON,专为 AI 设计。爬取、搜索、抓取、交互一次搞定,是 2026 年 agent 抓网页的事实标准。

AGPL-3.0 开源 Python / Node / Go… 云服务 + 可自托管 免费层可用 60 秒跑通 GitHub 仓库

01这是什么

Firecrawl 是一个把「网页 URL」变成「AI 可直接用的干净数据」的 API。你给它一个网址(或一个问题),它返回整洁的 Markdown、截图,或按你定义的 schema 抽好的结构化 JSON。

传统抓取要自己应付 JS 渲染、反爬、代理轮换、cookie、弹窗——Firecrawl 把这些全封装成一个 HTTP 调用。网页本来就不是给机器看的,它做的事就是把「给人看的网页」翻译成「给模型看的上下文」。

一句话:URL 进去,干净的 Markdown / 结构化 JSON 出来——中间的反爬、JS 渲染、清洗、抽取全自动。

它不做什么(消除误解)

  • 不是 AI 模型:它不「理解」内容,它负责把网页可靠地拿下来并清洗格式化。理解的事交给接入的 LLM。
  • 不只是一个爬虫库:光 pip install 一个包跑不起来——云服务要有 API Key,自托管要拉起一套多容器服务(见第 5 节)。
  • 不绕过 robots.txt 去偷数据:默认遵守网站的 robots.txt 规则,UA 是 FirecrawlAgent。合规边界要自己把握。
  • 不是一次性的「下载器」:它会做页面清洗(去导航栏、cookie 横幅、广告),输出是为 token 效率优化的,不是逐字节保真的原始拷贝。
💡 一句话记住它

把 Firecrawl 想成「给 AI 用的整页阅读器」:search 负责找到哪页值得读,scrape 负责把那一页干净地读完,interact 负责在需要点按钮、翻页、登录才能看到的场景里帮你去操作。三者合起来,AI 就能用上整个活网页。

02为什么需要它

想让 LLM 用上实时网页数据,最常见的三条路都有硬伤:

手搓方式会撞上的墙
直接 requests / curl 拿 HTML拿回来的是 HTML 汤——导航栏、cookie 横幅、广告、JS 没渲染完的空白。喂给模型,上下文窗口塞满垃圾标记,token 白烧。
自己上 Playwright 跑无头浏览器能渲染 JS,但要自己写「等多久」「怎么判加载完」,还要维护浏览器实例、处理无限滚动、登录态。写一次爽,维护一年哭。
自建反爬代理池 + OCRIP 被 ban、验证码、TLS 指纹检测……这是分布式系统问题,不是一个周末能搞定的。
核心洞察:真正挡住 AI 的不是「拿不到网页」,而是「拿到一堆机器没法用的 HTML」。Firecrawl 把「渲染 + 反爬 + 清洗 + 转 Markdown/结构化」整套基础设施做成一个 API,你只需关心业务。

它在生态里的位置

搜索 API 负责「找到 URL」(比如用 /search),Firecrawl 负责「把 URL 读干净」。2026 年大量 agent 栈(LangGraph、CrewAI、以及接进 Cursor / Claude 的 MCP)都把这类「fetch 整页」当默认工具。

10万+
GitHub Stars
100万+
注册用户
96%
网页覆盖率
40万+
已安装 MCP

03核心流程

无论云服务还是自托管,认知模型都是「给它一个任务,它返回可用的数据」。核心三条能力:

能力它回答什么典型用法
Search 搜索「哪个页面值得读」丢一个问题 → 返回结果 + 每条的整页 Markdown
Scrape 抓取「这个 URL 里是什么」丢一个网址 → 返回 Markdown / HTML / 截图 / JSON
Interact 交互「点两下才能看到的内容」抓取后,用自然语言或代码去点按钮、填表单、翻页

单页任务走 scrape;多 URL、不知道要爬哪些页面时,升级到 crawl(整站爬)、map(列出站内所有 URL)、agent(自然语言描述需求让它自动找)。

一个任务 URL / 问题 Firecrawl API 渲染 JS · 反爬 · 清洗 转 Markdown / 结构化 抓取引擎 浏览器渲染 / fetch 反爬·验证码·代理 干净数据 markdown / json 截图 / html 一个 HTTP 调用,把「网页」翻译成「AI 上下文」 一个任务 URL / 问题 Firecrawl API 渲染JS·反爬·清洗·抽取 抓取引擎 浏览器 / 反爬 / 代理 干净数据 markdown/json/截图

04两条路:云服务 vs 自托管

Firecrawl 有两种用法,选错会白费力气。先看差别,再决定走哪条。

维度云服务(api.firecrawl.dev)开源自托管
体验注册拿 Key,一个 HTTP 调用直接跑先 docker compose up 拉起一整套服务
组件Fire-engine 专有反爬基础设施,零配置Playwright + fetch + Redis + RabbitMQ + NuQ Postgres(+ FoundationDB)
反爬 / 验证码自带代理轮换、验证码处理基础版;要更强的反爬得自己接 Fire-engine 或第三方代理
高级功能完整:agent、interact、dashboard、截图、OCR 等核心爬取可用;部分 AI 功能需自接模型;对照 README 功能差异图
适合想马上出活、不想运维数据量大、要源码与数据主权、内部可信网络
成本免费层 500–1000 积分,之后按套餐花的是自己的机器与运维时间,无按量积分
新手判断:只想把手头的事跑起来 → 用云服务(几分钟内出结果)。想做自己产品的数据层、或量级很大 → 考虑自托管(但那是运维一个服务栈,不是 pip 装个库)。两条路 API 形态一致,代码几乎可复用。

本教程主线走云服务讲透核心概念与跑通流程,第 8 节单独讲自托管。

05环境自检

用云服务,先确认自己有没有三样东西:

  • API Key:去 firecrawl.dev 注册后获取,形如 fc-xxx。在 Dashboard 的 API Keys 页能找到。
  • 目标语言 SDK(或直接用 cURL,零安装)。
  • 能上网——它访问的是公网网站。

选择你的 SDK / 调用方式

方式安装适合
Python SDKpip install firecrawl-py数据脚本、agent、RAG 管道
Node SDKnpm install firecrawlJS / TS 后端
Gogo get github.com/firecrawl/firecrawl/apps/go-sdkGo 服务
JavaJitPack:com.github.firecrawl:firecrawl-java-sdk:2.0JVM 项目
Rust / Ruby / .NET / PHP / Elixircargo / gem / dotnet / composer / hex对应生态
CLInpm i -g firecrawl-cli命令行快速试用
cURL零安装接口调试、临时验证
不确定选哪个?先拿 cURL 跑通一个 scrape(不装任何依赖,最能定位是「接口问题」还是「SDK 用法问题」);确认通了,再按你的语言装 SDK。本教程下面主用 Python SDK + cURL 双示范。
API 基础地址:https://api.firecrawl.dev,全部走 POST + Authorization: Bearer fc-你的Key。

0660 秒实战:第一次抓取

最稳的验证方式:用 cURL 抓一页,看能不能拿到干净的 Markdown。把下面 fc-YOUR_KEY 换成你的 Key。

curl -X POST https://api.firecrawl.dev/v2/scrape \
  -H 'Authorization: Bearer fc-YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://news.ycombinator.com", "formats": ["markdown"]}'

返回体里 data.markdown 就是清洗后的正文,data.metadata 带标题/描述等元信息。✅ 成功会看到类似:

{
  "success": true,
  "data": {
    "markdown": "[Hacker News](https://news.ycombinator.com)\n\n---\n\n...正文...",
    "metadata": { "title": "Hacker News", "statusCode": 200 }
  }
}

换 Python SDK,同一件事:

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_KEY")
result = app.scrape("https://news.ycombinator.com", formats=["markdown"])
print(result["data"]["markdown"][:500])
判断「通了」的标准:拿到 success: true 且 data.markdown 是一段干净的正文,而不是整页导航/广告的 HTML 堆。
▶ 没通?最常见的三个原因

① 403 / 401:Key 写错或没带。检查 Bearer 头;

② 429:免费层并发/频率限制,稍等重试;

③ 500:URL 本身有问题(加 http(s)://)或目标站反爬太狠。换 proxy: "enhanced" 试试。

07能拿回什么:输出格式

scrape 的 formats 参数决定输出。核心几种:

format返回内容适合
markdown清洗后的正文(默认)喂给 LLM 的通用首选,最省 token
html处理过的 HTML要保留结构的场景
rawHtml原始 HTML自己做解析
links页面里所有链接顺藤摸瓜、构图
screenshot页面截图视觉核对
json按你给的 schema 抽结构化数据拿产品价格、联系信息等,无需再解析
summary 等摘要 / branding / product / video…垂类字段(电商、餐饮菜单等)

结构化抽取(json + schema)

不想拿回 Markdown 再让模型解析,就传一个 JSON schema,让 Firecrawl 直接返回你要的字段形状:

result = app.scrape(
    "https://www.amazon.com/...",
    formats=["json"],
    json_options={
        "schema": {
            "type": "object",
            "properties": {
                "title":  {"type": "string"},
                "price":  {"type": "number"},
                "rating": {"type": "number"}
            },
            "required": ["title", "price"]
        }
    }
)
print(result["data"]["json"])  # {"title": "...", "price": 123.45, ...}
跟「先抓 Markdown 再丢给 LLM 解析」比,直接 json 抽取省一次模型往返、输出更稳定,适合有固定字段的页面(价格监控、商品采集)。复杂/不规则的抽取还是交给 agent 端点的自然语言描述更省事。

08多页与整站:Crawl / Map / Agent

单页用 scrape。当「不止一页、但你不确定是哪些页」时,用下面三兄弟:

Map —— 先看这个站有哪些 URL

urls = app.map("https://firecrawl.dev", search="pricing")
print(urls)  # 列出与 pricing 相关的站内链接

Crawl —— 顺着链接把整站(或某分区)爬下来

docs = app.crawl("https://docs.firecrawl.dev", limit=50, formats=["markdown"])
for doc in docs["data"]:
    print(doc["metadata"]["sourceURL"])

crawl 是异步任务:提交后拿到 job id,SDK 会自动轮询直到完成。limit 控制最大页数,避免把整个站爬爆。

Agent —— 只描述需求,让它自己找自己抽

不预先给 URL,直接说你要什么,agent 会自动搜索、导航、抽取:

# 配合结构化 schema,拿回你要的字段
from pydantic import BaseModel

class Pricing(BaseModel):
    plan: str
    price: float

result = app.agent(
    prompt="Find the pricing plans for Notion",
    schema=Pricing
)
agent 是 /extract 的进化版:更快、更可靠、不必预先知道 URL。适合「开放式的、要跑好几个站才知道答案」的任务。
💡 场景选型速记

• 已知一个 URL、要这一页 → scrape

• 要整站/整分区的所有页 → map(看有哪些)+ crawl(爬下来)

• 只有个问题、不确定去哪找 → search(找到 URL)或 agent(全自动)

09需要点两下的页面:Interact

有的信息藏在登录后、分页后面、或要靠点几次才加载(比如在电商站搜个词再点开商品)。Firecrawl 的处理方式:

  1. 先 scrape 页面,拿到 scrapeId;
  2. 对同一个 scrapeId 调 interact,用自然语言或Playwright 代码让它操作页面(点击、输入、滚动、等待、按键盘);
  3. 操作完再读取页面最新内容。
scrape = app.scrape("https://www.amazon.com")
scrape_id = scrape["id"]

app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")  # 自然语言即可
page = app.scrape(scrape_id)  # 读取交互后的页面
print(page["data"]["markdown"][:400])
interact 会把浏览器「保持打开」的状态跨多次调用延续,适合多步骤操作。简单的单步预操作(比如等元素、点一下)也可以在 scrape 的 actions 参数里声明,但复杂的交互官方推荐走 interact。

10费用与额度

云服务按「积分(credit)」计费,抓取失败一般不扣分(唯一的例外:FIRE-1 agent 请求无论成败都计费)。核心换算:

操作积分1000 积分 ≈
Scrape / Crawl / Map1 积分 / 页~1000 页
Search2 积分 / 10 条结果~5000 条结果
Interact(浏览器分钟)2 积分 / 浏览器分钟~500 分钟
PDF 解析1 积分 / 页—

高级能力(json 抽取增强、enhanced proxy 等)会额外计分,具体看定价页的 credits 表。

套餐速览(年付价,官网为准)

套餐积分 / 月年付价并发
Free500–1000(一次性/每月,随时间档位微调)$02
Hobby3,000–5,000~$16/月5
Standard100,000~$83/月50
Growth500,000~$333/月100
Scale1,000,000~$599/月150
套餐数字官网会随档位调整,数值仅供量级参考,签约前一定以 firecrawl.dev/pricing 实时为准。积分每月清零、不滚动;自动充值积分可滚动。
新手量级参考:个人研究 agent 一天爬 30 页,免费层绰绰有余;一次爬 5000 页的文档站,免费层会瞬间见底——量大的要么上付费,要么自托管。

11进阶:自托管

量级大、要源码/数据主权、或公司内部要用,才走这条路。心里要有数:这不是装个 pip 包,是拉起一个微服务栈。

官方推荐从 Docker Compose 起步(docker compose up)。当前基线会跑:API 与 worker、Playwright、Redis、RabbitMQ、NuQ PostgreSQL,以及可选的 FoundationDB(用作任务队列后端)。只有 API 默认暴露到宿主机,端口 3002。

先跑通默认基线,再去换后端 / 接模型 / 加反爬。别一开始就叠加 FoundationDB、自研引擎、队列 UI。

几个被官方点名的注意点

  • 别用 apps/api/.env.example 当 compose 契约:根目录 .env 才对应 docker-compose.yaml。上手看官方 self-host 指南 + 你 checkout 那份 compose 文件。
  • 离开可信网络前先加认证:默认 API 是无认证的。要外网访问先设计好鉴权、TLS、网络策略。
  • 数据持久化要自己配:默认 compose 对 Postgres/Redis/RabbitMQ 没定义持久卷,数据要存活必须自己加 volume 并测试备份恢复。
  • AI 功能默认没接模型:要用到 AI 特性时,自接 OpenAI / OpenAI 兼容端点 / Ollama。
  • 反爬要自己补:开源基线用自带 Playwright + fetch 兜底;更强的反爬(代理轮换、Fire-engine)得自己接。

更正式的部署可参考仓库里的 Kubernetes manifests 与 Helm chart(作为版本化起点,不是替你拍板的生产架构)。

12不止于此:Agent / MCP 一键接入

Firecrawl 在 2026 年这么火,一大半是因为它能一键接进 AI agent。你的 Claude Code / Cursor / Windsurf 等 MCP 客户端,配好后能直接「联网查网页」。

接 MCP(Claude / Cursor / Windsurf 通用)

{
  "mcpServers": {
    "firecrawl-mcp": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": { "FIRECRAWL_API_KEY": "fc-YOUR_KEY" }
    }
  }
}

接 Claude Code(skills,一条命令自动配好)

npx -y firecrawl-cli@latest init --all --browser

这条命令兼容 Claude Code、Antigravity、OpenCode 等客户端,agent 内置 skill 后就知道何时该去抓网页。

场景:让 agent「查一下某公司最新融资信息并总结」——配好 MCP/skill 后,它自己知道要 search + scrape 哪些页面,你不用手贴 URL。

Cursor CLI:逐条命令配好 + 实际怎么用

如果你用的是 Cursor CLI(命令行 agent,不是图形界面 IDE),配 Firecrawl 很简单。Cursor CLI 会在启动时读取 .cursor/mcp.json,读取顺序是「项目级优先、全局兜底」——和 IDE 同一套机制。共有两条路径任选:

方式一:全局配置(个人常用,所有项目生效)

在用户主目录建/改 ~/.cursor/mcp.json,把下面这段合并进已有 mcpServers:

{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": { "FIRECRAWL_API_KEY": "fc-你的KEY" }
    }
  }
}

若你的机器没装 Node/npx,或用远端托管版更省事(无需本地进程,适合 CI 与 headless):

{
  "mcpServers": {
    "firecrawl": {
      "url": "https://mcp.firecrawl.dev/fc-你的KEY/v2/mcp"
    }
  }
}

方式二:项目级配置(随仓库走,团队共享)

在项目根目录放 .cursor/mcp.json 并提交进 Git,队友拉下来即有同样工具。配置内容与上面完全一致,只是文件位置不同。项目级与全局同名服务器冲突时,以项目级为准。

用 Cursor CLI 自带命令确认 / 管理

配置写好即可用。Cursor CLI 也提供命令直接管理服务器,方便你在终端里核对:

# 列出已注册的 MCP 服务器
cursor agent mcp list

# headless 自动批准 MCP(避免交互询问)
cursor agent --approve-mcps -p "帮我抓 https://firecrawl.dev 首页并总结"

配好后:Firecrawl 会暴露哪些工具

工具名(agent 会自己挑)它干什么
firecrawl_scrape抓单个 URL → 干净 Markdown / 结构化 JSON
firecrawl_search联网搜索并直接返回整页内容(不只摘要)
firecrawl_map列出站点所有已收录 URL,先探路再抓
firecrawl_crawl / check_crawl_status整站批量抓取(异步,轮询进度)
firecrawl_agent / agent_status自主研究 agent:自己找页、跟进、出结构化结果
firecrawl_interact / stop在已抓页面上点按钮、填表单、走多步流程

第一次跑通:3 步看到 Firecrawl 真被调起来

配置写好保存后,开一个新终端(已开的终端不会重读 mcp.json),进入任意项目目录:

# 第 1 步:确认 firecrawl 出现在服务器列表里
cursor agent mcp list
# 看到类似 "firecrawl  firecrawl-mcp  stdio  npx -y firecrawl-mcp" 就 OK

# 第 2 步:进项目根目录(mcp.json 所在目录),起一个交互会话
cd /你的项目
cursor agent
# 看到类似 Cursor 启动画面,按提示选模型(Composer / Sonnet 都行)

# 第 3 步:在交互 prompt 里直接说人话
> 抓 https://firecrawl.dev 首页,用 3 句话告诉我这个产品干什么的

agent 会在终端里先回一句「我要调 firecrawl_scrape」,下方打印工具调用与返回,首次会弹一行"Allow once / Always"让你确认 MCP 工具是否可调——按方向键选 Always 之后这次会话就不再问。整个过程像这样:

> 抓 https://firecrawl.dev 首页,3 句话总结
✓ Calling firecrawl_scrape
  url: "https://firecrawl.dev"
  formats: ["markdown"]
✓ 1 credit used
Firecrawl 是一个把任意网页转成干净 Markdown / 结构化 JSON 的 API
服务,面向 AI agent 设计。它能爬整站、做 schema 抽取、配合 LLM
做结构化提取,并提供了官方 MCP 服务器让 Claude Code / Cursor /
Windsurf 等客户端一键联网。
> 

三种启动方式,按场景挑

# A. 交互式 REPL(边聊边追细节)
cursor agent
> 帮我调研 MCP 协议 2026 年的版本演进
> 抓 https://modelcontextprotocol.io 的 changelog 存到 ./changelog.md

# B. 一次性任务(脚本里最常用),-p 后跟 prompt
cursor agent -p "抓 https://news.ycombinator.com 当日 Top 10 标题与链接,列成 Markdown 表格"

# C. 管道喂 prompt(适合大量 prompt 批量跑)
echo "抓 https://example.com 并提取所有 h2 标题" | cursor agent -p -

# D. headless:自动批准所有 MCP 工具调用,省掉人工按 Allow
cursor agent --approve-mcps -p "调研 5 个网页抓取 MCP 并对比" > report.md

# E. 指定模型
cursor agent --model sonnet -p "对比 Firecrawl 和 Jina Reader 的差异"
cursor agent --model composer-1.5 -p "..."

6 组工具的真实 prompt 模板(直接抄)

想做的事对 agent 说的话(prompt)它实际调用的工具
抓单个页面抓 https://example.com,3 句话总结firecrawl_scrape
拿结构化数据抓 https://shop.example.com/product/1,按 {name, price, rating, stock} JSON 输出firecrawl_scrape(带 json schema)
搜最新信息搜「2026 年 Web Agent 进展」最近一周资料,列 5 条带 URLfirecrawl_search
摸清一个站列出 https://docs.example.com 站点所有文档 URLfirecrawl_map
整站批量抓把 https://docs.example.com 整站爬下来,存 ./docs.md,最多 50 页firecrawl_crawl + 轮询 check_crawl_status
让 agent 自己研究帮我研究「https://x.com vs https://threads.net 2026 现状」,出报告firecrawl_agent + agent_status
点按钮 / 填表去 https://app.example.com/login,用 test/test 登录,截屏并总结看到的 dashboardfirecrawl_interact
agent 自己会挑工具和顺序——你说"调研 X 并出报告",它会先 search → 挑几条 scrape → 必要时爬子页。你只要把目标说清楚、给到 URL(可选)、给到输出格式(Markdown 表格 / JSON / 文件路径)就够了。

进阶:串进脚本做批量

最常见的实战用法——把 prompt 列表喂给 cursor agent,每条出一份结果:

#!/usr/bin/env bash
# batch-research.sh:批量调研 10 家竞品官网首页
urls=(
  "https://firecrawl.dev"
  "https://jina.ai/reader"
  "https://www.diffbot.com"
  # ... 再加几条
)
for u in "${urls[@]}"; do
  echo "=== $u ==="
  cursor agent --approve-mcps -p "抓 $u ,3 句话总结它在做什么" \
    | tee -a research.md
  echo "" >> research.md
done

配合 cron / launchd 就能做「每天抓一次竞品首页出日报」。注意:headless 模式务必加 --approve-mcps,否则每个工具调用都要你点一下,回不到批处理场景。

常见坑 & 排错

  • 改完 mcp.json 没生效:必须新开一个 cursor agent 会话,已开的进程不会重读文件。
  • 每次都弹 Allow 询问:加 --approve-mcps(一次性任务)或交互里选 Always(当前会话)。
  • firecrawl 工具不在 agent 的工具列表里:cursor agent mcp list 看是否注册成功;再 cat .cursor/mcp.json 看 JSON 是否合法(多逗号、引号错位最常见)。
  • 调了工具但返回 401/402:到 firecrawl.dev/app 确认 KEY 有效、积分没用完。
  • 超时(crawl 大站点):crawl 是异步任务,agent 会自动轮询;终端可能被超时断,但任务在云端跑,下次重连会拿到结果。
  • Windows 报 spawn npx ENOENT:把 command 改成 npx.cmd 的全路径,或改用远端 URL 模式(无需本地 Node)。

13真实用在哪

别把 Firecrawl 想窄成「爬虫」。它解决的是「任何需要把实时网页变成 AI 能用的结构数据」的地方:

深度研究 Agent

搜索 + 抓取多源并总结,是它最典型的场景。

RAG 知识库

把文档站 crawl 成 Markdown 切片,喂给向量库做检索增强。

竞品价格监控

对商品页做 json 抽取,定时抓价格/评分/库存。

销售线索补全

从公司官网/领英抽联系人、业务信息,写入 CRM。

内容生成素材

抓行业资讯做周报、竞品新闻追踪。

页面变更追踪

监控官网/文档页更新,触发通知或增量同步。

14FAQ / 踩坑

拿回来的 markdown 还是有很多杂七杂八?

试试参数:onlyMainContent: true(默认,过滤页头导航页脚);还嫌脏开 onlyCleanContent: true(Beta,额外用 LLM 清 cookie 横幅、广告)。前者确定性过滤不费额外模型,后者费。注意 onlyCleanContent 受模型输出 token 限制,超限会自动跳过保留原文。

抓 PDF / DOCX / 扫描件怎么处理?

scrape 的 parsers: ["pdf"] 会把 PDF 文本抽成 Markdown(按页计 1 积分/页);传空数组则返回整份 PDF 的 base64(固定 1 积分)。扫描件是图片的话要 OCR 提取。文本型 PDF 会先检测前几页,跑不通就中止,不会白耗整本。

对方网站反爬很狠,抓不下来?

给 proxy 传 enhanced(高级反爬);自定义 UA/cookie 用 headers 参数;需要登录/会话保持的用 profile 持久化浏览器存储,或干脆走 interact 手动操作。自托管基础版抗不住的话,考虑云服务或接第三方代理。

什么时候会遇到 402 / 429?

402 = 需要升级/充值(积分用尽或没开通高级功能);429 = 请求过多(免费层并发/频率限制)。429 等几秒重试、或把并发降到套餐允许值。官网说明里失败请求一般不扣分,除了 FIRE-1 agent(成败都计费)。

缓存 / 提速是什么鬼?

Firecrawl 有结果缓存。maxAge 控制「缓存比这年轻就直接返回」,能提速约 500%;minAge 表示「只查缓存不新抓」。命中缓存也计分但省时。敏感参数(自定义 actions/headers)会强制不入缓存。

会不会违反网站政策 / 法律风险?

Firecrawl 默认遵守 robots.txt,UA 为 FirecrawlAgent。但工具守规矩不等于你用它就合规:是否抓取、抓来做什么(尤其第三方内容、个人数据),要你自己遵守目标站 ToS 与当地法规。企业可用 lockdown(只走缓存绝不发外部请求)做隔离。生产用建议先咨询法务。

15参考链接

资源链接
GitHub 仓库github.com/firecrawl/firecrawl ↗
官方文档站docs.firecrawl.dev ↗
官网 / 注册 Keyfirecrawl.dev ↗
自托管指南Self-hosting guide ↗
MCP 配置Local MCP ↗
Cursor 官方 MCP 文档cursor.com/docs/mcp ↗
Firecrawl × Cursor(官方接入)Firecrawl Cursor Quickstart ↗
定价 / 额度Pricing ↗

仓库结构速览

firecrawl/
├── apps/
│   ├── api/                  # 核心 API 与 worker
│   ├── playwright-service-ts # 无头浏览器渲染服务
│   ├── go-html-to-md-service # HTML → Markdown 转换服务
│   ├── nuq-postgres          # 任务队列存储
│   ├── python-sdk, js-sdk,
│   │   go-sdk, java-sdk, …   # 各语言官方 SDK
│   └── ui/ingestion-ui       # 数据导入界面
├── skills/                   # 构建类 skill 源码
├── examples/                 # 示例
├── docker-compose.yaml       # 自托管编排
└── SELF_HOST.md              # 自托管要点
本文档由 WorkBuddy 基于 firecrawl/firecrawl 公开内容整理 · 功能与价格以官方为准 · 支持深色 / 浅色主题