Firecrawl | 一個專為 AI 應用設計的網絡數據採集 API

作者:Ranger Ramblings
日期:2026年4月24日 上午8:20
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

Firecrawl 係一個專為 AI 應用設計嘅網絡爬蟲 API,解決傳統爬蟲痛點,提供 Scrape、Search、Crawl 等功能,並支援 MCP 集成。

整理版摘要

呢篇文章係由 Mendable AI 團隊整理,介紹佢哋開源嘅 Firecrawl 工具。Firecrawl 係一個專為 AI 應用設計嘅網絡數據採集 API,目標係解決傳統網頁爬蟲嘅常見難題,例如 JS 渲染頁面抓唔到、代理 IP 管理複雜、網站反爬限制、原始 HTML 唔啱 LLM 用等等。文章整體結論係:Firecrawl 提供咗一套完整嘅方案,令 AI Agent、RAG 系統等可以低成本、高效率噉獲取網頁數據,而且支援自託管,適合對數據私隱有要求嘅團隊。

核心功能包括 Scrape(抓取單頁)、Search(搜索全網)、Interact(頁面交互)、Agent(智能體自動採集)、Crawl(爬取整站)、Map(站點地圖)同 Batch Scrape(批量抓取)。呢啲功能全部可以透過 API 或 SDK 調用,輸出格式係乾淨嘅 Markdown 或者結構化 JSON,直接畀 LLM 消費。特別係 Agent 端點,只需用自然語言描述需求,AI 就會自動搜索、導航同提取數據,大大降低使用門檻。

對於想整合落自己工具鏈嘅開發者,Firecrawl 支援 MCP 協議,一行命令就可以同 Claude CodeOpenCode 等 AI 客戶端集成。文章仲提供咗自託管部署教學,適合需要完全控制數據嘅用戶。整體嚟講,Firecrawl 係一個功能全面、易用性高嘅 AI 爬蟲工具,特別適合用嚟做知識庫構建、實時網頁搜索…

  • Firecrawl 專為 AI 應用設計,輸出乾淨 Markdown/JSON,直接畀 LLM 用。
  • 內置無頭瀏覽器,解決 JS 渲染頁面抓取問題,覆蓋 96% 網頁。
  • 提供 Agent 端點,只需描述需求,AI 自動完成搜索、導航同數據提取。
  • 支援 MCP 協議,一鍵集成到 Claude CodeOpenCode 等 AI 客戶端。
  • 開源版可自託管,雲端版內置代理輪換同反檢測,滿足不同私隱需求。
值得記低
連結 firecrawl.dev

官方網站

Firecrawl 官方網站,註冊獲取 API Key

連結 github.com

GitHub 倉庫

開源版源碼,支援自託管

連結 github.com

MCP 伺服器

MCP 協議集成配置

連結 docs.firecrawl.dev

官方文檔

完整使用教學同 API 參考

整理重點

項目背景同痛點

FirecrawlMendable AI 開發,2024年4月開源,係目前最受歡迎嘅 AI 爬蟲項目之一。佢專為 AI 應用設計,解決傳統網頁抓取嘅好多痛點。

  • JS 渲染頁面抓唔到:內置無頭瀏覽器,覆蓋 96% 網頁。
  • 代理 IP 管理複雜:自動輪換代理,零配置。
  • 網站反爬限制:內置頻率控制同繞過策略。
  • 原始 HTML 唔啱餵 LLM:輸出乾淨 Markdown 或結構化 JSON
  • 大規模抓取需要複雜調度:支援異步批量爬取同 Webhook 回調。
  • AI Agent 無法實時訪問網頁:提供 MCP 協議接入,一行命令集成。
整理重點

核心功能一覽

