Home
Login

ウェブサイト全体をLLM対応のMarkdownまたは構造化データに変換。単一のAPIでスクレイピング、クロール、抽出が可能。

AGPL-3.0TypeScript 40.4kmendableaifirecrawl Last Updated: 2025-06-22

Firecrawl プロジェクト詳細

プロジェクト概要

Firecrawl は、URLを受け取り、それをクロールし、クリーンな markdown または構造化データに変換する API サービスです。アクセス可能なすべてのサブページをクロールし、各ページにクリーンなデータを提供します。サイトマップは不要です。

主要機能

1. ウェブスクレイピング (Scraping)

  • 単一の URL をスクレイピングし、LLM 対応形式のコンテンツを取得
  • 複数の出力形式をサポート: markdown、構造化データ、スクリーンショット、HTML
  • LLM を介して構造化データを抽出

2. ウェブサイトクローリング (Crawling)

  • ウェブページのすべての URL をクロールし、LLM 対応形式のコンテンツを返す
  • サイトマップなしでアクセス可能なすべてのサブページを発見
  • カスタムのクロール深度と除外ルールをサポート

3. ウェブサイトマッピング (Map)

  • ウェブサイトを入力して、すべてのウェブサイト URL を取得 - 非常に高速
  • 特定の URL パターンを検索可能

4. ウェブ検索 (Search)

  • ウェブを検索し、結果から完全なコンテンツを取得
  • カスタム検索パラメータ (言語、国など) を設定可能
  • 検索結果からさまざまな形式のコンテンツを取得可能

5. データ抽出 (Extract)

  • AI を使用して、単一ページ、複数ページ、またはウェブサイト全体から構造化データを取得
  • プロンプトと JSON スキーマを介して抽出ルールを定義可能
  • ワイルドカード URL パターンをサポート

6. バッチ処理 (Batching)

  • 数千の URL を同時にスクレイピングする新しい非同期エンドポイント
  • バッチスクレイピングジョブを送信し、ジョブ ID を返してステータスを確認

技術特性

LLM 対応形式

  • Markdown: クリーンなドキュメント形式
  • 構造化データ: JSON 形式の抽出データ
  • スクリーンショット: ページの視覚的なキャプチャ
  • HTML: 元の HTML コンテンツ
  • リンクとメタデータ: ページ情報抽出

複雑な状況の処理

  • プロキシとアンチボットメカニズム: アクセス制限を回避
  • 動的コンテンツ: JavaScript レンダリングされたコンテンツを処理
  • 出力解析: インテリジェントなコンテンツ解析
  • オーケストレーション: 複雑なプロセス管理

カスタム能力

  • 除外タグ: 不要なコンテンツをフィルタリング
  • 認証クロール: カスタムヘッダーを使用して認証が必要なコンテンツをクロール
  • 最大クロール深度: クロール範囲を制御
  • メディア解析: PDF、DOCX、画像をサポート

インタラクション機能 (Actions)

コンテンツのスクレイピング前に、さまざまなアクションを実行可能:

  • クリック: ページ要素をクリック
  • スクロール: ページスクロール操作
  • 入力: テキスト入力
  • 待機: ページロードを待機
  • キー入力: キーボード操作

API 使用例

ウェブサイトのクロール

curl -X POST https://api.firecrawl.dev/v1/crawl \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-d '{
  "url": "https://docs.firecrawl.dev",
  "limit": 10,
  "scrapeOptions": {
    "formats": ["markdown", "html"]
  }
}'

単一ページのスクレイピング

curl -X POST https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
  "url": "https://docs.firecrawl.dev",
  "formats" : ["markdown", "html"]
}'

構造化データ抽出

curl -X POST https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
  "url": "https://www.mendable.ai/",
  "formats": ["json"],
  "jsonOptions": {
    "schema": {
      "type": "object",
      "properties": {
        "company_mission": {"type": "string"},
        "supports_sso": {"type": "boolean"},
        "is_open_source": {"type": "boolean"},
        "is_in_yc": {"type": "boolean"}
      },
      "required": ["company_mission", "supports_sso", "is_open_source", "is_in_yc"]
    }
  }
}'

