firecrawl-search について
firecrawl-search は、firecrawl CLI を使ったウェブ調査やデータ探索向けのスキルです。ウェブ検索結果と Alexandria のツール探索を組み合わせ、ページ取得や政府資料の絞り込みも扱います。
主な機能
- 01自然文によるウェブ検索
- 02検索結果ページの取得
- 03Alexandria ツールの探索
- 04カテゴリ別検索フィルター
- 05政府の法規資料の絞り込み
活用シーン
- 01最近のニュースを探してページを取得
- 02サイトに関連するデータツールの発見
- 03米国の法規制資料の検索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ firecrawl/ cli --skill firecrawl-searchインストール後、Claude Code で/firecrawl-searchを入力して読み込まれたか確認します。
詳細
firecrawl search
ユーザーの実際の質問に沿って、自然な言葉で検索します。デフォルトの検索では、ウェブ検索結果に加えて、関連する Alexandria ツールが返されます。オプションでウェブコンテンツをスクレイピングできます。
構造化レコード、絞り込み可能な一覧、トランスクリプト、データセットを探す場合は、まず firecrawl search alexandria '<data you need>' を実行し、適切なワークフローやデータプロバイダーがあるか確認してください。特定のウェブサイトがわかっている場合は、firecrawl find-tools <url> を使用します。選択したコントラクトを実行する前に、firecrawl list <provider> <capability> --pretty で内容を確認し、scrape を通じて実行してください。ディスカバリーで返された完全なコントラクトがあれば、それを再利用します。適切なツールがない場合は、ウェブ検索または Agent を続けてください。ウェブの調査には通常の search を、既知のページの取得には URL の scrape を使用します。
クイックスタート
# Basic search
firecrawl search "your query" -o .firecrawl/result.json --json
# Search and scrape full page content from results
firecrawl search "your query" --scrape -o .firecrawl/scraped.json --json
# News from the past day
firecrawl search "your query" --sources news --tbs qdr:d -o .firecrawl/news.json --json
検索オプションは firecrawl search --help、コントラクトの閲覧は firecrawl list --help、実行オプションは firecrawl scrape --help で確認できます。
--categories developer は、公開リポジトリ、GitHub の課題、マージ済みのプルリクエスト、リポジトリの README、厳選されたドキュメントサイトのインデックスを検索します。--categories gov は、米国連邦・州・地方政府の法律および規制に関する情報源を検索します。他のカテゴリと組み合わせることはできません。--categories research はウェブサイトのフィルターであり、論文のインデックスではありません。専用スキル:firecrawl-developer-index と firecrawl-research-index。
政府機関インデックス
米国の法律または規制に関する情報源を探すには、firecrawl gov "<question, jurisdiction, and date>" --limit 10 を使用します。結果数の指定には --limit を使用します。-k は API キーのオプションです。search --categories gov も --limit を使用し、結果を data.web に返します。他のカテゴリは gov と組み合わせず、別々に実行してください。
firecrawl gov はフィルターも受け付けますが、search --categories gov は受け付けません。--jurisdiction us-ca、--court ca9、--court-type state-supreme、--cites "42 U.S.C. § 1983"、または --domain irs.gov で絞り込みます。指定可能な値は firecrawl gov --help を参照してください。フィルターでは、インデックスがラベル付けしたページのみが対象になるため、関連するページが検索結果から漏れる場合があり、結果がなくても該当するページが存在しないとは限りません。裁判所のラベルは、連邦裁判所と判例法のコレクションで最も網羅されています。
提示された情報源の URL は、scrape で直接読み込んでください。現在有効な法律を引用する前に、情報源の発行者、管轄、制定・発効状況、バージョンを確認してください。法案の本文、行政機関のガイダンス、過去のバージョン、第三者による転載についても、同様に確認が必要です。ルールを選ぶ前に、管轄が不明な場合はユーザーに確認してください。米国以外に関する質問や、対象情報が不足している場合は、一般的な検索を使用してください。検索結果がないことは、該当する法律が存在しない証拠にはなりません。
完了条件: 関連する検索結果を確認し、呼び出しごとのエラーと空の結果を確認したうえで、情報源へのリンクを添えて依頼に回答し、オプトアウトされていない限り、所定の時間枠内にフィードバックを送信します。
Alexandria でページのコンテンツを超える情報を取得
Alexandria は、すぐに使えるウェブサイトのワークフロー、API プロバイダー、専門インデックスを集めたカタログです。ツールによっては、検索スニペットや単一のスクレイピングページには含まれない、構造化レコード、詳細なリスト、財務データ、企業情報、調査情報、公的記録を取得できます。プロバイダーや機能があると思い込まず、現在の対応状況を確認してください。
- セマンティック検索では、ウェブ検索結果に関連するプロバイダーのウェブサイトが表示されない場合でも、ユーザーの質問の意味をツールの機能と照合します。特にツールが必要な場合は、
firecrawl search alexandria '<data you need>'を使用してください。 - ドメイン照合では、ウェブ検索結果に表示されたウェブサイトに関連するツールを提示します。一致したツールを使うと、リンク先のページを超える詳細情報、関連レコード、構造化コレクションを取得できる場合があります。ドメインの一致は関連性を示すものであり、ツールが要求された項目や市場に対応していることの証明ではありません。
- 統合検索では、デフォルトでウェブ検索結果と併せて両方の検索方法を使用します:
firecrawl search '<user question>'。ウェブ検索結果で十分な場合はそれを利用し、要件を満たすデータをより直接的に取得できるツールがある場合は、そのツールを確認してください。
実行前に確認
API キーがある場合、検索には常に Alexandria が含まれます。デフォルトでは web,alexandria が使用され、ドメインツール照合が有効になります。また、--sources に alexandria が含まれていない場合(例:--sources news)も追加されます。ユーザーの地域、マーケットプレイス、制約をクエリに維持し、通常の調査を人為的なツール検索クエリに変えないでください。同じ応答に含まれる data.web と data.tools を確認してください。
検索結果には、デフォルトで簡潔なツール候補のみが返されます。含まれるのは provider、capability、description だけです。候補は実行済みのデータではありません。候補を選び、プロバイダー ID と機能 ID を指定して firecrawl list <provider> <capability> --pretty を実行し、契約に記載された入力、対応範囲、アクセス要件を確認してください。
検索用のメタデータとナビゲーションには --tool-detail summary --json を使用し、実行前に list で選択した契約を確認してください。検索結果で契約を直接受け取り、追加の確認呼び出しなしで再利用するには --tool-detail full --json を使用してください。関連する契約を複数すぐに使う場合は、full を優先してください。表示される料金は参考情報であり、追加の確認手順ではありません。
契約を確認したら、firecrawl scrape <provider/capability> --options '<input JSON>' を実行します(--alexandria も引き続きサポートされています)。すべてのプロバイダー実行には Scrape を使用します。search --scrape が取得するのはウェブ検索結果のコンテンツのみで、プロバイダーツールは実行しません。
カテゴリーやプロバイダーの閲覧、および選択した契約の確認には list を使用してください。特定のウェブサイトがわかっている場合は、find-tools <url> でツールを実行せずに関連ツールを検索できます。詳細なカタログセレクターについては firecrawl find-tools --help を実行してください。タスクで必要な場合を除き、広範な検索は避けてください。
返されたツールに、対象の国・市場・セグメントや必要な入力への対応がない場合は、通常のウェブ検索結果を引き続き利用してください。対応範囲を確認するだけのためにカタログをくまなく調べたり、周辺ツールに料金を支払ったりしないでください。API キーがある場合、--no-domain-tools で無効になるのはドメイン一致のみで、セマンティックなツール一致は引き続き有効です。キーなしの検索では、ウェブ検索結果のみが返されます。
プロバイダーの検索結果や対応範囲の不足について Alexandria にフィードバックを送る場合(フィードバック1件につき1クレジットが返金されます。ウェブサイトごとに最大10クレジット、UTC の1日あたりチームごとに最大100クレジット)、firecrawl-alexandria を参照してください。
段階的な検出と出力の処理
# 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 はセマンティックツールの一致のみを返します。カタログ全体を展開するのではなく、選択したコントラクトを読み込んでください。ツールの検出は実行ではありません。
大きな検索レスポンスは --json -o の出力に保持し、関連する結果を選択してください。その後のプロバイダー実行または URL スクレイプがエージェントの出力上限を超えた場合は、保持された ID を使用して、リモート Bash による復旧手順を参照してください。検索リクエスト ID は Bash の入力としてサポートされていません。クライアントが結果を表示できなかったからといって、成功したプロバイダーをむやみに再実行しないでください。
ヒント
--highlightsはデフォルトで有効です: 結果はページ内のクエリに関連する抜粋です。元のスニペットを使うには--no-highlightsを指定してください。--scrapeはコンテンツ全体を取得します — 結果 URL を再スクレイプせず、取得済みのコンテンツを再利用してください。これによりクレジットを節約し、重複した取得を避けられます。- 結果が大きい場合は、ファイルシステムが利用できる環境で
-oと範囲を絞ったローカル読み込みを使用してください。レスポンス全体をコンテキストに出力しないでください。 jqを使って、ソースと1から始まる位置を含めて URL を抽出してください(フィードバックには両方が必要です):jq -r '.data | to_entries[] | select(.key as $k | ["web","images","news"] | index($k)) | .key as $s | .value | to_entries[] | "\($s):\(.key + 1)\t\(.value.url // "-")"' .firecrawl/search.json--valuable-resultsで指定できるのはこれら3つのグループのみです。data.toolsやその他のキーはスキップされ、urlのない画像またはニュースの結果は-と表示されますが、位置で指定してください。- 命名規則:
.firecrawl/search-{query}.jsonまたは.firecrawl/search-{query}-scraped.json
検索のたびにフィードバックを送信する(クレジットを1つ返金)
検索にはクレジットを2つ消費します。結果を実際に利用した後(または役に立たないと判断した後)は、firecrawl search-feedback <id> で構造化フィードバックを送信してください。検索ごとに最初に送信したフィードバックではクレジットが1つ返金され、検索品質の改善にも役立ちます。検索ごとに1回だけ、結果の処理を終えた後、バックグラウンドで送信してください。メインタスクはブロックされません。
オプトアウト: FIRECRAWL_NO_SEARCH_FEEDBACK=1(または FIRECRAWL_DISABLE_SEARCH_FEEDBACK=1)が設定されている場合、CLIは呼び出しを黙ってスキップし、何も送信しません。この設定を尊重し、回避しようとしないでください。(チーム管理者はサーバー側でも無効にできます。その場合、APIは feedbackErrorCode: "TEAM_OPTED_OUT" を返し、CLIは何も表示せず終了コード0で終了します。)
呼び出す前に知っておくべきルール:
- 送信期限: 検索後約2分以内に送信する必要があります。期限を過ぎたフィードバックは拒否されます。
--missing-contentは最も重要なフィールドです。 期待していたものの見つからなかった具体的なコンテンツ項目のリストです。項目ごとに文字列を分け、1つの項目につき1つの文字列を指定してください。これらはチーム間で集計され、次にインデックス化する内容の参考になります。--valuable-resultsは、役に立った結果を指定します。 結果はグループ(data.web、data.images、data.news)ごとにまとめられ、各グループで番号が個別に振られます。そのため、各項目はsource:positionの形式になります。web:1とnews:1は別々の結果です。漏れなく指定してください。実際に役に立った結果をすべて列挙してください。指定されていない結果は役に立たなかったものとして扱われるため、一部だけ列挙するとフィードバックの精度が損なわれます。--valuable-sourcesは、役に立ったものの返された結果には含まれていないURL(例:結果のリンク先をたどって見つけたページ)にのみ使用してください。同じ結果を両方に指定しないでください。- 具体的な内容が必要です(内容のないフィードバックはHTTP 400で拒否されます)。
good→--valuable-results、または少なくとも1つの--valuable-sources項目が必要です。partial→--valuable-results、--valuable-sources、または--missing-contentが必要です。bad→--missing-content、または--query-suggestionsが必要です。
- 1日あたりの返金上限(チーム単位、UTC日付、デフォルトで100クレジット)。 チームがその日に100クレジットの返金を受けた後も、フィードバックの送信は記録されますが、追加のクレジットは返金されません。応答には
creditsRefundedToday/dailyRefundCap/dailyCapReachedが含まれます。dailyCapReached: trueになったら、そのUTC日の残りの間はsearch-feedbackの呼び出しを停止してください。返金されず、帯域幅の無駄になります。 - 冪等性: 同じ検索IDに対して再送信しても成功が返されますが、追加の返金はありません。
--silent &が適切なパターンです。失敗時も終了コードは0なので、拒否された呼び出しや期限切れの呼び出しによってパイプラインが停止することはありません。
IDを読み取る前に、検索で結果が返されたことを確認してください。結果が0件の検索では出力ファイルが作成されないため、ファイルが存在しない場合や、以前の検索のファイルが残っている場合があります。以下のガードを使うと、ファイルが存在しない場合や結果が0件の場合にフィードバックをスキップできます。search-feedback はこのガード内でのみ呼び出してください。
# Send once per search. Replace BOTH placeholders: the rating that matches
# what actually happened, and the exhaustive source:position list of the
# results that were genuinely useful (from the jq above). Never send the
# list below as-is -- marking results you did not use corrupts the signal.
# The two fields shown satisfy the substantive-content rule for every rating.
if SEARCH_ID=$(jq -er 'select(any(.data[]; length > 0)) | .id' .firecrawl/search-react-hooks.json); then
firecrawl search-feedback "$SEARCH_ID" \
--rating "<good|partial|bad>" \
--valuable-results "<source:position,... - every result you actually used>" \
--missing-content '[{"topic":"useDeferredValue","description":"No example of useDeferredValue with Suspense"}]' \
--silent &
fi
--missing-content で指定できる形式:
{topic, description?}オブジェクトのJSON配列(最も詳細で、推奨される形式)"topic: description"形式の文字列(簡略形式)"topic1, topic2, topic3"形式のプレーンテキスト(トピック名のみを指定する場合)--missing-contentフラグを複数回指定
--silent は出力を抑制し、& はバックグラウンドで実行するため、フィードバックによって処理がブロックされることはありません。
関連項目
- firecrawl-scrape — 特定の URL をスクレイピングする
- firecrawl-map — サイト内の URL を見つける
- firecrawl-crawl — サイトから一括で抽出する
- firecrawl-developer-index — イシュー、マージ済み PR、README、ドキュメント
- firecrawl-research-index — 公開済み論文。
search --categories researchではありません - firecrawl-build-search — ここで検索を実行するのではなく、アプリに検索機能を組み込む