Firecrawl 提供多個 API 端點,涵蓋搜尋、抓取、交互、爬取等需求。以下係主要功能:

  1. 1 Search:搜索全網,返回每頁完整內容(唔似傳統搜尋引擎只出摘要)。
  2. 2 Scrape:將任意 URL 轉為 MarkdownHTML、截圖或結構化 JSON。
  3. 3 Interact:抓取頁面後通過 AI 提示詞或用代碼點擊、輸入、導航。
  4. 4 Agent:只需描述需求,AI 自動搜索並提取數據,唔使提供 URL
  5. 5 Crawl:一次請求爬取整個網站嘅所有頁面,支援限制深度同排除路徑。
  6. 6 Map:瞬間發現網站上嘅所有 URL,可以按關鍵詞過濾。
  7. 7 Batch Scrape:異步批量抓取數千個 URL,支援 Webhook 通知。
整理重點

使用方式同 AI 集成

Firecrawl 提供多語言 SDKPythonNode.js、Java、Rust、Elixir等),同埋 cURL 直接調用。對於 AI Agent 集成,佢支援一鍵 CLI 安裝同 MCP 協議。

例如,用 npx firecrawl-cli init --all --browser 就可以係 Claude Code 度用得。MCP 配置只需喺 config 加返 API Key 就得。

MCP 配置範例 json
{
  "mcpServers": {
    "firecrawl-mcp": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "fc-YOUR_API_KEY"
      }
    }
  }
}

另外,Firecrawl 嘅 Agent 端點可以配合 spark-1-pro 模型提升複雜任務準確度,預設嘅 spark-1-mini 適合一般情況,成本低 60%。

整理重點

部署方式同版本比較

Firecrawl 支援雲端版同自託管。自託管用 Docker Compose 好快就起到,適合對數據私隱有好高要求嘅團隊。

  • 雲端版:內置代理輪換、反檢測、SLA 保障,適合快速上手。
  • 自託管:完全控制數據,但需要自行配置代理池同維護。
  • 開源版:基礎功能齊全,但 Agent 同 Interact 部分功能有限。

部署時要注意 OPENAI_API_KEY 係必須配置嘅環境變量,用於 LLM 提取功能。其他可選變量包括 FIRECRAWL_API_KEY、NUM_WORKERS_PER_QUEUE 等。

整理重點

典型場景同注意事項

文章列出咗多個典型使用場景,例如用 Crawl 構建 RAG 知識庫、用 Scrape + MCP 做實時網頁搜索、用 Agent 做競品分析等。每個場景都有對應嘅推薦功能。

  • RAG 知識庫Crawl 整站 → 餵畀向量數據庫
  • 實時網頁搜索Scrape / Search + MCP 集成
  • 電商價格監控Batch Scrape 批量抓取
  • 網站內容審計Map 發現 URL + 批量處理
  • 文檔/PDF 提取Scrape 支援 PDF/DOCX

最後,文章提醒要 合規使用,遵守目標網站嘅 robots.txt 同服務條款。如果遇到常見問題,例如 API Key 無效、頻率限制、頁面內容為空等,文章都提供咗具體解決方法。

 

一、項目簡介

Firecrawl 係一個專為 AI 應用設計嘅網絡數據採集 API,可以將任意網頁轉換成 LLM(大語言模型)可以直接用嘅乾淨數據(Markdown、JSON、截圖等)。

佢由 Mendable AI[1] 開發,喺 2024 年 4 月開源,係目前最受歡迎嘅 AI 爬蟲項目之一。

二、解決嘅問題

傳統網頁抓取面對好多挑戰,Firecrawl 針對性咁解決咗以下問題:

傳統痛點
Firecrawl 解決方法
JS 渲染頁面抓唔到
內置無頭瀏覽器,覆蓋 96% 嘅網頁
代理 IP 管理複雜
自動輪換代理,零配置
網站反爬限制
內置頻率控制同繞過策略
原始 HTML 好難餵畀 LLM
輸出乾淨 Markdown / 結構化 JSON
大規模抓取需要複雜調度
支援非同步批量爬取 + Webhook 回調
AI Agent 冇辦法即時訪問網頁
提供 MCP 協議接入,一行命令集成
唔知道目標 URL
AI Agent 端點,只需要描述需求就得

三、核心功能

3.1 核心端點

