> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 解析

> ローカルまたは非公開のドキュメントをアップロードし、クリーンで LLM 向けのデータに変換します

`/parse` エンドポイントは、ローカルまたは非公開のドキュメントを、クリーンで LLM 向けのデータに変換します。`multipart/form-data` でファイルのバイト列をアップロードすると、読み順や表の構造を保持したまま、Markdown、JSON、HTML、リンク、画像、または要約を取得できます。

* PDF、DOCX、XLSX、HTML などを Markdown または構造化 JSON に変換
* Rust ベースのエンジンにより、解析を**最大 5 倍高速化**
* 1 リクエストあたり **50 MB** までのファイルに対応
* ゼロデータ保持をサポート

<div id="when-to-use-parse">
  ## `/parse` を使うタイミング
</div>

元のドキュメントが**ローカルファイル**である場合、または**URL では公開アクセスできない**場合は、`/parse` を使用します。ドキュメントを指す公開 URL がある場合は、[`/scrape`](/ja/features/scrape) を優先してください。拡張子または Content-Type からファイル形式を自動判別し、`/parse` と同じように解析します。

| ソース                                                   | エンドポイント                                             |
| ----------------------------------------------------- | --------------------------------------------------- |
| ドキュメントを指す公開 URL (例: `https://example.com/report.pdf`) | [`POST /scrape`](/ja/api-reference/endpoint/scrape) |
| ローカルファイルまたは非公開のバイト列 (PDF、DOCX、XLSX、HTML、...)          | [`POST /parse`](/ja/api-reference/endpoint/parse)   |

<Tip>
  **MCP 経由で Firecrawl を使っていますか？** ローカルファイルには `firecrawl_parse` を使用してください。`FIRECRAWL_API_URL` を設定したローカル MCP は、ファイルを直接読み取れます。リモートでホストされた MCP は、最初に有効期限の短いアップロードコマンドを返し、その後、返された `uploadRef` を解析します。公開ドキュメントの URL では引き続き `/scrape` を使用してください。
</Tip>

<Tip>
  **公開された PDF の URL がありますか？** その場合は `/scrape` を使ってください。ドキュメントタイプを自動判別し、きれいな markdown を返します。PDF 用のライブラリを別途用意する必要はありません。

  ```python Python theme={null}
  doc = firecrawl.scrape("https://example.com/report.pdf", formats=["markdown"])
  ```
</Tip>

<div id="parsing">
  ## パース
</div>

<div id="parse-endpoint">
  ### /parse エンドポイント
</div>

ファイルをアップロードし、解析済みのコンテンツを受け取るために使用します。リクエストは `multipart/form-data` 形式で、必須の `file` パートと、任意の `options` JSON パートを含みます。

**対応している拡張子:** `.html`, `.htm`, `.pdf`, `.docx`, `.doc`, `.odt`, `.rtf`, `.xlsx`, `.xls`.

<div id="usage">
  ### 使用例
</div>

<CodeGroup>
  ```python Python theme={null}
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

  doc = firecrawl.parse("./report.pdf")

  print(doc.markdown)
  ```

  ```javascript Node theme={null}
  import { Firecrawl } from "firecrawl";
  import fs from "node:fs";

  const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

  const doc = await firecrawl.parse({
    data: fs.readFileSync("./report.pdf"),
    filename: "report.pdf",
  });

  console.log(doc.markdown);
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.firecrawl.dev/v2/parse \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -F 'file=@./report.pdf' \
    -F 'options={"formats":["markdown"]};type=application/json'
  ```
</CodeGroup>

<div id="response">
  ### レスポンス
</div>

SDK ではドキュメントオブジェクトが直接返されます。cURL では JSON ペイロードが返されます。

```json theme={null}
{
  "success": true,
  "data": {
    "markdown": "# Annual Report\n\n...",
    "metadata": {
      "title": "Annual Report",
      "numPages": 42,
      "totalPages": 42,
      "sourceFile": "report.pdf"
    }
  }
}
```

<Note>
  `numPages` は実際に解析されたページ数で、`totalPages` はドキュメントの
  実際の総ページ数です。`maxPages` によって結果が切り詰められた場合を除き、両者は一致します。たとえば、
  100 ページの PDF を `maxPages: 10` で解析すると、`numPages: 10` と `totalPages: 100` が返されるため、
  `totalPages > numPages` で出力が切り詰められたことがわかります。ページ数を判定できない場合、
  `totalPages` は省略されます。
</Note>

<div id="options">
  ## オプション
</div>

`/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> }` を設定します。

<Note>
  `/parse` は、`actions`、`waitFor`、`location`、`mobile`、change tracking などのブラウザ専用オプションには対応していません。
</Note>

<div id="pdf-parser-modes">
  ### PDFパーサーのモード
</div>

```bash cURL theme={null}
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 を実行します — スキャン文書に使用してください。

<div id="structured-json-output">
  ### 構造化JSON出力
</div>

ドキュメントから構造化データを直接抽出するには、JSONスキーマまたはプロンプトを指定します。

```bash cURL theme={null}
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'
```

<div id="considerations">
  ## 考慮事項
</div>

* 1 リクエストあたりの最大ファイルサイズは **50 MB** です。
* `ocr` モードで非常に大きい PDF やスキャンされた PDF をパースする場合、時間がかかることがあります。`timeout` を長めに設定するか、`maxPages` を使って処理範囲を制限してください。
* 複数ファイルを扱う場合は、各ファイルに対して `/parse` を並列に呼び出してください。バッチアップロード用のバリアントはありません。

> Firecrawl APIキー が必要な AIエージェントですか？自動オンボーディング手順については、[firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) を参照してください。
