「zero data retention」(ゼロデータ保持)、すなわちZDRがこの機能にどのように適用されるかについては、APIとデータ保持を参照してください。
Webフェッチツールを使用すると、Claudeは指定されたWebページやPDFドキュメントから完全なコンテンツを取得できます。
最新のWebフェッチツールバージョン(web_fetch_20260318)は、Claude Fable 5、Claude Opus 4.8、Claude Mythos 5、Claude Mythos Preview、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 5、Claude Sonnet 4.6で動的フィルタリングをサポートしています。Claudeは、取得したコンテンツがコンテキストウィンドウに到達する前にフィルタリングするコードを記述して実行し、関連する情報のみを保持して残りを破棄できます。これにより、応答品質を維持しながらトークン消費を削減できます。web_fetch_20260318では、エージェント型ワークフロー向けのレスポンス包含制御も追加されています。以前のバージョン(動的フィルタリングとキャッシュバイパス用のweb_fetch_20260309、動的フィルタリングのみのweb_fetch_20260209、基本的なフェッチ用のweb_fetch_20250910)も引き続き利用可能です。
Webフェッチ(動的フィルタリングの有無にかかわらず)は、Claude API、Claude Platform on AWS、およびMicrosoft Foundryで利用できます。Microsoft Foundryでは、WebフェッチにはHosted on Anthropicデプロイメントが必要です。現在、Amazon BedrockまたはGoogle Cloudでは利用できません。
Claude Mythos Previewの場合、WebフェッチはClaude APIとMicrosoft Foundryで利用できます。Amazon BedrockまたはGoogle Cloud上のMythos Previewでは現在利用できません。
モデルの応答の品質、API自体、またはドキュメントの品質に関するフィードバックを提供するには、フィードバックフォームをご利用ください。
Zero Data Retentionの適格性とallowed_callersの回避策については、サーバーツールを参照してください。
Claudeが機密データと並行して信頼できない入力を処理する環境でWebフェッチツールを有効にすると、データ流出のリスクが生じます。このツールは、信頼できる環境でのみ、または機密性のないデータを扱う場合にのみ使用してください。
流出リスクを最小限に抑えるため、ClaudeはURLを動的に構築することを許可されていません。Claudeは、ユーザーによって明示的に提供されたURL、または以前のWeb検索やWebフェッチの結果から得られたURLのみをフェッチできます。ただし、このツールを使用する際には慎重に検討すべき残存リスクがあります。
データ流出が懸念される場合は、以下を検討してください:
max_usesパラメータを使用してリクエスト数を制限するallowed_domainsパラメータを使用して既知の安全なドメインに制限するモデルのサポートについては、ツールリファレンスを参照してください。
Webフェッチはサーバーツールです。APIがリクエスト中にコンテンツをフェッチし、結果を会話に挿入します。あなたが何かを実行したり、tool_resultを返したりする必要はありません。例外は、Claudeが同じ並列ツール呼び出しのグループ内でWebフェッチとクライアントツールの1つを呼び出す場合です。この場合、APIはそのフェッチが実行される前にstop_reason: "tool_use"でレスポンスを返し、クライアントのtool_resultブロックを送り返したときにフェッチを実行します。1つのターンでサーバーツールとクライアントツールを混在させるを参照してください。
WebフェッチツールをAPIリクエストに追加すると:
Webフェッチツールは現在、JavaScriptで動的にレンダリングされるWebサイトをサポートしていません。
Claudeは、リクエストが特定のページまたはドキュメントを指している場合にフェッチします:
Claudeは、特定のページを参照しない一般知識やオープンエンドな質問に対してはフェッチしません。「この記事を要約してください:<url>」はフェッチをトリガーします。「REST API設計のベストプラクティスは何ですか?」には直接回答します。
完全なWebページやPDFをフェッチすると、特に大きなドキュメントから特定の情報のみが必要な場合、トークンを急速に消費する可能性があります。web_fetch_20260209以降では、Claudeはフェッチされたコンテンツをコンテキストに読み込む前にフィルタリングするコードを記述して実行できます。
この動的フィルタリングは、特に以下の場合に有用です:
動的フィルタリングはコード実行ツール上で実行され、APIがリクエストに対して自動的に有効にします。tools配列にコード実行ツールを追加する必要はありません。
動的フィルタリングを有効にするには、web_fetch_20260209以降のバージョンを使用します。以下の例ではweb_fetch_20260318を使用しています:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Fetch the content at https://example.com/research-paper and extract the key findings.",
}
],
tools=[{"type": "web_fetch_20260318", "name": "web_fetch"}],
)
print(response)APIリクエストでWebフェッチツールを提供します:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Please analyze the content at https://example.com/article",
}
],
tools=[{"type": "web_fetch_20250910", "name": "web_fetch", "max_uses": 5}],
)
print(response)Webフェッチツールは以下のパラメータをサポートしています:
{
"type": "web_fetch_20250910",
"name": "web_fetch",
// Optional: Limit the number of fetches per request
"max_uses": 10,
// Optional: Only fetch from these domains
"allowed_domains": ["example.com", "docs.example.com"],
// Optional: Never fetch from these domains (cannot be combined with allowed_domains)
"blocked_domains": ["private.example.com"],
// Optional: Enable citations for fetched content
"citations": {
"enabled": true
},
// Optional: Maximum content length in tokens
"max_content_tokens": 100000
}それ以降のツールバージョンでは、さらに2つのオプションパラメータが追加されています。use_cacheにはweb_fetch_20260309以降が必要です(キャッシュバイパスを参照)。response_inclusionにはweb_fetch_20260318以降が必要です(レスポンス包含を参照)。
max_usesパラメータは、実行されるWebフェッチの回数を制限します。失敗したフェッチも制限にカウントされます。Claudeが許可された回数を超えてフェッチを試みた場合、web_fetch_tool_resultはmax_uses_exceededエラーコードを持つエラーになります。現在、デフォルトの制限はありません。
allowed_domainsとblocked_domainsによるドメインフィルタリングについては、サーバーツールを参照してください。
max_content_tokensパラメータは、コンテキストに含まれるコンテンツの量を制限します。フェッチされたコンテンツがこの制限を超える場合、ツールはそれを切り詰めます。これは、大きなドキュメントをフェッチする際のトークン使用量を制御するのに役立ちます。この制限はテキストコンテンツに適用され、PDFなどのバイナリコンテンツには適用されません。
max_content_tokensパラメータの制限は近似値です。実際に使用される入力トークン数はわずかに変動する可能性があります。
web_fetch_20260309以降(web_fetch_20260318を含む)が必要です。
use_cacheパラメータは、キャッシュされたコンテンツを返すことを許可するかどうかを制御します。キャッシュをバイパスして新しいコンテンツをフェッチするには、"use_cache": falseを設定します。デフォルトはtrueです。キャッシュをバイパスするとレイテンシが増加するため、ユーザーが明示的に新しいコンテンツを要求した場合、または急速に変化するソースをフェッチする場合にのみキャッシュを無効にしてください。
{
"tools": [
{
"type": "web_fetch_20260309",
"name": "web_fetch",
"use_cache": false
}
]
}web_fetch_20260318以降が必要です。
response_inclusionパラメータは、同じターン内で完了したコード実行呼び出しによって結果が消費された場合に、フェッチ結果ブロックがAPIレスポンスにどのように表示されるかを制御します。"response_inclusion": "excluded"を設定すると、それらのネストされたserver_tool_useと結果ブロックのペアがレスポンスから完全に削除され、生のページコンテンツをクライアントにエコーバックする必要のないエージェント型ワークフローの出力トークンコストを削減できます。デフォルトは"full"です。直接呼び出しの結果、または完了前に一時停止したコード実行呼び出しの結果は、次のターンで送り返せるように常に完全な形で返されます。
{
"tools": [
{
"type": "web_fetch_20260318",
"name": "web_fetch",
"response_inclusion": "excluded"
}
]
}引用が常に有効になっているWeb検索とは異なり、Webフェッチでは引用はオプションであり、デフォルトでは無効になっています。Claudeがフェッチしたドキュメントから特定の箇所を引用できるようにするには、"citations": {"enabled": true}を設定します。
API出力をエンドユーザーに直接表示する場合は、元のソースへの引用を含めてください。API出力に変更を加える場合(エンドユーザーに表示する前に再処理したり、独自の素材と組み合わせたりする場合を含む)は、法務チームと相談の上、適切に引用を表示してください。
レスポンス構造の例を以下に示します:
{
"role": "assistant",
"content": [
// 1. Claude's decision to fetch
{
"type": "text",
"text": "I'll fetch the content from the article to analyze it."
},
// 2. The fetch request
{
"type": "server_tool_use",
"id": "srvtoolu_01234567890abcdef",
"name": "web_fetch",
"input": {
"url": "https://example.com/article"
}
},
// 3. Fetch results
{
"type": "web_fetch_tool_result",
"tool_use_id": "srvtoolu_01234567890abcdef",
"content": {
"type": "web_fetch_result",
"url": "https://example.com/article",
"content": {
"type": "document",
"source": {
"type": "text",
"media_type": "text/plain",
"data": "Full text content of the article..."
},
"title": "Article Title",
"citations": { "enabled": true }
},
"retrieved_at": "2025-08-25T10:30:00Z"
}
},
// 4. Claude's analysis with citations (if enabled)
{
"text": "Based on the article, ",
"type": "text"
},
{
"text": "the main argument presented is that artificial intelligence will transform healthcare",
"type": "text",
"citations": [
{
"type": "char_location",
"document_index": 0,
"document_title": "Article Title",
"start_char_index": 1234,
"end_char_index": 1456,
"cited_text": "Artificial intelligence is poised to revolutionize healthcare delivery..."
}
]
}
],
"id": "msg_a930390d3a",
"usage": {
"input_tokens": 25039,
"output_tokens": 931,
"server_tool_use": {
"web_fetch_requests": 1
}
},
"stop_reason": "end_turn"
}フェッチ結果には以下が含まれます:
url:フェッチされたURLcontent:フェッチされたコンテンツを含むドキュメントブロックretrieved_at:コンテンツが取得されたタイムスタンプWebフェッチツールは、パフォーマンスを向上させ、冗長なリクエストを減らすために結果をキャッシュします。返されるコンテンツは、URLで利用可能な最新バージョンを常に反映しているとは限りません。キャッシュの動作は自動的に管理され、さまざまなコンテンツタイプや使用パターンに最適化するために時間とともに変更される可能性があります。新しいコンテンツをフェッチするには、"use_cache": falseを設定します(キャッシュバイパスを参照)。
PDFドキュメントの場合、コンテンツはbase64エンコードされたデータとして返されます:
{
"type": "web_fetch_tool_result",
"tool_use_id": "srvtoolu_02",
"content": {
"type": "web_fetch_result",
"url": "https://example.com/paper.pdf",
"content": {
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmo..."
},
"citations": { "enabled": true }
},
"retrieved_at": "2025-08-25T10:30:02Z"
}
}Webフェッチツールがエラーに遭遇した場合、Claude APIはレスポンスボディにエラーを表現した200(成功)レスポンスを返します。Claudeはエラー結果を確認し、ターンを継続します。例:
{
"type": "web_fetch_tool_result",
"tool_use_id": "srvtoolu_a93jad",
"content": {
"type": "web_fetch_tool_result_error",
"error_code": "url_not_accessible"
}
}以下が発生し得るエラーコードです:
invalid_tool_input:不正な形式のURLや非HTTP(S)スキームなど、無効なツール入力url_too_long:URLが最大長(250文字)を超えているurl_not_allowed:ドメインフィルタリングルール(組織の設定を含む)、またはプライベートアドレスやrobots.txtなどのAnthropic側の制限によってブロックされたURLurl_not_in_prior_context:URLが会話の中で以前に出現していない(URL検証を参照)url_not_accessible:コンテンツのフェッチに失敗(HTTPエラー)too_many_requests:レート制限を超過unsupported_content_type:サポートされていないコンテンツタイプ(テキスト、HTML、PDFのみ)max_uses_exceeded:Webフェッチツールの最大使用回数を超過unavailable:内部エラーが発生セキュリティ上の理由から、Webフェッチツールは会話のコンテキストに以前に出現したURLのみをフェッチできます。これには以下が含まれます:
このツールは、Claudeが生成した任意のURLや、コンテナベースのサーバーツール(コード実行やBashなど)からのURLをフェッチすることはできません。
Web検索ツールとWebフェッチツールの両方が有効になっていて、ユーザーがURLを提供せずに特定のページやドキュメントを指定した場合(例:「anthropics/anthropic-sdk-pythonリポジトリのREADMEを読んでください」)、ClaudeはWeb検索を使用してそれを見つけ、その結果をフェッチします。以下の例では、1つのリクエストで検索と分析を依頼しています:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Find recent articles about quantum computing and analyze the most relevant one in detail",
}
],
tools=[
{"type": "web_search_20250305", "name": "web_search", "max_uses": 3},
{
"type": "web_fetch_20250910",
"name": "web_fetch",
"max_uses": 5,
"citations": {"enabled": True},
},
],
)
print(response)このワークフローでは、Claudeは:
ターンをまたいだツール定義のキャッシングについては、プロンプトキャッシングを使用したツール使用を参照してください。
ストリーミングを有効にすると、フェッチイベントはコンテンツ取得中の一時停止を伴ってストリームの一部になります:
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's decision to fetch
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_fetch"}}
// Fetch URL streamed
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"url\":\"https://example.com/article\"}"}}
// Pause while fetch executes
// Fetch results streamed
event: content_block_start
data: {"type": "content_block_start", "index": 2, "content_block": {"type": "web_fetch_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": {"type": "web_fetch_result", "url": "https://example.com/article", "content": {"type": "document", "source": {"type": "text", "media_type": "text/plain", "data": "Article content..."}}}}}
// Claude's response continues...WebフェッチツールはMessages Batches APIに含めることができます。Messages Batches APIを通じたWebフェッチツールの呼び出しは、通常のMessages APIリクエストと同じ価格です。
Web fetchの使用には、標準のトークンコスト以外に追加料金はかかりません:
{
"usage": {
"input_tokens": 25039,
"output_tokens": 931,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0,
"server_tool_use": {
"web_fetch_requests": 1
}
}
}Web fetchツールは、Claude APIで追加コストなしでご利用いただけます。お支払いいただくのは、会話コンテキストの一部となる取得済みコンテンツに対する標準のトークンコストのみです。
過剰なトークンを消費する大きなコンテンツを誤って取得しないようにするため、max_content_tokensパラメータを使用して、ユースケースと予算の考慮事項に基づいた適切な制限を設定してください。
一般的なコンテンツのトークン使用量の例:
サンドボックス化されたコンテナでPythonとbashコードを実行し、データを分析し、ファイルを生成し、ソリューションを反復します。
Anthropicが実行するツールを扱います:server_tool_useブロック、pause_turnの継続、ドメインフィルタリング。
Anthropicが提供するツールのディレクトリと、オプションのツール定義プロパティのリファレンス。
Was this page helpful?