SDK サポート

Python SDK

pip install firecrawl-py
from firecrawl.firecrawl import FirecrawlApp
from firecrawl.firecrawl import ScrapeOptions

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

# ウェブサイトのスクレイピング
scrape_status = app.scrape_url(
    'https://firecrawl.dev',
    formats=["markdown", "html"]
)
print(scrape_status)

# ウェブサイトのクローリング
crawl_status = app.crawl_url(
    'https://firecrawl.dev',
    limit=100,
    scrape_options=ScrapeOptions(formats=["markdown", "html"]),
    poll_interval=30
)
print(crawl_status)

Node.js SDK

npm install @mendable/firecrawl-js
import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';

const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});

// ウェブサイトのスクレイピング
const scrapeResponse = await app.scrapeUrl('https://firecrawl.dev', {
  formats: ['markdown', 'html'],
});

if (scrapeResponse) {
  console.log(scrapeResponse)
}

// ウェブサイトのクローリング
const crawlResponse = await app.crawlUrl('https://firecrawl.dev', {
  limit: 100,
  scrapeOptions: {
    formats: ['markdown', 'html'],
  }
} satisfies CrawlParams, true, 30) satisfies CrawlStatusResponse;

統合サポート

LLM フレームワーク統合

  • Langchain: Python および JavaScript バージョン
  • Llama Index: データコネクタ
  • Crew.ai: AI エージェントフレームワーク
  • Composio: ツール統合
  • PraisonAI: AI オーケストレーション
  • Superinterface: アシスタント機能
  • Vectorize: ベクトル化統合

ローコードフレームワーク

  • Dify: AI アプリケーション構築プラットフォーム
  • Langflow: ビジュアル AI フロー
  • Flowise AI: ノーコード AI 構築
  • Cargo: データ統合
  • Pipedream: ワークフロー自動化

その他の統合

  • Zapier: 自動化ワークフロー
  • Pabbly Connect: アプリケーション統合

ライセンスとデプロイメント

オープンソースライセンス

  • 主に GNU Affero General Public License v3.0 (AGPL-3.0) を採用
  • SDK および一部の UI コンポーネントは MIT ライセンスを採用

マネージドサービス

  • マネージドバージョンを firecrawl.dev で提供
  • クラウドソリューションは追加機能とエンタープライズレベルのサポートを提供

セルフホスティング

  • ローカルデプロイメントをサポート
  • 現在も開発中で、カスタムモジュールをモノリシックリポジトリに統合中
  • ローカルで実行できますが、セルフホスティングデプロイメントの準備はまだ完了していません

応用事例

  1. AI データ準備: LLM にクリーンなトレーニングデータを提供
  2. コンテンツ集約: 複数のウェブサイトからコンテンツを収集および整理
  3. 競合分析: 競合他社のウェブサイトの変更を監視
  4. SEO 研究: ウェブサイトの構造とコンテンツを分析
  5. データマイニング: ウェブサイトから構造化情報を抽出
  6. ドキュメント生成: ウェブサイトのコンテンツをドキュメント形式に変換

使用上の注意

Firecrawl を使用してスクレイピング、検索、およびクロールを行う場合、ユーザーはウェブサイトのポリシーを遵守する責任があります。スクレイピング活動を開始する前に、該当するウェブサイトのプライバシーポリシーと利用規約を遵守することをお勧めします。デフォルトでは、Firecrawl はクロール時にウェブサイトの robots.txt ファイルで指定された指示に従います。

プロジェクトステータス

このプロジェクトは現在、活発な開発状態にあり、チームはカスタムモジュールをモノリシックリポジトリに統合しています。セルフホスティングデプロイメントの準備はまだ完了していませんが、開発およびテストのためにローカルで実行できます。このプロジェクトは、活発なコミュニティと継続的な更新があり、ウェブデータ抽出の分野における主要なソリューションです。

Star History Chart