功能
描述
Search(搜索)
搜索全網並返回完整頁面內容
Scrape(抓取)
將任意 URL 轉做 Markdown、HTML、截圖或者結構化 JSON
Interact(交互)
抓取頁面後透過 AI 提示詞或代碼同頁面交互(點擊、輸入等)

3.2 擴展功能

功能
描述
Agent(智能體)
只需要描述需求,AI 自動搜索並提取數據,唔需要提供 URL
Crawl(爬取)
一次請求爬取成個網站嘅所有頁面
Map(站點地圖)
瞬間發現網站上嘅所有 URL
Batch Scrape(批量抓取)
非同步批量抓取幾千個 URL

四、快速開始

4.1 攞 API Key

去 firecrawl.dev[2] 註冊賬號,攞 API Key(格式係 fc-xxxxxxxx)。

亦可以去 Playground[3] 在線測試。

4.2 安裝 SDK

Python

pip install firecrawl-py

Node.js

npm install @mendable/firecrawl-js

.NET

dotnet add package firecrawl-sdk

Java (Gradle)

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}
dependencies {
    implementation 'com.github.firecrawl:firecrawl-java-sdk:2.0'
}

Rust

[dependencies]
firecrawl
 = "2"
tokio
 = { version = "1", features = ["macros", "rt-multi-thread"] }

Elixir

def deps do
  [{:firecrawl, "~> 1.0"}]
end

五、使用方式詳解

5.1 Scrape — 抓取單個網頁

將任意網頁轉換成乾淨嘅 Markdown 或結構化數據。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")
result = app.scrape('https://firecrawl.dev', formats=["markdown"])
print
(result.markdown)

Node.js

import Firecrawl from '@mendable/firecrawl-js';

const
 app = new Firecrawl({ apiKey: 'fc-YOUR_API_KEY' });
const
 doc = await app.scrape('https://firecrawl.dev', { formats: ['markdown'] });
console
.log(doc.markdown);

cURL

curl -X POST 'https://api.firecrawl.dev/v2/scrape' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://firecrawl.dev"}'

輸出示例

# Firecrawl

Firecrawl helps AI systems search, scrape, and interact with the web.

## Features

-
 Search: Find information across the web
-
 Scrape: Clean data from any page
-
 Interact: Click, navigate, and operate pages

5.2 Search — 網頁搜索

搜索全網並返回每個搜索結果頁面嘅完整內容。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")
results = app.search("最新 AI 大模型進展", limit=5)
for
 r in results:
    print
(r['title'], r['url'])
    print
(r['markdown'][:200])

Node.js

const results = await app.search('best AI data tools 2024', { limit: 10 });
results.data.web.forEach(r => console.log(`${r.title}: ${r.url}`));

5.3 Interact — 頁面交互

先抓取頁面,再透過自然語言或代碼同佢交互(點擊、搜索、填表等)。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

# 第一步:抓取頁面

result = app.scrape("https://amazon.com")
scrape_id = result.metadata.scrape_id

# 第二步:與頁面交互

app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")
app.interact(scrape_id, prompt="Click the first result")

輸出示例

{
  "success"
: true,
  "output"
: "Keyboard available at $100",
  "liveViewUrl"
: "https://liveview.firecrawl.dev/..."
}

5.4 Agent — 自主智能採集

唔需要提供 URL,只需要描述需求,AI Agent 會自動完成搜索、導航同數據提取。

Python(結構化輸出)

from firecrawl import Firecrawl
from
 pydantic import BaseModel, Field
from
 typing import List, Optional

app = Firecrawl(api_key="fc-YOUR_API_KEY")

class
 Founder(BaseModel):
    name: str = Field(description="創始人全名")
    role: Optional[str] = Field(None, description="職位")

class
 FoundersSchema(BaseModel):
    founders: List[Founder]

result = app.agent(
    prompt="找到 Stripe 的所有創始人",
    schema=FoundersSchema
)
print
(result.data)
# {"founders": [{"name": "Patrick Collison", "role": "CEO"}, ...]}

模型選擇

模型
成本
適用場景
spark-1-mini
(默認)
低(慳 60%)
大多數常規任務
spark-1-pro
標準
複雜研究、需要高準確度嘅場景

