あらゆる Web サイトからのクリーンなデータを AI アプリに提供します。高度なスクレイピング、クローリング、データ抽出機能を備えています。
このリポジトリは開発中であり、カスタム モジュールをモノ リポジトリに統合しているところです。まだセルフホスト展開の準備が完全には整っていませんが、ローカルで実行できます。
Firecrawl は、URL を取得してクロールし、クリーンなマークダウン データまたは構造化データに変換する API サービスです。アクセス可能なすべてのサブページをクロールし、それぞれのクリーンなデータを提供します。サイトマップは必要ありません。ドキュメントを確認してください。
PST。やあ、あなたも私たちのスターゲイザーに参加してください:)
ホスト型バージョンでは使いやすい API を提供します。プレイグラウンドとドキュメントはここにあります。必要に応じて、バックエンドをセルフホストすることもできます。
開始するには、次のリソースを確認してください。
API : ドキュメント
SDK : Python、Node、Go、Rust
LLM フレームワーク: Langchain (Python)、Langchain (js)、Llama Index、Crew.ai、Composio、PraisonAI、Superinterface、Vectorize
ローコード フレームワーク: Dify、Langflow、Flowise AI、Cargo、Pipedream
その他: Zapier、Pabbly Connect
SDK または統合が必要ですか?問題を開いてお知らせください。
ローカルで実行するには、こちらのガイドを参照してください。
API を使用するには、Firecrawl にサインアップして API キーを取得する必要があります。
スクレイピング: URL をスクレイピングし、そのコンテンツを LLM 対応形式で取得します (マークダウン、LLM 抽出による構造化データ、スクリーンショット、HTML)
クロール: Web ページのすべての URL をスクレイピングし、LLM 対応形式でコンテンツを返します。
地図: Web サイトを入力すると、すべての Web サイトの URL が非常に高速に取得されます。
LLM 対応フォーマット: マークダウン、構造化データ、スクリーンショット、HTML、リンク、メタデータ
難しいもの: プロキシ、ボット対策メカニズム、動的コンテンツ (JS レンダリング)、出力解析、オーケストレーション
カスタマイズ性: タグの除外、カスタム ヘッダーによる認証ウォールの背後へのクロール、クロールの最大深さなど...
メディア解析: PDF、docx、画像。
信頼性第一: どんなに困難であっても、必要なデータを取得できるように設計されています。
アクション: データを抽出する前に、クリック、スクロール、入力、待機など
バッチ処理 (新機能) : 新しい非同期エンドポイントを使用して数千の URL を同時にスクレイピング
Firecrawl のすべての機能とその使用方法については、ドキュメントを参照してください。
URL およびアクセス可能なすべてのサブページをクロールするために使用されます。これにより、クロール ジョブが送信され、クロールのステータスを確認するためのジョブ ID が返されます。
カール -X POST https://api.firecrawl.dev/v1/crawl -H 'コンテンツタイプ: application/json' -H '認証: ベアラー fc-YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "limit": 100, "scrapeOptions": { "formats": ["markdown", "html"] } }'
クロールのステータスを確認するためのクロール ジョブ ID と URL を返します。
{ "成功": true、"id": "123-456-789"、"url": "https://api.firecrawl.dev/v1/crawl/123-456-789"}
クロール ジョブのステータスを確認し、その結果を取得するために使用されます。
カール -X GET https://api.firecrawl.dev/v1/crawl/123-456-789 -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY'
{ "ステータス": "完了"、"合計": 36、"クレジット使用": 36、"期限切れ": "2024-00-00T00:00:00.000Z"、"データ": [ { "markdown": "[Firecrawl Docs ホームページ![ライトロゴ](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...", " html": ".. .", "metadata": {"title": "Groq Llama 3 | Firecrawl を使用して「Web サイトとチャット」を構築する"," language": "en","sourceURL": "https://docs.firecrawl.dev /learn/rag-llama3","description": "Firecrawl、Groq Llama 3、Langchain を使用して「Web サイトとチャット」ボットを構築する方法を学びます。","ogLocaleAlternate": [],"statusCode": 200 } } ] }
URL をスクレイピングし、そのコンテンツを指定された形式で取得するために使用されます。
カール -X POST https://api.firecrawl.dev/v1/scrape -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "formats" : ["markdown", "html"] }'
応答:
{ "success": true, "data": {"markdown": "ローンチ第 1 週目はここにあります! [2 日目のリリースをご覧ください](https://www.firecrawl.dev/blog/launch-week-i-day) -2-doubled-rate-limits)[? 2 か月無料...","html": "マップ (アルファ)
URL をマッピングし、Web サイトの URL を取得するために使用されます。これにより、Web サイト上に存在するほとんどのリンクが返されます。
カール -X POST https://api.firecrawl.dev/v1/map -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev" }'応答:
{ "ステータス": "成功"、"リンク": ["https://firecrawl.dev","https://www.firecrawl.dev/pricing","https://www.firecrawl.dev/blog ","https://www.firecrawl.dev/playground","https://www.firecrawl.dev/smart-crawl", ] }検索機能付き地図
search
パラメーターを使用したマップを使用すると、Web サイト内の特定の URL を検索できます。カール -X POST https://api.firecrawl.dev/v1/map -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev", "検索": "ドキュメント" }'応答は、最も関連性の高いものから最も関連性の低いものへの順序付きリストになります。
{ "ステータス": "成功", "リンク": ["https://docs.firecrawl.dev","https://docs.firecrawl.dev/sdks/python","https://docs.firecrawl .dev/learn/rag-llama3", ] }LLM 抽出 (ベータ版)
スクレイピングされたページから構造化データを抽出するために使用されます。
カール -X POST https://api.firecrawl.dev/v1/scrape -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "url": "https://www.mendable.ai/", "formats": ["extract"], "extract": { "schema": { "type": "object", " property": { "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" ] } } }'{ "success": true, "data": {"content": "Raw Content","metadata": { "title": "Mendable", "description": "Mendable を使用すると、AI チャット アプリケーションを簡単に構築できます。をカスタマイズし、任意の場所に 1 行のコードでデプロイします。Brought to you by SideGuide", "robots": "follow,index", "ogTitle": "Mendable", "ogDescription": "Mendable を使用すると、簡単にビルドできます。 AI チャット アプリケーションを取り込み、カスタマイズし、任意の場所に 1 行のコードでデプロイします。 mendable.ai/mendable_new_og1.png", "ogLocaleAlternate": [], "ogSiteName": "Mendable", "sourceURL": "https://mendable.ai/"},"llm_extraction": { "company_mission": "顧客や従業員の質問に答える安全な AI を技術リソース上でトレーニングすることで、チームはその必要がなくなります。", "supports_sso": true, "is_open_source": false, "is_in_yc": true} } }スキーマを使用しない抽出 (新規)
prompt
をエンドポイントに渡すだけで、スキーマなしで抽出できるようになりました。 llm はデータの構造を選択します。カール -X POST https://api.firecrawl.dev/v1/scrape -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev/", "formats": ["extract"], "extract": { "prompt": "ページから会社のミッションを抽出します。" } }'アクションを使用したページの操作 (クラウドのみ)
Firecrawl を使用すると、Web ページのコンテンツをスクレイピングする前に、Web ページ上でさまざまなアクションを実行できます。これは、動的コンテンツの操作、ページ間の移動、またはユーザーの操作が必要なコンテンツへのアクセスに特に役立ちます。
ここでは、アクションを使用して google.com に移動し、Firecrawl を検索し、最初の結果をクリックしてスクリーンショットを撮る方法の例を示します。
カール -X POST https://api.firecrawl.dev/v1/scrape -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "url": "google.com", "formats": ["markdown"], "actions": [ {"type": "wait", "ミリ秒": 2000}, {"type": "クリック", "セレクター": "textarea[title="検索"]"}, {"タイプ": "待機", "ミリ秒": 2000}, {"タイプ": "書き込み", "テキスト": " firecrawl"}、{"タイプ": "待機"、"ミリ秒": 2000}、{"タイプ": "押す"、"キー": "ENTER"}、{"タイプ": "待機"、"ミリ秒" : 3000}、{"タイプ": "クリック"、"セレクター": "h3"}、{"タイプ": "待機"、"ミリ秒": 3000}、{"タイプ": "スクリーンショット"} ] }'複数の URL のバッチ スクレイピング (新規)
複数の URL を同時にバッチ スクレイピングできるようになりました。これは、/crawl エンドポイントの動作と非常によく似ています。バッチ スクレイピング ジョブを送信し、ジョブ ID を返してバッチ スクレイピングのステータスを確認します。
カール -X POST https://api.firecrawl.dev/v1/batch/scrape -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "urls": ["https://docs.firecrawl.dev", "https://docs.firecrawl.dev/sdks/overview"], "formats" : ["markdown", "html" ] }'検索 (v0) (ベータ版)
Web を検索し、最も関連性の高い結果を取得し、各ページをスクレイピングしてマークダウンを返すために使用されます。
カール -X POST https://api.firecrawl.dev/v0/search -H 'コンテンツタイプ: application/json' -H '認可: ベアラー YOUR_API_KEY' -d '{ "query": "firecrawl", "pageOptions": { "fetchPageContent": true // 高速 serp API の場合は false } }'{ "成功": true、"データ": [ { "url": "https://mendable.ai", "markdown": "# Markdown Content", "provider": "web-scraper", "metadata": {"title": "Mendable | AI for CXと販売","説明": "CX と販売のための AI","言語": null,"sourceURL": "https://www.mendable.ai/" } } ] }Python SDKの使用
Python SDKのインストール
pip インストール firecrawl-pyWeb サイトをクロールする
from firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")# Web サイトをスクレイピング:scrape_status = app.scrape_url( 'https://firecrawl.dev', params={'フォーマット': ['マークダウン', 'html']} )print(scrape_status)# Web サイトをクロールします:crawl_status = app.crawl_url( 'https://firecrawl.dev', params={'limit': 100, 'scrapeOptions': {'formats': ['markdown', 'html']} }、poll_interval=30)print(crawl_status)URLから構造化データを抽出する
LLM 抽出を使用すると、任意の URL から構造化データを簡単に抽出できます。私たちはあなたにとっても簡単にするために pydantic スキーマをサポートしています。使用方法は次のとおりです。
from firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")class ArticleSchema(BaseModel):title: strpoints: intby: strcommentsURL: strclass TopArticlesSchema(BaseModel):top: List[ArticleSchema] = Field(..., max_items=5, description="トップ 5 ストーリー")data = app.scrape_url('https://news.ycombinator.com', {'formats': ['extract'],'extract': {'schema':トップ記事Schema.model_json_schema() } })print(データ["抽出"])ノードSDKの使用
インストール
Firecrawl Node SDK をインストールするには、npm を使用できます。
npm install @mendable/firecrawl-js使用法
firecrawl.dev から API キーを取得します。
API キーを
FIRECRAWL_API_KEY
という名前の環境変数として設定するか、パラメータとしてFirecrawlApp
クラスに渡します。import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});// ウェブサイトをスクレイピングconstscrapeResponse = await app.scrapeUrl('https: //firecrawl.dev', { 形式: ['markdown', 'html'],});if (scrapeResponse) { console.log(scrapeResponse)}// ウェブサイトをクロールconst rollResponse = await app.crawlUrl('https://firecrawl.dev', { 制限: 100、 ScrapeOptions: {フォーマット: ['markdown', 'html'], }} CrawlParams を満たす、true、30) CrawlStatusResponse を満たす;if (crawlResponse) { console.log(クロールレスポンス)}URLから構造化データを抽出する
LLM 抽出を使用すると、任意の URL から構造化データを簡単に抽出できます。私たちは、あなたにとっても簡単にするために zod スキーマをサポートしています。使用方法は次のとおりです。
import FirecrawlApp from "@mendable/firecrawl-js";import { z } from "zod";const app = new FirecrawlApp({ apiKey: "fc-YOUR_API_KEY"});// コンテンツを抽出するスキーマを定義 const schema = z.object({ トップ: z.array( z.object({title: z.string(),points: z.number(),by: z.string(),commentsURL: z.string(), })).length(5 ).describe("ハッカー ニュースのトップ 5 記事"),});constscrapeResult = await app.scrapeUrl("https://news.ycombinator.com", { extractorOptions: { extractSchema: スキーマ },});console.log(scrapeResult.data["llm_extraction"]);オープンソースとクラウドの提供
Firecrawl は、AGPL-3.0 ライセンスの下で利用できるオープン ソースです。
可能な限り最高の製品を提供するために、オープンソース製品とともに Firecrawl のホスト版を提供します。クラウド ソリューションにより、すべてのユーザーに対して高品質で持続可能なサービスを継続的に革新し、維持することができます。
Firecrawl Cloud は firecrawl.dev で入手でき、オープン ソース バージョンでは利用できないさまざまな機能を提供します。
貢献する
私たちは貢献が大好きです!プル リクエストを送信する前に、コントリビュート ガイドをお読みください。セルフホスティングを希望する場合は、セルフホスティング ガイドを参照してください。
Firecrawl を使用してスクレイピング、検索、およびクロールするときに Web サイトのポリシーを尊重することは、エンド ユーザーの単独の責任です。ユーザーは、スクレイピング活動を開始する前に、該当するプライバシー ポリシーと Web サイトの利用規約に従うことをお勧めします。デフォルトでは、Firecrawl はクロール時に Web サイトの robots.txt ファイルで指定されたディレクティブを尊重します。 Firecrawl を利用すると、これらの条件に従うことに明示的に同意したものとみなされます。
貢献者
ライセンス免責事項
このプロジェクトは、このリポジトリのルート ディレクトリにある LICENSE ファイルで指定されているように、主に GNU Affero General Public License v3.0 (AGPL-3.0) に基づいてライセンスされています。ただし、このプロジェクトの特定のコンポーネントは MIT ライセンスに基づいてライセンスされています。詳細については、これらの特定のディレクトリにある LICENSE ファイルを参照してください。
ご注意ください:
AGPL-3.0 ライセンスは、特に指定がない限り、プロジェクトのすべての部分に適用されます。
SDK と一部の UI コンポーネントは、MIT ライセンスに基づいてライセンスされています。詳細については、これらの特定のディレクトリにある LICENSE ファイルを参照してください。
このプロジェクトを使用または貢献する場合は、作業している特定のコンポーネントの適切なライセンス条項に必ず準拠してください。
特定のコンポーネントのライセンスの詳細については、それぞれのディレクトリにある LICENSE ファイルを参照するか、プロジェクトの管理者に問い合わせてください。
↑ トップに戻る ↑