firecrawl-scrape について
firecrawl-scrapeは、既知のURLからコンテンツを抽出する、または選択したプロバイダーツールを実行するスキルです。Markdownやスキーマ指定のJSON出力、複数URLの並列スクレイピング、大規模リスト向けのバッチ処理に対応します。
主な機能
- 01URLの内容をMarkdownで取得
- 02JSONスキーマによる項目抽出
- 03複数URLの並列スクレイピング
- 04batch-scrapeジョブの実行
- 05プロバイダーツールの仕様確認
活用シーン
- 01調査のために既知のウェブページを読む
- 02ページから構造化項目を抽出
- 031つのジョブで複数URLを処理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ firecrawl/ cli --skill firecrawl-scrapeインストール後、Claude Code で/firecrawl-scrapeを入力して読み込まれたか確認します。
同梱ファイルreferences/large-results.md
詳細
firecrawl scrape
URL のページコンテンツを読み取るか、選択したプロバイダーツールを実行して構造化データを取得します。search でツールを検索し、実行前に list で入力を確認してください。複数の URL を並行してスクレイピングできます。
構造化データセットの場合は、まず search skill を使って、適切なワークフローまたはデータプロバイダーを確認してください。既知のページは直接読み取り、選択済みのコントラクトを再利用して、検索を繰り返さないようにします。
クイックスタート
# Basic markdown extraction
firecrawl scrape "<url>" -o .firecrawl/page.md
# Main content only, no nav/footer
firecrawl scrape "<url>" --only-main-content -o .firecrawl/page.md
# Wait for JS to render, then scrape
firecrawl scrape "<url>" --wait-for 3000 -o .firecrawl/page.md
# A few URLs (markdown only; each saved to .firecrawl/; -o is ignored)
firecrawl scrape https://example.com https://example.com/blog https://example.com/docs
# Get markdown and links together
firecrawl scrape "<url>" --format markdown,links -o .firecrawl/page.json
# Ask a question about the page
firecrawl scrape "https://example.com/pricing" --query "What is the enterprise plan price?"
すべてのオプションについては、firecrawl scrape --help を実行してください。
完了条件: ページコンテンツまたはプロバイダーの結果について、エラーがないことを確認し、依頼への回答に必要な範囲を区切って確認していること。ソースリンクを保持し、部分的な結果はその旨を明記してください。
ページからの構造化 JSON
json 形式で JSON スキーマを渡すと、Markdown ではなく型付きフィールドを取得できます。
firecrawl scrape "<url>" --format json \
--schema '{"type":"object","properties":{"plan":{"type":"string"},"price":{"type":"string"}},"required":["plan"]}' \
-o .firecrawl/pricing.json
# Large schemas: keep them in a file
firecrawl scrape "<url>" --format json --schema-file schema.json -o .firecrawl/page.json
結果は出力の .json にあります。--schema は json が --format に含まれる場合にのみ適用されます。ほかの形式を追加するには、カンマで区切ります(--format markdown,json)。同じスキーマを複数の URL に適用する場合は、以下の batch-scrape --schema を使用してください。
既知の URL が複数ある場合
Markdown 以外の形式、JSON 抽出、Webhook、または後から確認できるジョブが必要な場合は、既知の URL のリストに firecrawl batch-scrape を使用してください。Markdown のページが少数の場合は、上記の複数 URL 対応 scrape を使用してください。
# Start a job (prints a job ID), then check it later
firecrawl batch-scrape https://example.com/a https://example.com/b
firecrawl batch-scrape <job-id>
# Wait and save every document as JSON (urls.txt: one URL per line, # comments ok)
firecrawl batch-scrape --urls-file urls.txt --format markdown,links --wait -o .firecrawl/batch.json
# Same extraction for every URL (--schema or --prompt adds the json format)
firecrawl batch-scrape --urls-file urls.txt --wait \
--schema '{"type":"object","properties":{"title":{"type":"string"}}}' -o .firecrawl/batch.json
結果は .data[] にあり、URL ごとに 1 つのドキュメントが格納され、metadata.sourceURL が含まれます。通知を受け取るには --webhook <url> を、無効な項目をスキップするには --ignore-invalid-urls を追加してください。ジョブを停止するには、ジョブ ID とともに --cancel を指定します。すべてのオプションについては、firecrawl batch-scrape --help を実行してください。
ツールの検索、入力の確認、ヘルプの参照
推測で判断するのではなく、CLI のヘルプでサポートされているオプションを確認してください。
firecrawl search --help
firecrawl list --help
firecrawl scrape --help
--domain-tools によるドメイン検索では、デフォルトでツールの概要が返されます。コントラクトを事前に確認するには --tool-detail full を追加するか、以下のように list で選択したツールを確認してください。プロバイダー、機能、説明のみを確認するには --tool-detail compact を使用し、その 2 つの ID を指定して list で確認します。デフォルトでは概要が表示されます。関連する複数のコントラクトをすぐに使う場合は、full を優先してください。
構造化データを取得するには、タスクを検索し、一致するツールのコントラクトを確認してから、宣言された正確な入力フィールドを指定して実行します。
# Web + domain matching + semantic tools
firecrawl search '<user question>'
# Semantic tools only
firecrawl search alexandria '<user question>'
# Categories → providers → tools → contract
firecrawl list
firecrawl list <category-id> --category
firecrawl list <provider-id>
firecrawl list <provider-id> <capability-id> --pretty
# Execute a tool
firecrawl scrape <provider-id>/<capability-id> --options '<JSON matching the selected contract>'
通常の検索ではウェブ検索結果とツールの一致候補が表示されます。ツールのみを検索するには search alexandria を使用します。list <provider> <capability> --pretty は選択したコントラクトを表示し、機械可読な出力には --json を使用します。段階的に確認するには、list、次に list <category> --category、続いて list <provider> を使用します。search と list は、選択したプロバイダーツールを実行しません。タスクに必要なコントラクトのみを読み取り、推測せずに返された識別子を使用してください。
入力の構築や結果の解析を始める前に、展開されたコントラクトを確認してください。
required: trueはその入力が必須であることを示します。各requiresOneOfグループでは、すべてではなく、少なくとも 1 つのメンバーが必要です。- 選択したコントラクトの確認時には、すでに例が要求されています。存在する場合は、単数形の
example.requestとexample.responseを確認してください。入力が空でも、入力が任意のツールでは有効な場合があります。 response.keyはdata.alexandria[i].data内のレコードフィールドを示します。キーが空の場合は、そのデータオブジェクト自体を指します。すべてのプロバイダーがrecordsを返すとは限りません。- プロバイダーのページネーションはカタログの
nextとは異なります。コントラクトに記載された継続入力と、返されたページまたはカーソルを使用し、フィルターを保持して、終了シグナルを受け取ったら停止してください。paginated: trueだけでは、その対応関係は指定されていません。
実行と大きな結果
URL のスクレイピングでは、プロバイダーツールは自動的に実行されません。見つかった正確な入力フィールドを使用し、レコード ID を推測するのではなく、検索ツールで解決してください。外側の成功フラグだけでなく、各 data.alexandria[] の結果にエラーがないか確認してください。
クライアントが出力またはコンテキストの上限を報告した場合、上流のリクエストは成功している可能性があります。リクエスト ID またはスクレイピング ID を保持し、プロバイダーを再度呼び出す前に、保持された結果を取得してください。大規模なデータセットや PDF の場合は、ローカルファイルシステムが利用可能であれば --json -o を使って出力を保存し、jq などのファイルツールで範囲を限定して確認してください。JSON の標準出力とは標準エラー出力を分離してください。JSON パーサーにパイプする際は、2>&1 でストリームを結合しないでください。リモート処理が望ましい場合は、保持された結果から選択するために firecrawl scrape firecrawl/bash を使用してください。ID、コマンド例、有効期限、エラーについては、大きな結果の復旧をお読みください。これは明示的な復旧であり、自動的なオーバーフロー検出ではありません。
PDF とページ上限
PDF は解析された 1 ページにつき 1 クレジットかかります。特に大きい文書やページ数が不明な文書の PDF 解析を制限するには、--max-pages(1 から 10000 までの整数)を使用してください。
firecrawl scrape "https://example.com/report.pdf" --max-pages 5 --json -o .firecrawl/report.json
上限は PDF ごとに適用され、コマンド全体や合計クレジットには適用されません。追加の形式やオプションによって料金が発生することがあります。CLI は実行前にページ数や料金を見積もりません。JSON 出力を使用して、返された metadata.numPages(解析済み)、metadata.totalPages(文書の総ページ数)、および存在する場合は metadata.creditsUsed を確認してください。解析済みページ数が総ページ数より少ない場合、結果は一部のみです。
ヒント
--queryより通常のスクレイピングを優先してください。 ファイルにスクレイピングしてから、grep、headを使うか、Markdown を直接読んでください。全コンテンツを自分で検索し、推論できます。ページを保存せずに特定の回答だけを得たい場合に限り、--queryを使用してください(追加で 5 クレジットかかります)。- スクレイピングは静的ページと JS で描画された SPA に対応しています。 ページで操作(クリック、フォーム入力、ページネーション)が必要な場合、またはスクレイピングでコンテンツを取得できない場合は、
interactに切り替えてください。 - 複数の URL は並行してスクレイピングされるため、並行処理の上限は
firecrawl --statusで確認してください。このモードでは Markdown のみが保存され、-oは無視されます。他に指定した形式は破棄されます。Markdown をリクエストしていない場合、JSON レスポンス全体が.mdファイルに書き込まれます。他の形式や JSON 抽出が必要な場合は、batch-scrapeを使用してください。 - 単一形式の出力は生のコンテンツです。複数の形式(例:
--format markdown,links)を指定すると、JSON が出力されます。 - URL は必ず引用符で囲んでください。シェルは
?と&を特殊文字として解釈します。 - 命名規則:
.firecrawl/{site}-{path}.md
関連項目
- firecrawl-search — URL がわからない場合にページを検索します
- firecrawl-interact — スクレイピングでコンテンツを取得できない場合に、
interactを使ってクリックやフォーム入力などを行います - firecrawl-download — サイト全体をローカルファイルに一括ダウンロードします
- firecrawl-build-scrape — ここで実行するのではなく、スクレイピングをアプリに組み込む方法