5.5 Crawl — 爬取整站

爬取一個網站嘅所有子頁面。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

# SDK 自動處理輪詢,等待任務完成

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

cURL(非同步方式)

# 1. 發起爬取任務
curl -X POST 'https://api.firecrawl.dev/v2/crawl' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://docs.firecrawl.dev",
    "limit": 100,
    "scrapeOptions": {"formats": ["markdown"]}
  }'

# 返回:{"success": true, "id": "123-456-789", ...}


# 2. 查詢狀態

curl 'https://api.firecrawl.dev/v2/crawl/123-456-789' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY'

5.6 Map — URL 發現

快速拎到一個網站嘅所有 URL。

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

# 獲取全站 URL

result = app.map("https://firecrawl.dev")

# 按關鍵詞過濾,結果按相關性排序

result = app.map("https://firecrawl.dev", search="pricing")

5.7 Batch Scrape — 批量抓取

非同步並發抓取多個 URL。

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

job = app.batch_scrape([
    "https://firecrawl.dev"
,
    "https://docs.firecrawl.dev"
,
    "https://firecrawl.dev/pricing"

], formats=["markdown"])

for
 doc in job.data:
    print
(doc.metadata.source_url)
    print
(doc.markdown[:200])

六、同 AI Agent / MCP 集成

6.1 一鍵集成(CLI Skill)

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

重新開你嘅 AI Agent 客戶端(支援 Claude Code、OpenCode 等)就可以用。

6.2 MCP 配置

喺 MCP 客戶端配置檔加入:

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

七、典型使用場景

場景
推薦功能
為 RAG 系統建立知識庫
Crawl
 成個網站 → 餵畀向量數據庫
AI Agent 即時獲取網頁資訊
Scrape
 / Search + MCP 集成
電商價格監控
Batch Scrape
 批量抓取商品頁
競品分析
Agent
 描述需求,自動收集
建立結構化數據集
Scrape
 + JSON Schema 提取
網站內容審計
Map
 發現所有 URL + 批量處理
AI 自動化操作網頁
Interact
 點擊/填表/導航
文件/PDF 內容提取
Scrape
 支援 PDF/DOCX 解析
搜索引擎增強(Search Grounding)
Search
 獲取即時網頁內容

八、自己託管部署

Firecrawl 支援完全自己託管,適合對數據私隱有要求嘅場景。

8.1 用 Docker Compose

git clone https://github.com/firecrawl/firecrawl.git
cd
 firecrawl
cp
 apps/api/.env.example apps/api/.env
# 編輯 .env 配置必要的環境變量

docker compose up -d

8.2 主要環境變數

# 必須配置
OPENAI_API_KEY=sk-...          # 用於 LLM 提取功能

# 可選配置
FIRECRAWL_API_KEY=fc-...       # 自定義 API Key
NUM_WORKERS_PER_QUEUE=8        # 併發工作數
PROXY_SERVER=                  # 代理服務器

8.3 指向自己託管實例

app = Firecrawl(api_key="fc-YOUR_KEY", api_url="https://your-instance.com")

詳細部署文檔:Self-Hosting Guide[4]

九、常見問題同解決方案

❌ 問題 1:API Key 無效(401 Unauthorized)

原因原因:API Key 填錯或者冇正確傳入。

解決

  • • 確認 Key 以 fc- 開頭
  • • 檢查環境變數 FIRECRAWL_API_KEY 係咪正確設定
  • • 去 控制枱[5] 確認 Key 狀態

❌ 問題 2:觸發頻率限制(429 Too Many Requests)

原因原因:短時間內請求太多,超出套餐並發上限。

解決

  • • 用 SDK 嘅內置重試機制
  • • 降低並發請求數量
  • • 升級至更高套餐
  • • 自己託管時調整 NUM_WORKERS_PER_QUEUE

❌ 問題 3:頁面內容係空或者唔完整

原因原因:目標頁面依賴 JS 渲染,而且加載時間比較長。

解決

