Firecrawl で行う基本的なスクレイピング
/scrape エンドポイントを使用します。
PDFのスクレイピング
parsers オプション(例: parsers: ["pdf"])を使用してください。
スクレイピングのオプション
/scrape エンドポイントを使用する際は、以下のオプションでスクレイピングをカスタマイズできます。
フォーマット (formats)
- 型:
array - 文字列:
["markdown", "links", "html", "rawHtml", "summary", "images"] - オブジェクト形式:
- JSON:
{ type: "json", prompt, schema } - スクリーンショット:
{ type: "screenshot", fullPage?, quality?, viewport? } - changeTracking(変更追跡):
{ type: "changeTracking", modes?, prompt?, schema?, tag? }(markdownが必要)
- JSON:
- デフォルト:
["markdown"]
ページ全体のコンテンツとメインコンテンツ(onlyMainContent)
- タイプ:
boolean - 説明: 既定ではスクレイパーはメインコンテンツのみを返します。ページ全体のコンテンツを返すには
falseに設定してください。 - デフォルト:
true
- Type:
array - Description: スクレイプに含める HTML のタグ/クラス/ID。
- 型:
array - 説明: スクレイプ対象から除外する HTML のタグ・クラス・ID。
ページの準備完了を待つ (waitFor)
- 型:
integer - 説明: スクレイピング前に追加で待機する時間(ミリ秒単位。必要な場合のみ設定してください)。この待機時間は、Firecrawl のスマート待機機能による待機時間に加えて適用されます。
- デフォルト:
0
鮮度とキャッシュ(maxAge)
- タイプ:
integer(ミリ秒) - 説明: ページのキャッシュが
maxAge以内に更新されたものであれば、Firecrawl は即座にそれを返し、そうでなければ新規にスクレイプしてキャッシュを更新します。常に最新を取得するには0を設定します。 - デフォルト:
172800000(2日)
リクエストのタイムアウト (timeout)
- 型:
integer - 説明: 中止までの最大時間(ミリ秒)。
- デフォルト:
30000(30秒)
PDF 解析(parsers)
- 型:
array - 説明: 解析動作を制御します。PDF を解析するには、
parsers: ["pdf"]を設定します。
アクション (actions)
- Type:
array - Description: スクレイピング前に実行するブラウザステップのシーケンス。
- Supported actions:
wait- ページの読み込みを待機:{ type: "wait", milliseconds: number }または{ type: "wait", selector: string }click- 要素をクリック:{ type: "click", selector: string, all?: boolean }write- フィールドにテキストを入力:{ type: "write", text: string }(事前にclickで要素へフォーカスしておく必要あり)press- キーボードキーを押下:{ type: "press", key: string }scroll- ページをスクロール:{ type: "scroll", direction: "up" | "down", selector?: string }screenshot- スクリーンショットを取得:{ type: "screenshot", fullPage?: boolean, quality?: number, viewport?: { width: number, height: number } }scrape- サブ要素をスクレイピング:{ type: "scrape" }executeJavascript- JS コードを実行:{ type: "executeJavascript", script: string }pdf- PDF を生成:{ type: "pdf", format?: string, landscape?: boolean, scale?: number }
アクション実行に関する注意事項
writeアクション:writeを使う前に、必ずclickアクションで要素をフォーカスする必要があります。テキストはキーボード入力をシミュレートするため、1文字ずつ順に入力されます。scrollセレクター: ページ全体ではなく特定の要素だけをスクロールしたい場合は、scrollにselectorパラメータを指定します。- セレクター付き
wait: 特定の要素が表示されるまで待ちたい場合は、selectorパラメータを指定したwaitを使用します。固定時間だけ待機したい場合は、millisecondsを指定します。 - アクションは逐次実行: アクションは指定された順番で実行され、Firecrawl は次のアクションに進む前に、ページ上の操作が完了するまで待機します。
高度なアクション例
cURL
cURL
cURL
使い方の例
cURL
- ページ全体のコンテンツをMarkdownで返します。
- レスポンスにMarkdown、raw HTML、HTML、リンク、スクリーンショットを含めます。
- HTMLタグの
<h1>、<p>、<a>と、クラス.main-contentを持つ要素のみを含め、IDが#adと#footerの要素は除外します。 - ページの読み込みのため、スクレイピング前に1000ミリ秒(1秒)待機します。
- スクレイプリクエストの最大実行時間を15000ミリ秒(15秒)に設定します。
parsers: ["pdf"]を指定してPDFを明示的に解析します。
フォーマットによる JSON 抽出
formats 内で JSON フォーマットオブジェクトを使用して、一度の処理で構造化データを抽出します。
Extract エンドポイント
複数ページのクロール
/v2/crawl エンドポイントを使用します。
cURL
クロールジョブを確認する
cURL
ページネーション/次のURL
next パラメータ(結果の次ページへのURL)が含まれる場合があります。
クロール用プロンプトとパラメータのプレビュー
prompt を指定すると、Firecrawl がクロール設定を自動で推定します。まずはプレビューしてください:
cURL
クローラーオプション
/v2/crawl エンドポイントでは、次のオプションでクロールの挙動をカスタマイズできます。
includePaths
- 型:
array - 説明: インクルード対象とする正規表現パターン。
- 例:
["^/blog/.*$", "^/docs/.*$"]
excludePaths
- 型:
array - 説明: 除外対象を指定する正規表現パターン。
- 例:
["^/admin/.*$", "^/private/.*$"]
maxDiscoveryDepth
- Type:
integer - Description: 新規URL発見のための最大探索深度。
limit
- Type:
integer - Description: クロールするページ数の上限。
- Default:
10000
crawlEntireDomain
- 型:
boolean - 説明: 兄弟ページや親ページにも探索を拡げ、ドメイン全体をカバーします。
- デフォルト:
false
allowExternalLinks
- Type:
boolean - Description: 外部ドメインへのリンクを追跡します。
- Default:
false
allowSubdomains
- 型:
boolean - 説明: メインドメインのサブドメインもクロールします。
- 既定値:
false
delay
- Type:
number - Description: スクレイピング間の遅延(秒)。
- Default:
undefined
scrapeOptions
- Type:
object - Description: スクレイパーのオプション(上記のフォーマット参照)。
- Example:
{ "formats": ["markdown", "links", {"type": "screenshot", "fullPage": true}], "includeTags": ["h1", "p", "a", ".main-content"], "excludeTags": ["#ad", "#footer"], "onlyMainContent": false, "waitFor": 1000, "timeout": 15000} - Defaults:
formats: ["markdown"]、既定でキャッシュ有効(maxAge 約2日)
使い方の例
cURL
ウェブサイトリンクのマッピング
/v2/map エンドポイントは、指定したウェブサイトに関連する URL を検出します。
使い方
cURL
マッピングオプション
search
- Type:
string - Description: 指定したテキストを含むリンクをフィルタします。
limit
- Type:
integer - Description: 返すリンクの最大数
- Default:
100
sitemap
- Type:
"only" | "include" | "skip" - Description: マッピング時のsitemapの利用方法を制御します。
- Default:
"include"
includeSubdomains
- Type:
boolean - Description: ウェブサイトのサブドメインを含めるかどうか。
- Default:
true

