ウェブ検索ツールはClaudeにリアルタイムのWebコンテンツへの直接アクセスを提供し、知識のカットオフを超えた最新情報で質問に答えられるようにします。レスポンスには検索結果から引用されたソースの引用が含まれます。
最新のウェブ検索ツールバージョン(web_search_20260209)は、Claude Mythos Preview、Claude Opus 4.6、Claude Sonnet 4.6で動的フィルタリングをサポートしています。Claudeはコードを記述・実行して、検索結果がコンテキストウィンドウに到達する前にフィルタリングし、関連情報のみを保持して残りを破棄できます。これにより、トークン消費を削減しながら、より正確なレスポンスが得られます。以前のツールバージョン(web_search_20250305)は動的フィルタリングなしで引き続き利用可能です。
Claude Mythos Previewの場合、ウェブ検索はClaude API、Microsoft Foundry、Google Vertex AIでサポートされています。ウェブ検索はAmazon BedrockのMythos Previewでは利用できません。
ゼロデータ保持の適格性とallowed_callersの回避策については、サーバーツールを参照してください。
モデルサポートについては、ツールリファレンスを参照してください。
APIリクエストにウェブ検索ツールを追加すると:
ウェブ検索はトークンを大量に消費するタスクです。基本的なウェブ検索では、Claudeは検索結果をコンテキストに取り込み、複数のウェブサイトから完全なHTMLを取得し、回答に到達する前にすべてを推論する必要があります。多くの場合、このコンテンツの多くは無関係であり、レスポンスの品質を低下させる可能性があります。
web_search_20260209ツールバージョンでは、Claudeはコードを記述・実行してクエリ結果を後処理できます。完全なHTMLファイルを推論する代わりに、Claudeは検索結果をコンテキストに読み込む前に動的にフィルタリングし、関連するものだけを保持して残りを破棄します。
動的フィルタリングは特に以下の場合に効果的です:
動的フィルタリングにはコード実行ツールを有効にする必要があります。改善されたウェブ検索ツールはClaude APIとMicrosoft Azureで利用可能です。Google Vertex AIでは、基本的なウェブ検索ツール(動的フィルタリングなし)が利用可能です。
動的フィルタリングを有効にするには、web_search_20260209ツールバージョンを使用します:
組織の管理者がClaude Consoleでウェブ検索を有効にする必要があります。
APIリクエストにウェブ検索ツールを提供します:
ウェブ検索ツールは以下のパラメータをサポートしています:
{
"type": "web_search_20250305",
"name": "web_search",
// オプション:リクエストごとの検索回数を制限する
"max_uses": 5,
// オプション:これらのドメインからの結果のみを含める
"allowed_domains": ["example.com", "trusteddomain.org"],
// オプション:これらのドメインからの結果を含めない
"blocked_domains": ["untrustedsource.com"],
// オプション:検索結果をローカライズする
"user_location": {
"type": "approximate",
"city": "San Francisco",
"region": "California",
"country": "US",
"timezone": "America/Los_Angeles"
}
}max_usesパラメータは実行される検索回数を制限します。Claudeが許可された回数を超えて検索しようとすると、web_search_tool_resultはmax_uses_exceededエラーコードのエラーになります。
allowed_domainsとblocked_domainsによるドメインフィルタリングについては、サーバーツールを参照してください。
user_locationパラメータを使用すると、ユーザーの位置情報に基づいて検索結果をローカライズできます。
type: 位置情報のタイプ(approximateである必要があります)city: 都市名region: 地域または州country: 国timezone: IANAタイムゾーンIDレスポンス構造の例を以下に示します:
{
"role": "assistant",
"content": [
// 1. Claudeの検索決定
{
"type": "text",
"text": "I'll search for when Claude Shannon was born."
},
// 2. 使用された検索クエリ
{
"type": "server_tool_use",
"id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
"name": "web_search",
"input": {
"query": "claude shannon birth date"
}
},
// 3. 検索結果
{
"type": "web_search_tool_result",
"tool_use_id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
"content": [
{
"type": "web_search_result",
"url": "https://en.wikipedia.org/wiki/Claude_Shannon",
"title": "Claude Shannon - Wikipedia",
"encrypted_content": "EqgfCioIARgBIiQ3YTAwMjY1Mi1mZjM5LTQ1NGUtODgxNC1kNjNjNTk1ZWI3Y...",
"page_age": "April 30, 2025"
}
]
},
{
"text": "Based on the search results, ",
"type": "text"
},
// 4. 引用付きのClaudeのレスポンス
{
"text": "Claude Shannon was born on April 30, 1916, in Petoskey, Michigan",
"type": "text",
"citations": [
{
"type": "web_search_result_location",
"url": "https://en.wikipedia.org/wiki/Claude_Shannon",
"title": "Claude Shannon - Wikipedia",
"encrypted_index": "Eo8BCioIAhgBIiQyYjQ0OWJmZi1lNm..",
"cited_text": "Claude Elwood Shannon (April 30, 1916 – February 24, 2001) was an American mathematician, electrical engineer, computer scientist, cryptographer and i..."
}
]
}
],
"id": "msg_a930390d3a",
"usage": {
"input_tokens": 6039,
"output_tokens": 931,
"server_tool_use": {
"web_search_requests": 1
}
},
"stop_reason": "end_turn"
}検索結果には以下が含まれます:
url: ソースページのURLtitle: ソースページのタイトルpage_age: サイトが最後に更新された日時encrypted_content: マルチターン会話で引用のために返す必要がある暗号化されたコンテンツ引用はウェブ検索で常に有効になっており、各web_search_result_locationには以下が含まれます:
url: 引用されたソースのURLtitle: 引用されたソースのタイトルencrypted_index: マルチターン会話で返す必要がある参照cited_text: 引用されたコンテンツの最大150文字ウェブ検索の引用フィールドcited_text、title、urlは入力または出力トークンの使用量にカウントされません。
APIの出力をエンドユーザーに直接表示する場合、元のソースへの引用を含める必要があります。APIの出力を再処理したり、エンドユーザーに表示する前に独自の素材と組み合わせるなど、変更を加える場合は、法務チームとの相談に基づいて適切に引用を表示してください。
ウェブ検索ツールがエラーに遭遇した場合(レート制限に達した場合など)、Claude APIは引き続き200(成功)レスポンスを返します。エラーは以下の構造を使用してレスポンスボディ内に表現されます:
{
"type": "web_search_tool_result",
"tool_use_id": "servertoolu_a93jad",
"content": {
"type": "web_search_tool_result_error",
"error_code": "max_uses_exceeded"
}
}考えられるエラーコードは以下のとおりです:
too_many_requests: レート制限を超過invalid_input: 無効な検索クエリパラメータmax_uses_exceeded: ウェブ検索ツールの最大使用回数を超過query_too_long: クエリが最大長を超過unavailable: 内部エラーが発生pause_turn停止理由pause_turn停止理由の後に続行する方法については、サーバーツールを参照してください。
ターン間でのツール定義のキャッシングについては、プロンプトキャッシングを使用したツール使用を参照してください。
ストリーミングを有効にすると、ストリームの一部として検索イベントを受信します。検索の実行中に一時停止があります:
event: message_start
data: {"type": "message_start", "message": {"id": "msg_abc123", "type": "message"}}
event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "text", "text": ""}}
// Claudeの検索決定
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_search"}}
// 検索クエリのストリーミング
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"query\":\"latest quantum computing breakthroughs 2025\"}"}}
// 検索実行中の一時停止
// 検索結果のストリーミング
event: content_block_start
data: {"type": "content_block_start", "index": 2, "content_block": {"type": "web_search_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": [{"type": "web_search_result", "title": "Quantum Computing Breakthroughs in 2025", "url": "https://example.com"}]}}
// 引用付きのClaudeのレスポンス(この例では省略)Messages Batches APIにウェブ検索ツールを含めることができます。Messages Batches APIを通じたウェブ検索ツールの呼び出しは、通常のMessages APIリクエストと同じ価格で提供されます。
Web search usage is charged in addition to token usage:
"usage": {
"input_tokens": 105,
"output_tokens": 6039,
"cache_read_input_tokens": 7123,
"cache_creation_input_tokens": 7345,
"server_tool_use": {
"web_search_requests": 1
}
}Web search is available on the Claude API for $10 per 1,000 searches, plus standard token costs for search-generated content. Web search results retrieved throughout a conversation are counted as input tokens, in search iterations executed during a single turn and in subsequent conversation turns.
Each web search counts as one use, regardless of the number of results returned. If an error occurs during web search, the web search will not be billed.
Was this page helpful?
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-6",
"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"
}]
}'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-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "What is the weather in NYC?"
}
],
"tools": [{
"type": "web_search_20250305",
"name": "web_search",
"max_uses": 5
}]
}'