result = app.scrape('https://example.com'
    formats=["markdown"],
    wait_for=5000  # 等待 5 秒讓頁面完全渲染
)

❌ 問題 4:爬取任務超時

原因原因:大型網站頁面數量太多,或者網絡比較慢。

解決

# 限制爬取深度和數量
docs = app.crawl("https://example.com",
    limit=50,              # 最多抓取 50 頁
    max_depth=3,           # 最大爬取深度為 3
    exclude_paths=["/blog/*", "/archive/*"]  # 排除不需要的路徑
)

❌ 問題 5:畀目標網站封鎖

原因原因:目標站點嘅反爬措施檢測到異常請求。

解決

  • • 用雲端版(Firecrawl 已經內置代理輪換同反檢測)
  • • 自己託管時配置代理池
  • • 喺請求加入合理嘅延遲

❌ 問題 6:自己託管 Docker 啟動失敗

原因原因:缺少必要嘅環境變數配置。

解決

# 檢查服務日誌
docker compose logs api

# 常見必填項

OPENAI_API_KEY=sk-...       # 必須填寫
REDIS_URL=redis://redis:6379 # 默認已在 docker-compose.yaml 中配置

❌ 問題 7:Agent 結果唔準確

原因原因:用咗默認嘅 spark-1-mini 模型,複雜任務精度唔夠。

解決

result = app.agent(
    prompt="詳細比較 Notion 和 Confluence 的企業版功能與定價",
    model="spark-1-pro"  # 切換到 Pro 模型
)

十、開源版 vs 雲端版對比

特性
開源自己託管
雲端版(firecrawl.dev)
基礎 Scrape/Crawl
Markdown 輸出
JS 渲染
代理輪換
要自己配置
✅ 內置
Agent 端點
部分支援
✅ 完整
Interact 交互
部分支援
✅ 完整
SLA 保障
技術支援
社區
官方
數據私隱
完全自控
要接受私隱協議

十一、相關資源

資源
連結
官方網站
firecrawl.dev[2]
官方文檔
docs.firecrawl.dev[6]
API 參考
API Reference[7]
在線 Playground
firecrawl.dev/playground[3]
GitHub 倉庫
firecrawl/firecrawl[8]
MCP 服務器
firecrawl-mcp-server[9]
Discord 社區
discord.gg/firecrawl[10]
更新日誌
Changelog[11]

十二、注意事項同法律聲明

⚠️ 合規使用:用 Firecrawl 嗰陣,用戶要自行遵守目標網站嘅服務條款(ToS)同私隱政策。Firecrawl 默認跟 robots.txt 規則。唔好將呢個工具用嚟做未經授權嘅數據採集,或者違反相關法律法規嘅活動。

文檔整理自 firecrawl/firecrawl[8] | 最後更新:2026-04-22

引用連結

[1] Mendable AI: https://mendable.ai
[2] firecrawl.dev: https://firecrawl.dev
[3] Playground: https://firecrawl.dev/playground
[4] Self-Hosting Guide: https://docs.firecrawl.dev/contributing/self-host
[5] 控制枱: https://firecrawl.dev/app
[6] docs.firecrawl.dev: https://docs.firecrawl.dev
[7] API Reference: https://docs.firecrawl.dev/api-reference/introduction
[8] firecrawl/firecrawl: https://github.com/firecrawl/firecrawl
[9] firecrawl-mcp-server: https://github.com/firecrawl/firecrawl-mcp-server
[10] discord.gg/firecrawl: https://discord.gg/firecrawl
[11] Changelog: https://firecrawl.dev/changelog

 

 

一、項目簡介

Firecrawl 是一個專為 AI 應用設計的網絡數據採集 API,能夠將任意網頁轉換為 LLM(大語言模型)可直接消費的乾淨數據(Markdown、JSON、截圖等)。

它由 Mendable AI[1] 開發,於 2024 年 4 月開源,是目前最受歡迎的 AI 爬蟲項目之一。

二、解決的問題

傳統網頁抓取面臨諸多挑戰,Firecrawl 針對性地解決了以下問題:

