Claude Web Search — claude.ai と API での使い方、料金、引用機能を解説

Claude Web Search の使い方|claude.ai 設定・API 料金・引用

Claude の Web Search はチャットと API の両方から、知識カットオフを超えた最新情報を引用つきで取り出せる機能です。本記事は claude.ai でのトグル ON 手順、対応モデル、API での web_search_20260209 / web_search_20250305 の使い分け、$10 で 1,000 検索という従量課金、ドメインフィルタや引用表示の規約までを公式ドキュメント基準で整理しました。

Claude Web Search の全体像 — claude.ai と API の二面構成、引用と料金、対応モデル

目次
  • Claude Web Search とは
  • claude.ai で Web Search を使う手順
  • 対応モデルとプラン別の制限
  • API で Web Search を組み込む手順
  • リクエスト時に指定できるパラメータ
  • 料金体系とトークン課金の関係
  • 引用機能と表示義務
  • 動的フィルタリングで使うコード実行ツール
  • よくある疑問とトラブルシュート
結論powered by Claude

Claude Web Search は Anthropic 公式のサーバーツールで、claude.ai と Claude API の両方から呼び出せる検索機能です。claude.ai では入力欄のスライダーアイコンから「Web search」をトグル ON にするだけで、Free / Pro / Max / Team / Enterprise で利用できます(Team / Enterprise は管理者が Admin settings で有効化する必要あり)。

API では web_search_20260209 または web_search_20250305 をツール定義に渡す形で組み込みます。最新版の 20260209 は Opus 4.7 / Opus 4.6 / Sonnet 4.6 で動的フィルタリングを使え、検索結果をコード実行ツール経由でフィルタしてからコンテキストに載せるため、トークン消費と回答品質の両方が改善されます。max_usesallowed_domainsblocked_domainsuser_location のパラメータで実行回数・ドメイン・地域を制御できます。

料金は 1,000 検索あたり $10、これに加えて検索結果テキストが入力トークンとして計上されます。引用は常時有効で、cited_text(最大 150 文字)・urltitle が返り、これらの引用フィールドはトークン課金の対象外。エンドユーザーに API 出力を表示する場合は元ソースへの引用を必ず併記する規約です。

目次 (9)

Claude Web Search とは

Claude Web Search は、Anthropic がサーバー側で実行する検索ツールです。claude.ai のチャット画面でも Claude API でも、ユーザーは「検索しろ」と明示しなくても Claude が必要と判断した時点で自動的にクエリを発行し、結果に基づいて引用つきの回答を返します。

リリースは 2025 年 3 月に米国で開始、同年 5 月 27 日にグローバル展開され、現在は地域制限なく利用できます。知識カットオフを超える話題、ニュース、価格や為替などのリアルタイム情報、最新のドキュメント検証に向く一方、内部知識で完結する一般的な質問では Claude 側が検索をスキップするため、無駄な課金や応答遅延は発生しにくい設計です。

API では server_tool_use ブロックが応答に挿入され、Claude が発行したクエリ、返された URL / タイトル / page_age、引用テキストまで構造化された JSON として取得できます。チャット UI では「Searching the web…」のステータスと、回答下部のソースリンクで透過性が担保されます。

claude.ai で Web Search を使う手順

claude.ai での操作はシンプルで、入力欄のスライダーアイコンをクリックして「Web search」をトグル ON にするだけです。プロンプト送信のたびに ON/OFF を切り替える運用が可能なので、検索が要らない雑談や定型業務では OFF、ニュース確認やリアルタイム情報の精査では ON、と使い分けます。

  1. claude.ai にログインし、新規チャットを開く。
  2. 入力欄左下のスライダーアイコン(ツール選択メニュー)をクリック。
  3. ドロップダウンの「Web search」のトグルを ON にする。
  4. 通常どおり質問を入力して送信。
  5. 回答に含まれるソースリンクをクリックして、原典で事実を確認する。

Free プランでも Web 検索とフェッチは利用可能ですが、検索・取得活動は 日次の利用上限にカウントされます。長文 URL を多用すると枠を消費しやすいため、Free 帯では「直リンクの貼りすぎを避ける」「概要が分かれば十分な質問では Web search を OFF」といった節約運用が推奨されます。

対応モデルとプラン別の制限

