Claude API の web search が SEC filing データを拡充(2026-05-18)— 金融リサーチ Agent を一次ソースで裏付ける

2026-05-18 に Claude API の web search tool が、より充実した SEC filing データを返すようになりました。決算分析・デューデリジェンス・金融リサーチの Agent を、引用付きの一次ソースで裏付けやすくする変更です。web search tool の使い方(tool 種別・引用・dynamic filtering・課金)を実装目線でまとめ、金融文脈での使いどころを整理します。

2026-05-18 に Claude API の web search tool が、より充実した SEC filing(米国証券取引委員会への提出書類)データを返すようになりました。リリースノートの表現を借りると、これは「金融リサーチ Agent・決算分析・デューデリジェンスのワークフローを、引用付きの一次ソースで裏付けやすくする」変更です。

Claude for Financial Services で触れた金融業界向けの流れと地続きの話で、今回はその土台になる web search tool そのものの実装を、開発者目線で整理します。

注記: 今回の更新は「SEC filing データの拡充」という発表で、SEC 固有のレスポンススキーマが公式に詳細公開されているわけではありません。本記事では、裏が取れる範囲(web search tool の仕様と、5/18 リリースノートの記述)に限って解説します。

web search tool の基本

web search tool を API リクエストに加えると、Claude が必要に応じて検索し、引用付きで最終回答を返します。流れはシンプルです。

  1. Claude がプロンプトを見て検索すべきか判断する
  2. API が検索を実行し結果を Claude に渡す(1 ターン中に複数回繰り返すことがある)
  3. ターンの最後に、Claude が引用元付きの回答を返す

最小の使い方は、tools に web search を 1 つ足すだけです。

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "What's the weather in NYC?"}],
    tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 5}],
)
print(response)

max_uses で 1 リクエストあたりの検索回数に上限を付けられます(超えると max_uses_exceeded エラー)。allowed_domains / blocked_domains でドメインを絞ることもできます。金融リサーチでは allowed_domains を SEC EDGAR や一次ソースのドメインに絞ると、二次情報の混入を抑えられます。

引用が標準で付く

web search では引用が常に有効です。回答の各 web_search_result_location には次が含まれます。

  • url: 引用元 URL
  • title: 引用元タイトル
  • cited_text: 引用した本文(最大 150 文字)
  • encrypted_index: マルチターンで引用を維持するために返送する参照
{
  "type": "text",
  "text": "Claude Shannon was born on April 30, 1916, in Petoskey, Michigan",
  "citations": [
    {
      "type": "web_search_result_location",
      "url": "https://en.wikipedia.org/wiki/Claude_Shannon",
      "title": "Claude Shannon - Wikipedia",
      "cited_text": "Claude Elwood Shannon (April 30, 1916 – February 24, 2001) was an American mathematician..."
    }
  ]
}

金融文脈で重要なのは、「数字や主張がどの filing の、どの記述から来たのか」を引用として保持できることです。決算分析やデューデリジェンスの成果物は「出典が言えること」が品質の大半を占めるので、引用が API レベルで標準装備なのは効きます。なお cited_text / title / url は入出力トークンに計上されません(エンドユーザーに出力を直接見せる場合は、引用を原典へ付けて表示することが利用上の前提です)。

dynamic filtering でトークンを抑える

最新の web search tool バージョン web_search_20260209dynamic filtering に対応します。これは、Claude がコードを書いて検索結果を後処理し、関連する部分だけをコンテキストに載せて残りを捨てる仕組みです(code execution tool の有効化が必要)。

# dynamic filtering 版(技術文献・引用検証・リサーチの裏取りに効く)
response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio.",
    }],
    tools=[{"type": "web_search_20260209", "name": "web_search"}],
)

web search は token を大量に食うタスクです。基本版だと、HTML を丸ごとコンテキストに引き込んで全部を読んで判断するため、無関係な内容まで載ってしまい品質が落ちがちでした。dynamic filtering は HTML を全部読む前に絞り込むので、

  • 技術ドキュメントの横断検索
  • 文献レビュー・引用の検証
  • 回答のグラウンディング(裏取り)

といった「大量の候補から関連箇所だけ要る」タスクで、精度を上げつつトークン消費を下げられます。filing の山から該当箇所を引くデューデリジェンスは、まさにこの形です。旧版 web_search_20250305 は dynamic filtering なしで引き続き使えます。

課金

web search はトークン課金に上乗せで、$10 / 1,000 検索です。検索で取得した結果はその後のターンでも入力トークンとして数えられます。1 回の検索は結果数によらず 1 use として数え、エラー時は課金されません。usage.server_tool_use.web_search_requests で検索回数を確認できます。

金融リサーチ Agent は検索を多用しがちなので、max_uses での上限設定と、allowed_domains での一次ソース限定が、コストと品質の両面で効きます。

何に使えるか(金融文脈)

  • 決算分析 Agent: 直近の filing・開示から数値を引き、引用付きで要約させる。出典が辿れるので、人間のアナリストのレビューに耐える
  • デューデリジェンス: 対象企業の開示書類を横断し、リスク要因や注記を dynamic filtering で絞り込む
  • 裏取りパイプライン: 既存のレポートの主張を web search で再検証し、一次ソースに当たらない記述を洗い出す

いずれも「一次ソースに当たって、引用で裏付ける」という当ブログの編集方針とも相性のいい使い方です。

まとめ

5/18 の更新は、web search tool が金融の一次ソース(SEC filing)をより扱いやすくなった、という地に足の付いた改善です。派手な新モデルではありませんが、**「引用付きで一次ソースに当たる Agent」**を組む土台が一段強くなりました。web search は引用が標準で付き、web_search_20260209 の dynamic filtering でトークンを抑えられる——この 2 点を押さえれば、金融リサーチに限らず、裏取りが要るあらゆる Agent に応用できます。

業界向けの全体像は Claude for Financial Services の記事を参照してください。

release notes タグで Anthropic / Claude API のリリース情報を継続フォローしています。

参考