傳統痛點
Firecrawl 解法
JS 渲染頁面無法抓取
內置無頭瀏覽器,覆蓋 96% 的網頁
代理 IP 管理複雜
自動輪換代理,零配置
網站反爬限制
內置頻率控制與繞過策略
原始 HTML 難以餵給 LLM
輸出乾淨 Markdown / 結構化 JSON
大規模抓取需要複雜調度
支持異步批量爬取 + Webhook 回調
AI Agent 無法實時訪問網頁
提供 MCP 協議接入,一行命令集成
不知道目標 URL
AI Agent 端點,只需描述需求即可

三、核心功能

3.1 核心端點

功能
描述
Search(搜索)
搜索全網並返回完整頁面內容
Scrape(抓取)
將任意 URL 轉為 Markdown、HTML、截圖或結構化 JSON
Interact(交互)
抓取頁面後通過 AI 提示詞或代碼與頁面交互(點擊、輸入等)

3.2 擴展功能

功能
描述
Agent(智能體)
只需描述需求,AI 自動搜索並提取數據,無需提供 URL
Crawl(爬取)
一次請求爬取整個網站的所有頁面
Map(站點地圖)
瞬間發現網站上的所有 URL
Batch Scrape(批量抓取)
異步批量抓取數千個 URL

四、快速開始

4.1 獲取 API Key

前往 firecrawl.dev[2] 註冊賬號,獲取 API Key(格式為 fc-xxxxxxxx)。

也可以前往 Playground[3] 在線測試。

4.2 安裝 SDK

Python

pip install firecrawl-py

Node.js

npm install @mendable/firecrawl-js

.NET

dotnet add package firecrawl-sdk

Java (Gradle)

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}
dependencies {
    implementation 'com.github.firecrawl:firecrawl-java-sdk:2.0'
}

Rust

[dependencies]
firecrawl
 = "2"
tokio
 = { version = "1", features = ["macros", "rt-multi-thread"] }

Elixir

def deps do
  [{:firecrawl, "~> 1.0"}]
end

五、使用方式詳解

5.1 Scrape — 抓取單個網頁

將任意網頁轉換為乾淨的 Markdown 或結構化數據。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")
result = app.scrape('https://firecrawl.dev', formats=["markdown"])
print
(result.markdown)

Node.js

import Firecrawl from '@mendable/firecrawl-js';

const
 app = new Firecrawl({ apiKey: 'fc-YOUR_API_KEY' });
const
 doc = await app.scrape('https://firecrawl.dev', { formats: ['markdown'] });
console
.log(doc.markdown);

cURL

curl -X POST 'https://api.firecrawl.dev/v2/scrape' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://firecrawl.dev"}'

輸出示例

# Firecrawl

Firecrawl helps AI systems search, scrape, and interact with the web.

## Features

-
 Search: Find information across the web
-
 Scrape: Clean data from any page
-
 Interact: Click, navigate, and operate pages

5.2 Search — 網頁搜索

搜索全網並返回每個搜索結果頁面的完整內容。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")
results = app.search("最新 AI 大模型進展", limit=5)
for
 r in results:
    print
(r['title'], r['url'])
    print
(r['markdown'][:200])

Node.js

const results = await app.search('best AI data tools 2024', { limit: 10 });
results.data.web.forEach(r => console.log(`${r.title}: ${r.url}`));

5.3 Interact — 頁面交互

先抓取頁面,再通過自然語言或代碼與其交互(點擊、搜索、填寫表單等)。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

# 第一步:抓取頁面

result = app.scrape("https://amazon.com")
scrape_id = result.metadata.scrape_id

# 第二步:與頁面交互

app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")
app.interact(scrape_id, prompt="Click the first result")

輸出示例

{
  "success"
: true,
  "output"
: "Keyboard available at $100",
  "liveViewUrl"
: "https://liveview.firecrawl.dev/..."
}

5.4 Agent — 自主智能採集

無需提供 URL,只需描述需求,AI Agent 自動完成搜索、導航和數據提取。

Python(結構化輸出)

from firecrawl import Firecrawl
from
 pydantic import BaseModel, Field
