Firecrawl | 一個專為 AI 應用設計的網絡數據採集 API
整理版優先睇
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 Code、OpenCode 等 AI 客戶端集成。文章仲提供咗自託管部署教學,適合需要完全控制數據嘅用戶。整體嚟講,Firecrawl 係一個功能全面、易用性高嘅 AI 爬蟲工具,特別適合用嚟做知識庫構建、實時網頁搜索…
- Firecrawl 專為 AI 應用設計,輸出乾淨 Markdown/JSON,直接畀 LLM 用。
- 內置無頭瀏覽器,解決 JS 渲染頁面抓取問題,覆蓋 96% 網頁。
- 提供 Agent 端點,只需描述需求,AI 自動完成搜索、導航同數據提取。
- 支援 MCP 協議,一鍵集成到 Claude Code、OpenCode 等 AI 客戶端。
- 開源版可自託管,雲端版內置代理輪換同反檢測,滿足不同私隱需求。
官方網站
Firecrawl 官方網站,註冊獲取 API Key
GitHub 倉庫
開源版源碼,支援自託管
MCP 伺服器
MCP 協議集成配置
官方文檔
完整使用教學同 API 參考
項目背景同痛點
Firecrawl 由 Mendable AI 開發,2024年4月開源,係目前最受歡迎嘅 AI 爬蟲項目之一。佢專為 AI 應用設計,解決傳統網頁抓取嘅好多痛點。
- JS 渲染頁面抓唔到:內置無頭瀏覽器,覆蓋 96% 網頁。
- 代理 IP 管理複雜:自動輪換代理,零配置。
- 網站反爬限制:內置頻率控制同繞過策略。
- 原始 HTML 唔啱餵 LLM:輸出乾淨 Markdown 或結構化 JSON。
- 大規模抓取需要複雜調度:支援異步批量爬取同 Webhook 回調。
- AI Agent 無法實時訪問網頁:提供 MCP 協議接入,一行命令集成。
核心功能一覽
Firecrawl 提供多個 API 端點,涵蓋搜尋、抓取、交互、爬取等需求。以下係主要功能:
- 1 Search:搜索全網,返回每頁完整內容(唔似傳統搜尋引擎只出摘要)。
- 2 Scrape:將任意 URL 轉為 Markdown、HTML、截圖或結構化 JSON。
- 3 Interact:抓取頁面後通過 AI 提示詞或用代碼點擊、輸入、導航。
- 4 Agent:只需描述需求,AI 自動搜索並提取數據,唔使提供 URL。
- 5 Crawl:一次請求爬取整個網站嘅所有頁面,支援限制深度同排除路徑。
- 6 Map:瞬間發現網站上嘅所有 URL,可以按關鍵詞過濾。
- 7 Batch Scrape:異步批量抓取數千個 URL,支援 Webhook 通知。
使用方式同 AI 集成
Firecrawl 提供多語言 SDK(Python、Node.js、Java、Rust、Elixir等),同埋 cURL 直接調用。對於 AI Agent 集成,佢支援一鍵 CLI 安裝同 MCP 協議。
例如,用 npx firecrawl-cli init --all --browser 就可以係 Claude Code 度用得。MCP 配置只需喺 config 加返 API Key 就得。
{
"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 針對性咁解決咗以下問題:
三、核心功能
3.1 核心端點
| Search(搜索) | |
| Scrape(抓取) | |
| Interact(交互) |
3.2 擴展功能
| Agent(智能體) | |
| Crawl(爬取) | |
| Map(站點地圖) | |
| Batch Scrape(批量抓取) |
四、快速開始
4.1 攞 API Key
去 firecrawl.dev[2] 註冊賬號,攞 API Key(格式係 fc-xxxxxxxx)。
亦可以去 Playground[3] 在線測試。
4.2 安裝 SDK
Python
pip install firecrawl-pyNode.js
npm install @mendable/firecrawl-js.NET
dotnet add package firecrawl-sdkJava (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 pages5.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 | ||
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"
}
}
}
}七、典型使用場景
Crawl | |
ScrapeSearch + MCP 集成 | |
Batch Scrape | |
Agent | |
Scrape | |
Map | |
Interact | |
Scrape | |
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 -d8.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 嗰陣,用戶要自行遵守目標網站嘅服務條款(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 針對性地解決了以下問題:
三、核心功能
3.1 核心端點
| Search(搜索) | |
| Scrape(抓取) | |
| Interact(交互) |
3.2 擴展功能
| Agent(智能體) | |
| Crawl(爬取) | |
| Map(站點地圖) | |
| Batch Scrape(批量抓取) |
四、快速開始
4.1 獲取 API Key
前往 firecrawl.dev[2] 註冊賬號,獲取 API Key(格式為 fc-xxxxxxxx)。
也可以前往 Playground[3] 在線測試。
4.2 安裝 SDK
Python
pip install firecrawl-pyNode.js
npm install @mendable/firecrawl-js.NET
dotnet add package firecrawl-sdkJava (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 pages5.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 | ||
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"
}
}
}
}七、典型使用場景
Crawl | |
ScrapeSearch + MCP 集成 | |
Batch Scrape | |
Agent | |
Scrape | |
Map | |
Interact | |
Scrape | |
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 -d8.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 時,用戶須自行遵守目標網站的服務條款(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