メインコンテンツへスキップ
Node.js アプリケーションから、単一ページをスクレイピングし、サイト全体をクロールし、URL をマップできます。SDK がページネーション、リトライ、非同期ジョブのポーリングを処理するため、返されたデータの利用に集中できます。

インストール

npm で SDK をインストールします:
Node

使い方

  1. firecrawl.dev から API キーを取得します。
  2. 環境変数 FIRECRAWL_API_KEY に API キーを設定するか、Firecrawl クラスにパラメータとして渡します。
API キーがありませんか? キーなしで Firecrawl を作成し、キー不要の Free ティアで scrapesearchinteract を利用できます (IP ごとにレート制限あり — Rate Limits を参照) 。それ以外のすべてのメソッドにはキーが必要です。
エラーハンドリング付きで SDK を使用する例は次のとおりです:
Node

URLをスクレイピングする

scrape メソッドを使用すると、単一のURLをスクレイピングして構造化されたページデータを取得できます。
Node

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

URLを指定してスクレイピングする代わりに、ローカルファイル (htmlpdfdocxxlsx など) をアップロードする場合は parse を使用します。 parsechangeTracking や、screenshotbrandingactionswaitForlocationmobile などのブラウザ専用オプションには対応していません。
Node

Web サイトをクロールする

crawl メソッドを使用すると、単一の URL から Web サイト全体をクロールできます。ページ数の上限を設定したり、特定のドメインのみに制限したり、出力フォーマットを選択したりできます。自動ページネーションと手動ページネーションについては、Pagination を参照してください。
Node

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

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

クロールを開始

startCrawl を使うと、完了を待たずにクロールを開始できます。このメソッドは、後からポーリングできるジョブ ID を返します。完了まで待って処理をブロックしたい場合は、代わりに crawl を使用してください。ページングの挙動と制限については Pagination を参照してください。
Node

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

checkCrawlStatus メソッドを使うと、クロールがまだ実行中か、完了したか、失敗したかを確認できます。startCrawl から返されたジョブ ID を渡します。
Node

クロールのキャンセル

実行中のクロールは、cancelCrawl メソッドでキャンセルできます。startCrawl が返すジョブ ID を渡してください。
Node

Web サイトのマッピング

Web サイト上のすべての URL を検出するには、map メソッドを使用します。開始 URL を渡すと、検出されたページの一覧が返されます。
Node

WebSockets を使って Web サイトをクロールする

crawlUrlAndWatch メソッドを使うと、クロール結果をリアルタイムで受け取れます。ジョブ全体の完了を待たずに、各ページがクロールされるたびに受け取れます。
Node
Firecrawl の /crawl と batch の各エンドポイントは、追加のデータがある場合に next URL を返します。Node SDK はデフォルトで自動ページネーションを行い、すべてのドキュメントを集約します。その場合は nextnull になります。自動ページネーションを無効にしたり、上限を設定したりできます。

クロール

最も手軽なのはウェイター方式の crawl を使うことです。あるいはジョブを開始して、ページングを手動で行ってください。
シンプルなクロール (自動ページ送り、デフォルト)
ページネーション制御付きの手動クロール (単一ページ)
  • ジョブを開始し、autoPaginate: false を指定して1ページずつ取得します。
Node
制限付きの手動クロール (自動ページネーション + 早期停止)
  • 自動ページネーションはオンのまま、maxPagesmaxResults、または maxWaitTime で早めに停止します。
Node

バッチスクレイプ

waiter メソッド batchScrape を使うか、ジョブを開始して手動でページングします。
シンプルなバッチスクレイプ (自動ページネーション、デフォルト)
  • 既定のフローは Batch Scrape を参照してください。
ページネーション制御による手動バッチスクレイプ (単一ページ)
  • ジョブを開始し、autoPaginate: false を指定して1ページずつ取得します。
Node
制限付きの手動バッチスクレイプ (自動ページネーション+早期停止)
  • 自動ページネーションは有効のまま、maxPagesmaxResults、または maxWaitTime で早期停止します。
Node

ブラウザ

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

セッションを作成する

Node

コードを実行

Node
Pythonの代わりにJavaScriptを実行する場合:
Node
agent-browserでbashを実行します:
Node

プロファイル

セッションをまたいでブラウザの状態 (クッキー、localStorage など) を保存し、再利用できます。
Node

CDP 経由で接続する

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

セッションの一覧表示と終了

Node

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

スクレイピングジョブIDを使うと、そのスクレイピングで再現されたページコンテキストに対して続けて操作できます。
  • interact(jobId, {...}) は、スクレイピングに紐づくブラウザセッション内でコードを実行します。
  • 最初の interact 呼び出しでは、スクレイピングコンテキストからセッションが自動的に初期化されます。
  • 同じジョブIDに対する以降の interact 呼び出しでは、そのままライブのブラウザ状態が再利用されます。
  • stopInteraction(jobId) は、完了後にインタラクティブセッションを停止します。
Node

エラーハンドリング

この SDK は Firecrawl API から返されるあらゆるエラーに対して、わかりやすい例外を送出します。上記の例に示すように、呼び出しは try/catch ブロックで囲んでください。
Firecrawl API キーが必要な AI agent ですか?自動オンボーディング手順については、firecrawl.dev/agent-onboarding/SKILL.md を参照してください。