from
 typing import List, Optional

app = Firecrawl(api_key="fc-YOUR_API_KEY")

class
 Founder(BaseModel):
    name: str = Field(description="創始人全名")
    role: Optional[str] = Field(None, description="職位")

class
 FoundersSchema(BaseModel):
    founders: List[Founder]

result = app.agent(
    prompt="找到 Stripe 的所有創始人",
    schema=FoundersSchema
)
print
(result.data)
# {"founders": [{"name": "Patrick Collison", "role": "CEO"}, ...]}

模型選擇

模型
成本
適用場景
spark-1-mini
(默認)
低(節省 60%)
大多數常規任務
spark-1-pro
標準
複雜研究、需要高準確度的場景

5.5 Crawl — 爬取整站

爬取一個網站的所有子頁面。

Python

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

# SDK 自動處理輪詢,等待任務完成

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

cURL(異步方式)

# 1. 發起爬取任務
curl -X POST 'https://api.firecrawl.dev/v2/crawl' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://docs.firecrawl.dev",
    "limit": 100,
    "scrapeOptions": {"formats": ["markdown"]}
  }'

# 返回:{"success": true, "id": "123-456-789", ...}


# 2. 查詢狀態

curl 'https://api.firecrawl.dev/v2/crawl/123-456-789' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY'

5.6 Map — URL 發現

快速獲取一個網站的所有 URL。

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

# 獲取全站 URL

result = app.map("https://firecrawl.dev")

# 按關鍵詞過濾,結果按相關性排序

result = app.map("https://firecrawl.dev", search="pricing")

5.7 Batch Scrape — 批量抓取

異步併發抓取多個 URL。

from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

job = app.batch_scrape([
    "https://firecrawl.dev"
,
    "https://docs.firecrawl.dev"
,
    "https://firecrawl.dev/pricing"

], formats=["markdown"])

for
 doc in job.data:
    print
(doc.metadata.source_url)
    print
(doc.markdown[:200])

六、與 AI Agent / MCP 集成

6.1 一鍵集成(CLI Skill)

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

重啓你的 AI Agent 客戶端(支持 Claude Code、OpenCode 等)即可使用。

6.2 MCP 配置

在 MCP 客戶端配置文件中添加:

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

七、典型使用場景

場景
推薦功能
為 RAG 系統構建知識庫
Crawl
 整站 → 餵給向量數據庫
AI Agent 實時獲取網頁信息
Scrape
 / Search + MCP 集成
電商價格監控
Batch Scrape
 批量抓取商品頁
競品分析
Agent
 描述需求,自動收集
構建結構化數據集
Scrape
 + JSON Schema 提取
網站內容審計
Map
 發現所有 URL + 批量處理
AI 自動化操作網頁
Interact
 點擊/填表/導航
文檔/PDF 內容提取
Scrape
 支持 PDF/DOCX 解析
搜索引擎增強(Search Grounding)
Search
 獲取實時網頁內容

八、自託管部署

Firecrawl 支持完全自託管,適合對數據隱私有要求的場景。

8.1 使用 Docker Compose

git clone https://github.com/firecrawl/firecrawl.git
cd
 firecrawl
cp
 apps/api/.env.example apps/api/.env
# 編輯 .env 配置必要的環境變量

docker compose up -d

8.2 主要環境變量

# 必須配置
OPENAI_API_KEY=sk-...          # 用於 LLM 提取功能

# 可選配置
FIRECRAWL_API_KEY=fc-...       # 自定義 API Key
NUM_WORKERS_PER_QUEUE=8        # 併發工作數
PROXY_SERVER=                  # 代理服務器

8.3 指向自託管實例

app = Firecrawl(api_key="fc-YOUR_KEY", api_url="https://your-instance.com")

詳細部署文檔:Self-Hosting Guide[4]

九、常見問題與解決方案

❌ 問題 1:API Key 無效(401 Unauthorized)

原因:API Key 填寫錯誤或未正確傳入。

