---
title: "IR PDF セクション検索 (プレビュー)"
method: GET
path: "/ir/sections/search"
tags: ["IR Sections"]
---

# IR PDF セクション検索 (プレビュー)

`GET /ir/sections/search`

## Request

- Base URL: `https://edinetdb.jp/v1`
- URL: `https://edinetdb.jp/v1/ir/sections/search`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

IR PDF (決算説明資料・中期経営計画・統合報告書・コーポレートガバナンス報告書・サステナビリティレポート) の
構造化セクション (body + heading + section_type + theme_tags + industry_tags) を検索。

**重要**: このエンドポイントはプレビュー機能で、有効化された環境でのみ動作します。
本番公開前は 404 を返します (内部テスト用)。

body は AI が生成した定性要約であり、定量数値 (売上・利益・EPS 等) が含まれる場合があります。 この数値は当社の財務フィールド検証を通っていないため、原典 PDF または XBRL 由来の年次財務データで必ず確認してください。
body は定性情報 (戦略・目標・施策・背景) 中心です。

## Query parameters

- `q` string
- `queries` string[]
- `queries_match` 'and' | 'or'
- `section_type` string
- `pdf_type` string
- `edinet_code` string[]
- `industry` string
- `theme_tag` string
- `theme_tags` string[]
- `match` 'any' | 'all'
- `exclude_tags` string[]
- `industry_tag` string
- `since` string, date
- `semantic` boolean
- `include_review` boolean
- `include_summary` boolean
- `limit` integer

## Response `200`

セクション一覧。ヒット社の coverage 集計を `meta.coverage_summary` に併記
(2026-05-26 追加、silent skip 防止)。

**coverage_summary object**:
- `matched_companies`: ヒットした企業数 (sections の DISTINCT edinet_code)
- `companies_with_unparseable_only`: 全 PDF が unparseable で
  sections=0 になっている社の数
- `companies_with_partial_unparseable`: 一部 PDF が unparseable な社の数
- `warning`: 1 件以上あれば人間可読の説明文字列
- `docs_url`: `/docs/methodology#parse-failure-categories`

個社の詳細は `/v1/companies/{code}/ir/sections` で `meta.coverage`
を参照。

**semantic=true 指定時の degraded fallback** (2026-07-11 追加):
embedding 生成に失敗した場合、キーワード (LIKE) 検索の結果を返しつつ
`meta.search_mode_degraded=true` と `meta.degraded_reason` (固定値
`semantic_unavailable_fallback_keyword`) を付与する。以前は WARNING ログのみで
呼び出し側に区別する手段がなかった (silent fallback)。この応答は
キャッシュされない (`Cache-Control: no-store`)。

- object
  - `data` IRSectionProvenance[]
    - `body_kind` 'source' | 'summary' | 'null', nullable: 本文の種類（2026-09 追加）。source は原資料テキストからの 規則ベース抽出（逐語一致は保証しない）、summary は LLM 生成の要約。 null は判別できない場合（原文の意味ではない）。parser ごとに生成コードを 確認した対応表で判定し、parser 名から推測しない。
    - `parser` string, nullable: 保存された処理器名（未加工の parser 列の値）。欠損または複数 parser の集約で 出所が一意でない場合は null。未知の文字列もそのまま返す。
    - `parser_family` 'regex' | 'llm' | 'marker' | 'unknown': parser の分類。regex は既知の正規表現抽出、llm は既知の LLM 処理、 marker は解析状態マーカー、unknown は出所を分類できないことを示す。 原文と要約の区別や数値の正確性は保証しない。
    - `summary` string, nullable: 要約本文。`include_summary=true` を指定した時だけ、body_kind が summary の行で body と同じ文字列が入る（既定 false では常に null。キーは常に存在する）。 現在は body と同文なので既定で返さない（応答サイズ倍増の回避）。今後 body を 原文専用に切り替えた後は、要約はこのフィールドで返す。
    - `summary_meta` IRSummaryMeta, nullable: LLM 要約行のメタ情報。numbers_verified は現時点で常に false = この要約内の 数値は財務フィールドと突合していない（誤値の判定ではなく、財務フィールド側の 検証状態を変えるものでもない）。
      - `numbers_verified` false: 現在は常に false。true を返す条件は今後定義する （同じ企業・期間定義・指標・連結区分・実績/予想・単位・訂正版まで一致した時のみ）。
      - `parser` string: 行の parser（出所が単体で分かるように重複して返す）。
      - `processed_at` string, date-time, nullable: 対応元行の処理時刻（parsed_at、UTC）。LLM 行では要約を書き込んだ バッチの処理時刻。集約経路で単一に定まらない場合は null。
      - `verification_targets` IRVerificationTargets: 企業単位の確認先。要約内の数値と財務行・期間・指標の対応は示さない。 対応する財務項目が無い数値は会社ページ経由で原資料を確認する。
        - `edinet_code` string, nullable
        - `mcp_tools` string[]: 確認先の MCP tool（決算短信は get_earnings が先頭、それ以外は get_financials が先頭）。
        - `note` string: 企業単位の案内であることの注記（英語の固定文）。
        - `period_hint` string, nullable: PDF メタ由来の未検証のヒント。対応するデータの存在を保証しない。
        - `rest_paths` string[]

## Other responses

- `404`: 機能プレビュー中

---

[API](https://skmtc.dev/edinetdb/apis/edinet-db-api.md) · [All operations](https://skmtc.dev/edinetdb/apis/edinet-db-api/llms.txt) · [OpenAPI document](https://skmtc.dev/edinetdb/apis/edinet-db-api/revisions/d896c5f7d472?raw)
