メインコンテンツへスキップ

インストール

Firecrawl の Python SDK をインストールするには、pip を使用します:
Python

使い方

firecrawl.dev で API キーを取得し、環境変数 FIRECRAWL_API_KEY に設定するか、Firecrawl クラスに直接渡します。
API キーをお持ちでないですか? Firecrawl はキーなしでも作成でき、キー不要の Free ティアで scrapesearchinteract を使用できます (IP ごとにレート制限あり。詳しくは Rate Limits を参照してください) 。それ以外のすべてのメソッドではキーが必要です。
Python

URLのスクレイピング

scrape メソッドを使用して単一のURLをスクレイピングします。ページのコンテンツを、Markdown、メタデータ、およびリクエストしたその他のフォーマットを含む構造化データとして返します。
Python
Python SDK は、すべてのレスポンスフィールド名を camelCase から snake_case に変換します。たとえば、API の ogImageogTitlesourceURL などのメタデータフィールドは、SDK のレスポンスでは og_imageog_titlesource_url になります。

アップロードしたファイルの解析

parse を使うと、ローカルファイル (htmlpdfdocxxlsx など) を /v2/parse に直接アップロードできます。 parsechangeTracking や、アクション、wait_for、ロケーション、mobile、screenshot、branding などのブラウザ専用オプションには対応していません。
Python

ウェブサイトをクロールする

ウェブサイトをクロールするには、crawl メソッドを使用します。開始URLと任意のオプションを引数に取ります。オプションでは、クロールするページ数の上限、許可するドメイン、出力フォーマットなど、クロールジョブの追加設定を指定できます。自動/手動のページネーションや制限については Pagination を参照してください。
Python

サイトマップのみクロール

sitemap="only" を使用して、サイトマップの URL のみをクロールします (開始 URL は常に含まれ、HTML のリンク探索は行われません) 。
Python

クロールを開始

ノンブロッキングがお好みですか?下のAsync Classセクションをご覧ください。
start_crawl を使うと待たずにジョブを開始できます。ステータス確認に使えるジョブの ID を返します。完了までブロックして待機したい場合は crawl を使用してください。ページングの動作と制限は Pagination を参照してください。
Python

クロールのステータスを確認する

get_crawl_status を使用して、クロールジョブのステータスを確認します。ジョブ ID を渡すと、現在のステータスと、それまでに収集された結果を取得できます。
Python

クロールのキャンセル

クロールジョブをキャンセルするには、cancel_crawl メソッドを使用します。start_crawl が返すジョブIDを渡すと、キャンセル結果のステータスを受け取れます。
Python

ウェブサイトをマッピングする

map を使って、ウェブサイトから URL の一覧を生成します。オプションで、サブドメインの除外やサイトマップの利用など、マッピングの挙動をカスタマイズできます。
Python

WebSockets を使ったウェブサイトのクロール

WebSockets でウェブサイトをクロールするには、start_crawl でジョブを開始し、watcher ヘルパーで購読します。ジョブ ID を指定して watcher を作成し、start() を呼び出す前にハンドラー (例: page、completed、failed) を登録します。
Python
Firecrawl の /crawl および batch scrape の各エンドポイントは、追加のデータがある場合に next URL を返します。Python SDK はデフォルトで自動ページネーションを行い、すべてのドキュメントを集約します。この場合、nextNone になります。自動ページネーションを無効化したり、ページネーションの動作を制御するための上限を設定することも可能です。

PaginationConfig

get_crawl_status または get_batch_scrape_status を呼び出す際のページネーション動作を制御するには、PaginationConfig を使用します。
Python

手動ページネーションヘルパー

auto_paginate=False の場合、追加のデータがあると、レスポンスに next URL が含まれます。次のページを取得するには、これらのヘルパーメソッドを使用します:
  • get_crawl_status_page(next_url) - 前のレスポンスに含まれる不透明な next URL を使用して、クロール結果の次のページを取得します。
  • get_batch_scrape_status_page(next_url) - 前のレスポンスに含まれる不透明な next URL を使用して、バッチスクレイプ結果の次のページを取得します。
これらのメソッドは、元のステータス呼び出しと同じ型のレスポンスを返し、さらにページが残っている場合は新しい next URL を含みます。

クロール

最も手軽なのはウェイター方式の crawl を使うことです。もしくはジョブを開始して手動でページ処理を行ってください。
シンプルなクロール (自動ページネーション、デフォルト)
ページネーションを制御した手動クロール
ジョブを開始し、auto_paginate=False を指定して 1 ページずつ取得します。後続のページを取得するには get_crawl_status_page を使用します。
Python
Manual crawl with limits (auto-pagination + early stop)
自動ページネーションは有効のまま、max_pagesmax_results、または max_wait_time で早期停止します。
Python

バッチスクレイプ

waiter メソッド batch_scrape を使うか、ジョブを開始して手動でページングします。
シンプルなバッチスクレイプ (自動ページネーション、デフォルト)
  • 既定のフローは Batch Scrape を参照してください。
ページネーション制御付きの手動バッチスクレイピング
auto_paginate=False を指定してジョブを開始し、1ページずつ取得します。後続のページを取得するには get_batch_scrape_status_page を使用します。
Python
制限付きの手動バッチスクレイプ (自動ページネーション + 早期停止)
自動ページネーションは有効にしたまま、max_pagesmax_results、または max_wait_time で早期に停止します:
Python

エラーハンドリング

リクエストが失敗すると、SDK は何が原因かを説明するメッセージを含む例外を発生させます。これらの例外を捕捉し、アプリケーション内で失敗に対処できるように、呼び出しは try/except で囲んでください。

非同期クラス

非同期処理には AsyncFirecrawl クラスを使用します。メソッドは Firecrawl と同等ですが、メインスレッドをブロックしません。
Python
Python

ブラウザ

クラウドブラウザセッションを起動し、リモートでコードを実行できます。

セッションの作成

Python

コードの実行

Python
Python の代わりに JavaScript を実行する:
Python

プロファイル

セッション間でブラウザの状態 (クッキーや localStorage など) を保存して再利用します:
Python

CDP 経由で接続する

Playwright をフルに制御するには、CDP URL を使用して直接接続します。
Python

セッションの一覧表示とクローズ

Python

スクレイピングに紐づいたインタラクティブセッション

スクレイピングの job ID を使用すると、そのスクレイピングで再現されたページコンテキストに対して引き続き操作できます。
  • interact(job_id, ...) は、スクレイピングに紐づいたブラウザセッション内でコードを実行します。
  • 最初の interact 呼び出しでは、スクレイピングコンテキストからセッションが自動的に初期化されます。
  • 同じ job ID に対する後続の interact 呼び出しでは、そのブラウザのライブ状態が再利用されます。
  • stop_interaction(job_id) は、操作が完了したらインタラクティブセッションを停止します。
Python
Firecrawl API key が必要な AI agent ですか?自動オンボーディングの手順については、firecrawl.dev/agent-onboarding/SKILL.md をご覧ください。