解決

  • • 確認 Key 以 fc- 開頭
  • • 檢查環境變量 FIRECRAWL_API_KEY 是否正確設置
  • • 前往 控制枱[5] 確認 Key 狀態

❌ 問題 2:觸發頻率限制(429 Too Many Requests)

原因:短時間內請求過多,超出套餐併發上限。

解決

  • • 使用 SDK 的內置重試機制
  • • 降低併發請求數量
  • • 升級至更高套餐
  • • 自託管時調整 NUM_WORKERS_PER_QUEUE

❌ 問題 3:頁面內容為空或不完整

原因:目標頁面依賴 JS 渲染,且加載時間較長。

解決

result = app.scrape('https://example.com'
    formats=["markdown"],
    wait_for=5000  # 等待 5 秒讓頁面完全渲染
)

❌ 問題 4:爬取任務超時

原因:大型網站頁面數量過多,或網絡較慢。

解決

# 限制爬取深度和數量
docs = app.crawl("https://example.com",
    limit=50,              # 最多抓取 50 頁
    max_depth=3,           # 最大爬取深度為 3
    exclude_paths=["/blog/*", "/archive/*"]  # 排除不需要的路徑
)

❌ 問題 5:被目標網站封禁

原因:目標站點的反爬措施檢測到異常請求。

解決

  • • 使用雲端版(Firecrawl 已內置代理輪換和反檢測)
  • • 自託管時配置代理池
  • • 在請求中添加合理的延遲

❌ 問題 6:自託管 Docker 啓動失敗

原因:缺少必要的環境變量配置。

解決

# 檢查服務日誌
docker compose logs api

# 常見必填項

OPENAI_API_KEY=sk-...       # 必須填寫
REDIS_URL=redis://redis:6379 # 默認已在 docker-compose.yaml 中配置

❌ 問題 7:Agent 結果不準確

原因:使用了默認的 spark-1-mini 模型,複雜任務精度不足。

解決

result = app.agent(
    prompt="詳細比較 Notion 和 Confluence 的企業版功能與定價",
    model="spark-1-pro"  # 切換到 Pro 模型
)

十、開源版 vs 雲端版對比

特性
開源自託管
雲端版(firecrawl.dev)
基礎 Scrape/Crawl
Markdown 輸出
JS 渲染
代理輪換
需自行配置
✅ 內置
Agent 端點
部分支持
✅ 完整
Interact 交互
部分支持
✅ 完整
SLA 保障
技術支持
社區
官方
數據隱私
完全自控
需接受隱私協議

十一、相關資源

資源
連結
官方網站
firecrawl.dev[2]
官方文檔
docs.firecrawl.dev[6]
API 參考
API Reference[7]
在線 Playground
firecrawl.dev/playground[3]
GitHub 倉庫
firecrawl/firecrawl[8]
MCP 服務器
firecrawl-mcp-server[9]
Discord 社區
discord.gg/firecrawl[10]
更新日誌
Changelog[11]

十二、注意事項與法律聲明

⚠️ 合規使用:使用 Firecrawl 時,用戶須自行遵守目標網站的服務條款(ToS)和隱私政策。Firecrawl 默認遵循 robots.txt 規則。請勿將本工具用於未經授權的數據採集,或違反相關法律法規的活動。

文檔整理自 firecrawl/firecrawl[8] | 最後更新:2026-04-22

引用連結

[1] Mendable AI: https://mendable.ai
[2] firecrawl.dev: https://firecrawl.dev
[3] Playground: https://firecrawl.dev/playground
[4] Self-Hosting Guide: https://docs.firecrawl.dev/contributing/self-host
[5] 控制枱: https://firecrawl.dev/app
[6] docs.firecrawl.dev: https://docs.firecrawl.dev
[7] API Reference: https://docs.firecrawl.dev/api-reference/introduction
[8] firecrawl/firecrawl: https://github.com/firecrawl/firecrawl
[9] firecrawl-mcp-server: https://github.com/firecrawl/firecrawl-mcp-server
[10] discord.gg/firecrawl: https://discord.gg/firecrawl
[11] Changelog: https://firecrawl.dev/changelog