API では 2026 年 5 月時点で Opus 4.7 / Sonnet 4.6 / Opus 4.6 / Opus 4.5 / Haiku 4.5 / Sonnet 4.5 の各モデルで Web Search を呼び出せます。最新ツールバージョン web_search_20260209 の動的フィルタリングが効くのは Opus 4.7 / Opus 4.6 / Sonnet 4.6 に限られ、それ以外のモデルでは旧版 web_search_20250305 を選びます。

claude.ai 側のプラン別の取り扱いは次のとおりです。

  • Free: 利用可。日次の使用上限に Web 検索回数が加算される。
  • Pro / Max: 利用可。基本的に上限内で自由に使える。
  • Team / Enterprise: 利用可だが、Owner または Primary Owner が「Admin settings > Capabilities」で機能を有効化していないと、メンバー画面にトグルが現れない。
  • クラウドプロバイダー: Microsoft Foundry と Google Vertex AI でサポート。Vertex AI では動的フィルタリングなしの基本版のみ。Amazon Bedrock の Mythos Preview では Web Search は提供されていない。

組織導入時は、まず管理者が Capabilities 画面で Web search を ON、続いて Claude Console の「Privacy」設定で API キー単位の利用許可を確認します。Zero Data Retention(ZDR)対象組織では allowed_callers の取り扱いが追加で必要になるため、Server tools のドキュメントを併読してください。

API で Web Search を組み込む手順

API で使うには、Messages API のリクエストに tools 配列を追加し、web_search_20260209web_search_20250305 を渡します。最小構成は以下のとおりです。

curl https://api.anthropic.com/v1/messages \
  --header "x-api-key: $ANTHROPIC_API_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --header "content-type: application/json" \
  --data '{
    "model": "claude-opus-4-7",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "What is the weather in NYC?"}
    ],
    "tools": [{
      "type": "web_search_20250305",
      "name": "web_search",
      "max_uses": 5
    }]
  }'

Python SDK では client.messages.create()tools 引数に同じ辞書を渡すだけで動きます。TypeScript / Java / C# / Go / PHP / Ruby の各公式 SDK にも WebSearchTool20250305 / WebSearchTool20260209 相当のクラスが用意されており、型補完を効かせながら最小コードで組み込めます。

応答には server_tool_use ブロック(発行されたクエリ)、web_search_tool_result ブロック(検索結果の URL / タイトル / encrypted_content)、citations 配列付きの text ブロック(引用と本文の対応関係)が含まれます。マルチターン会話では encrypted_contentencrypted_index を次のリクエストにそのまま返す必要があるため、永続化の対象に含めておきましょう。

リクエスト時に指定できるパラメータ

ツール定義に渡せる主なパラメータは 4 つです。プロダクトの要件に応じて組み合わせます。

  • max_uses: 1 リクエストでの検索回数の上限。5 などに固定すると、暴走的な多段検索でコストが膨らむ事故を防げる。上限超過時は max_uses_exceeded エラーがツール結果として返る。
  • allowed_domains: 検索結果を特定ドメインに限定。社内ナレッジサイトや公式ドキュメントだけを参照させるカスタム RAG 的な使い方が可能。
  • blocked_domains: 信頼できないソースや競合の情報を遮断。allowed_domains と排他で使うのが基本。
  • user_location: approximate タイプで city / region / country / timezone を渡すと、地域差のある検索結果(天気、店舗、ニュース)を当該地域のローカル結果に寄せられる。timezone は IANA ID(例: Asia/Tokyo)。

実装上の注意として、検索エラー時でも HTTP 200 が返り、web_search_tool_result 内に error_code が入る形になります。主なコードは too_many_requests(レート制限)、invalid_inputmax_uses_exceededquery_too_longunavailable の 5 種類。ユーザー向け UI には「検索失敗」を握りつぶさず、エラー種別ごとにメッセージを出し分けるとサポート負荷が下がります。

料金体系とトークン課金の関係

価格は 1,000 検索あたり $10、つまり 1 検索 = $0.01 です。1 リクエストで複数回検索を発行した場合はその回数分が加算され、エラーで失敗した検索は課金されません。バッチ API 経由で呼び出した場合も料金は同額で、バッチ割引は適用されません。

