解析
ローカルまたは非公開のドキュメントをアップロードし、クリーンで LLM 向けのデータに変換します
/parse エンドポイントは、ローカルまたは非公開のドキュメントを、クリーンで LLM 向けのデータに変換します。multipart/form-data でファイルのバイト列をアップロードすると、読み順や表の構造を保持したまま、Markdown、JSON、HTML、リンク、画像、または要約を取得できます。
- PDF、DOCX、XLSX、HTML などを Markdown または構造化 JSON に変換
- Rust ベースのエンジンにより、解析を最大 5 倍高速化
- 1 リクエストあたり 50 MB までのファイルに対応
- ゼロデータ保持をサポート
元のドキュメントがローカルファイルである場合、またはURL では公開アクセスできない場合は、/parse を使用します。ドキュメントを指す公開 URL がある場合は、/scrape を優先してください。拡張子または Content-Type からファイル形式を自動判別し、/parse と同じように解析します。
| ソース | エンドポイント |
|---|---|
ドキュメントを指す公開 URL (例: https://example.com/report.pdf) | POST /scrape |
| ローカルファイルまたは非公開のバイト列 (PDF、DOCX、XLSX、HTML、...) | POST /parse |
MCP 経由で Firecrawl を使っていますか? ローカルファイルには firecrawl_parse を使用してください。FIRECRAWL_API_URL を設定したローカル MCP は、ファイルを直接読み取れます。リモートでホストされた MCP は、最初に有効期限の短いアップロードコマンドを返し、その後、返された uploadRef を解析します。公開ドキュメントの URL では引き続き /scrape を使用してください。
公開された PDF の URL がありますか? その場合は /scrape を使ってください。ドキュメントタイプを自動判別し、きれいな markdown を返します。PDF 用のライブラリを別途用意する必要はありません。
doc = firecrawl.scrape("https://example.com/report.pdf", formats=["markdown"])ファイルをアップロードし、解析済みのコンテンツを受け取るために使用します。リクエストは multipart/form-data 形式で、必須の file パートと、任意の options JSON パートを含みます。
対応している拡張子: .html, .htm, .pdf, .docx, .doc, .odt, .rtf, .xlsx, .xls.
from firecrawl import Firecrawl
firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")
doc = firecrawl.parse("./report.pdf")
print(doc.markdown)SDK ではドキュメントオブジェクトが直接返されます。cURL では JSON ペイロードが返されます。
{
"success": true,
"data": {
"markdown": "# Annual Report\n\n...",
"metadata": {
"title": "Annual Report",
"numPages": 42,
"totalPages": 42,
"sourceFile": "report.pdf"
}
}
}numPages は実際に解析されたページ数で、totalPages はドキュメントの
実際の総ページ数です。maxPages によって結果が切り詰められた場合を除き、両者は一致します。たとえば、
100 ページの PDF を maxPages: 10 で解析すると、numPages: 10 と totalPages: 100 が返されるため、
totalPages > numPages で出力が切り詰められたことがわかります。ページ数を判定できない場合、
totalPages は省略されます。
/parse は、options フィールドでスクレイピングのオプションの一部を受け付けます。一般的な設定は次のとおりです。
formats: 出力フォーマットの配列。デフォルトは["markdown"]。対応フォーマット:markdown、html、rawHtml、links、images、summary、json(スキーマまたはプロンプト付き) 。onlyMainContent: ドキュメントのメインコンテンツのみを返します。デフォルトはtrue。includeTags/excludeTags: タグ単位での含める/除外の指定 (HTML 入力) 。redactPII: 返される markdown から個人を特定できる情報をマスキングします。timeout: リクエストのタイムアウト (ミリ秒) 。デフォルトは30000、最大300000。parsers: ファイルパーサーの制御。PDF の場合は、{ "type": "pdf", "mode": "fast" | "auto" | "ocr", "maxPages": <int> }を設定します。
/parse は、actions、waitFor、location、mobile、change tracking などのブラウザ専用オプションには対応していません。
curl -X POST https://api.firecrawl.dev/v2/parse \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'file=@./scan.pdf' \
-F 'options={"parsers":[{"type":"pdf","mode":"ocr","maxPages":50}]};type=application/json'fast: テキストのみを提取する最速の方法です。auto(デフォルト) : テキスト優先で処理し、画像のみのページでは OCR にフォールバックします。ocr: すべてのページで OCR を実行します — スキャン文書に使用してください。
ドキュメントから構造化データを直接抽出するには、JSONスキーマまたはプロンプトを指定します。
curl -X POST https://api.firecrawl.dev/v2/parse \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'file=@./invoice.pdf' \
-F 'options={"formats":[{"type":"json","schema":{"type":"object","properties":{"total":{"type":"number"},"vendor":{"type":"string"}}}}]};type=application/json'- 1 リクエストあたりの最大ファイルサイズは 50 MB です。
ocrモードで非常に大きい PDF やスキャンされた PDF をパースする場合、時間がかかることがあります。timeoutを長めに設定するか、maxPagesを使って処理範囲を制限してください。- 複数ファイルを扱う場合は、各ファイルに対して
/parseを並列に呼び出してください。バッチアップロード用のバリアントはありません。
Firecrawl APIキー が必要な AIエージェントですか?自動オンボーディング手順については、firecrawl.dev/agent-onboarding/SKILL.md を参照してください。