Crawl4AI と Firecrawl の比較
どちらもデータ取り込みに分類しています。数値はGitHub APIから取得したもので、評価は本サイトによるものです。
基本情報の比較
| 基本情報の比較 | Crawl4AI | Firecrawl |
|---|---|---|
| ライセンス | Apache-2.0 | AGPL-3.0 |
| 言語 | Python | TypeScript |
| 提供形態 | セルフホスト / ローカル実行 | セルフホスト / マネージドクラウド |
| 成熟度 | 成長期 | 安定 |
| スター | 78.2k | 168k |
| 直近7日間のスター増加数 | +29 ★ | +97 ★ |
| フォーク | 8.1k | 9.4k |
| オープンIssue | 148 | 508 |
| 最終コミット | 2026年8月15日 | 2026年8月16日 |
| 開発状況 | 活発 | 活発 |
それぞれの位置づけ
できること
Crawl4AI
- ページをMarkdownで取得する — AsyncWebCrawler.arun()の戻り値からresult.markdownを得られ、DefaultMarkdownGeneratorにPruningContentFilterやBM25ContentFilterを渡せばノイズを除いたfit_markdownも同時に得られます。
- CLIだけで深い探索まで行う — crwlコマンドは-o markdownで単一ページ、--deep-crawl bfs --max-pages 10でサイト内探索、-qで質問に沿ったLLM抽出を実行でき、Pythonを書く必要がありません。
- LLMなしで構造化JSONを抜く — JsonCssExtractionStrategyにbaseSelectorとCSS/XPathのfieldsからなるスキーマを渡せば構造化された行を取得でき、セレクタで届かない場合はPydanticスキーマを使うLLMExtractionStrategyに切り替えます。
- HTTPサービスとして立てる — unclecode/crawl4aiのDockerイメージをポート11235で起動するとFastAPIの/crawlエンドポイント、playground、監視ダッシュボード、MCP連携が使え、v0.9.0以降は認証が既定で有効です。
- ログイン済みブラウザを使い回す — BrowserConfigにuser_data_dirとuse_persistent_context=Trueを指定すればCookieと認証状態を実行間で保持でき、js_code、hooks、プロキシ設定で操作が必要なページにも対応します。
Firecrawl
- 任意URLのMarkdown化 —
app.scrape('firecrawl.dev')はページをMarkdownやJSON、スクリーンショットとしてLLM向けに整形して返します。CLIも同じ処理に対応し、READMEにはfirecrawl scrape https://firecrawl.devとfirecrawl https://firecrawl.dev --only-main-contentの2つの書き方が載っています。 - サイト全体の一括取得 —
/v2/crawlにlimitとscrapeOptions.formatsを渡すとジョブIDが返り、statusやcreditsUsed、ページ単位のMarkdownをポーリングで受け取れます(各SDKはポーリングを自動化しています)。 - 検索と本文取得の同時実行 —
app.search("query", limit=5)は検索結果のURLに加えて各ページのMarkdown本文まで返すため、情報源を見つけてから読むまでに追加のリクエストが不要です。 - URL指定なしのデータ収集 —
/v2/agentはプロンプトだけを受け取ってページの探索と巡回を自ら行い、結果と併せて参照したsourcesを返します。Pydanticモデルをschema=に渡せば構造化データになり、込み入った調査にはmodel="spark-1-pro"を指定します。 - MCPクライアントへの接続 —
firecrawl-mcpはnpx経由でMCPサーバーとして起動でき、env欄にFIRECRAWL_API_KEYを置くだけで接続できます。npx -y firecrawl-cli@latest init --all --browserを実行すれば、Claude CodeやOpenCodeにskillとして導入できます。