検索による課金とは別に、検索結果の本文は入力トークンとして計上されます。Web Search を多用するエージェントを設計する場合、max_uses で回数を絞るだけでなく、allowed_domains で巨大な HTML を返すサイトを除外したり、web_search_20260209 の動的フィルタリングを使ってコンテキスト前段で不要部分を捨てたりすることで、トークン消費を大きく抑えられます。

引用フィールド(cited_text / title / url)は入力・出力どちらのトークン使用量にもカウントされない点も覚えておくと、見積もりが現実に近づきます。プロンプトキャッシュとも併用可能で、固定のツール定義をキャッシュすれば 2 回目以降のリクエストの cost を削れます。

引用機能と表示義務

Claude Web Search の引用は常時有効で、API ユーザーが追加設定する必要はありません。レスポンスの text ブロックには citations 配列が付き、web_search_result_location 型の各エントリには url / title / encrypted_index / cited_text(最大 150 文字) が含まれます。

注目すべきは、Anthropic がドキュメント上で明文化している表示規約です。API 出力をエンドユーザーに直接表示するなら元ソースへの引用を併記しなければならず、API 出力を加工・再処理して表示する場合も、適切な引用表示について法務チームと相談する必要があるとされています。RAG 的に Claude を組み込む製品開発では、フロントエンド側で cited_text をホバー表示する、出典 URL を脚注として一覧化する、といった UI 設計が定石です。

claude.ai のチャット UI ではこの引用が自動でソースリンクとして整形され、ユーザーは出典を 1 クリックで開けます。Free / Pro / Max のいずれでも、引用なしのレスポンスは Web Search では発生しない設計になっています。

動的フィルタリングで使うコード実行ツール

Web Search の最新版 web_search_20260209 は、検索結果をコンテキストに入れる前に動的にフィルタリングする機構を備えています。これを使うには コード実行ツール(code_execution)を同時に有効化する必要があります。Claude は検索結果を後処理する Python コードを書き、関連スニペットだけを残してその他の HTML を破棄してから推論ステップに進みます。

向いている用途は、技術ドキュメントの検索、文献レビュー、引用検証、根拠付け確認といった「ノイズが多い長文を扱う」タスクです。実装側では tools 配列に web_search_20260209code_execution_20250522 の両方を追加し、model を Opus 4.7 / Opus 4.6 / Sonnet 4.6 のいずれかにします。

import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": "Search the current AAPL and GOOGL prices and compute P/E ratios."
    }],
    tools=[
        {"type": "web_search_20260209", "name": "web_search"},
        {"type": "code_execution_20250522", "name": "code_execution"},
    ],
)

動的フィルタリングは Claude API と Microsoft Azure 経由で利用可能で、Google Vertex AI では基本版のみが利用できます。コード実行を経るぶん 1 検索あたりのレイテンシは伸びますが、回答品質と最終トークン消費はむしろ改善するケースが多いと公式は説明しています。

よくある疑問とトラブルシュート

最後に、現場で頻出する質問を 5 つピックアップします。

  • 「検索が動かない」: claude.ai では入力欄スライダーから Web search が ON か再確認。Team / Enterprise なら管理者の Capabilities 設定。API なら tools 配列にツール定義を入れ忘れていないか、モデルが対応モデル一覧に含まれているかをチェック。
  • 「引用が表示されない」: API 利用時、citationstext ブロックに含まれる。フロント側で text のみ拾って citations を捨てる実装ミスが頻発するため、レスポンス全体をログに残して確認する。
  • 「コストが想定より高い」: 検索回数の課金(1 検索 $0.01)ではなく、入力トークンとして計上される検索結果テキストが主因のことが多い。max_uses を 3〜5 に絞り、必要なら web_search_20260209 の動的フィルタリングを有効化する。
  • 「特定サイトの情報だけ使いたい」: allowed_domains を使えば公式ドキュメントや社内サイトに限定可能。blocked_domains と併用するのは仕様上排他なので、用途に応じて片方を選ぶ。
  • pause_turn が返ってきた」: 検索処理が長引いた場合の中断シグナル。Server tools のドキュメントに沿って、メッセージ履歴をそのまま再送信して続行する。

引用元

参考になったら ♡
Clauder Navi 編集部
@clauder_navi

Anthropic の Claude / Claude Code を中心に、日本のエンジニア向けに最新動向と実務 を毎日発信。 運営方針 は メディアについて をご覧ください。