firecrawl-scrape について
URLのスクレイピングと、選択したプロバイダーツールによる構造化データ取得に特化したFirecrawlのスキルです。ツール仕様の確認、大きな結果の処理、ページや文書の抽出方法を説明します。
主な機能
- 01静的ページとJavaScript描画ページの取得
- 02プロバイダーツールの検索と仕様確認
- 03定義済み入力項目によるツール実行
- 04PDFと大規模な結果の処理
- 05複数URLの並行スクレイピング
活用シーン
- 01既知のURLからコンテンツを抽出
- 02プロバイダーから構造化データを取得
- 03ページ数を制限してPDFを解析
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ firecrawl/ firecrawl-claude-plugin --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
# Multiple 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 を実行してください。
完了条件: ページコンテンツまたはプロバイダーの結果について、エラーがないことを確認し、依頼に回答できるよう範囲を区切って内容を確認します。ソースリンクを保持し、部分的な結果であることを明示します。
ツールを見つけ、入力を確認し、ヘルプを得る
推測ではなく、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 クレジットかかります。特に大容量の文書やページ数が不明な文書では、--max-pages(1〜10000 の整数)を使って PDF の解析を制限してください。
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 を直接読んでください。コンテンツ全体を自分で検索し、推論できます。保存せずに対象を絞った回答を 1 つだけ得たい場合に限り、--queryを使ってください(追加で 5 クレジットかかります)。- スクレイピングは、静的ページと JavaScript でレンダリングされる SPA に対応しています。 ページで操作(クリック、フォーム入力、ページネーション)が必要な場合や、スクレイピングでコンテンツを取得できない場合は、
interactに切り替えてください。 - 複数の URL は並行してスクレイピングされます。並行処理の上限は
firecrawl --statusで確認してください。このモードでは Markdown のみが保存され、-oは無視されます。他に指定した形式は出力されません。Markdown を指定していない場合、JSON レスポンス全体が.mdファイルに書き込まれます。 - 単一の形式を指定すると、コンテンツがそのまま出力されます。複数の形式(例:
--format markdown,links)を指定すると、JSON が出力されます。 - URL は必ず引用符で囲んでください。シェルが
?や&を特殊文字として解釈します。 - 命名規則:
.firecrawl/{site}-{path}.md
関連項目
- firecrawl-search — URL がない場合にページを検索します
- firecrawl-interact — scrape でコンテンツを取得できない場合に、
interactを使ってクリックやフォーム入力などを行います - firecrawl-download — サイト全体をローカルファイルに一括ダウンロードします
- firecrawl-build-scrape — ここで実行する代わりに、アプリに scrape を組み込む方法