できること
Web ページと PDF の取得
指定した Web ページや PDF 文書の内容全体を取得できます。PDF は base64 でエンコードされたデータとして返され、直接添付した PDF 文書と同じように処理されます。
取得内容の動的フィルタリング
dynamic filtering (動的フィルタリング) では、取得した内容がコンテキストウィンドウに入る前に Claude がコードを書いて実行し、関連する情報だけを残せます。
組織単位での取得先の制限
組織の管理者は Claude Console の Capabilities (機能) ページで web fetch をオフにできます。オンのときは、同じページで許可ドメインまたはブロックドメインを設定できます。
機能解説
概要
サーバーツールとして動作し、API がリクエストの処理中に内容を取得して結果を会話に挿入します。呼び出し側でツールを実行したり tool_result を返したりする必要はありません。特定のページや文書の内容を踏まえて Claude に回答させる場面に関わる機能です。
取得の動作
- Claude は、特定のページを指していない一般知識の質問や自由回答形式の質問では取得を行いません。
- web search と web fetch の両方を有効にしていて、ユーザーが URL を示さずに特定のページや文書を名指しした場合、Claude は web search でそのページを探してから取得します。
- JavaScript で動的に描画される Web サイトには、現時点では対応していません。
- 取得結果はキャッシュされるため、返される内容が URL の最新版を反映していない場合があります。
- ツールでエラーが起きた場合、API はエラーをレスポンス本文に含めた 200 (成功) レスポンスを返し、Claude はエラー結果を受け取ってそのターンを続けます。
- ストリーミングを有効にすると、取得のイベントはストリームの一部として流れ、内容の取得中は一時停止が入ります。
- Message Batches API のリクエストにも web fetch ツールを含められます。
主な設定項目
max_uses:1 ターン内の取得回数の上限です。失敗した取得も回数に含まれます。max_content_tokens:コンテキストに含める内容の量の上限です。取得した内容がこれを超えると切り詰められます。上限はテキストの内容に適用され、PDF などのバイナリの内容には適用されません。blocked_domains:取得しないドメインを指定する任意の項目です。allowed_domainsとは組み合わせられません。use_cache:"use_cache": falseにすると、キャッシュを使わずに新しい内容を取得します。既定値はtrueで、web_fetch_20260309以降のバージョンが必要です。citations:引用は任意で、既定では無効です。"citations": {"enabled": true}にすると、Claude が取得した文書の特定の箇所を引用できます。response_inclusion:"response_inclusion": "excluded"にすると、完了したコード実行の呼び出しが消費した入れ子のserver_tool_useと結果ブロックの組を、レスポンスから除外します。生のページ内容を必要としないエージェント型ワークフロー向けの設定です。- dynamic filtering:ツールの type に
web_fetch_20260209以降のバージョンを使うと有効になります。code execution tool 上で動き、API がリクエストに対して自動で有効にするため、code execution tool をtools配列に追加する必要はありません。
URL の検証と取得元の制限
セキュリティ上の理由から、web fetch ツールは会話のコンテキストに既に現れた URL だけを取得できます。
- Claude 自身の出力だけ、またはシステムプロンプトだけに現れる URL は取得できません。システムプロンプトにある URL を取得対象にするには、ユーザーメッセージにもその URL を含めます。
- API キーやパスワードなどの認証情報を含むように見える URL は、その認証情報がシステムプロンプトかユーザーメッセージの本文に現れていない限り、取得を拒否します。
- 任意の
url_sourcesで、許可される 3 種類の URL の出どころのいずれかをオフにしたり、ツール結果を特定のツールに限ったりできます。クライアント側のツール結果をすべて除外するには、client_tool_resultsを{"type": "none"}に設定します。
管理者・導入時に確認したい点
- 組織の管理者は Claude Console の Capabilities (機能) ページで、組織の web fetch をオフにできます。オフのとき、web fetch ツールを含む Messages API リクエストは、web fetch が有効でないことを示す 400
invalid_request_errorで失敗します。 - web fetch がオンのときは、同じページで web fetch の許可ドメインまたはブロックドメインを設定できます。
- Claude Managed Agents では、
web_fetchツールは Capabilities ページで設定した組織の web fetch ドメイン制限に従います。 - Claude Managed Agents でネットワークが制限されたクラウド環境では、その環境の
allowed_hostsがweb_fetchツールにも適用されます。allowed_hostsに一致しないホストの URL への呼び出しは、エージェントにurl_not_allowedエラー結果を返します。 - Claude Managed Agents では、
web_fetchツールはセッション内に既に現れた URL だけを取得します。条件を満たさない URL への呼び出しは、エージェントにurl_not_in_prior_contextエラー結果を返します。 - 対象プランや提供地域は、公式のリリースノートには記載がありません。
使い方
組織の管理者が Claude Console の Capabilities (機能) ページで web fetch をオフにしている場合、web fetch ツールを含む Messages API リクエストは 400 エラーで失敗します。
- Messages API のリクエストで、
toolsにweb_fetchツールを追加します。
利用シーン
ユーザーが示した特定の Web ページの内容を踏まえて、Claude に要約や回答をさせる場面に使えます。
Web 上で公開されている PDF 文書を取得し、添付した PDF と同じように扱わせる場面に向いています。
長いページから必要な情報だけをコンテキストに入れたい場面では、dynamic filtering を使えます。
組織として取得先のドメインを絞って API を運用する場面に向いています。
ChatGPT・OpenAI の対応する機能
比較の単位となる業務: API 経由でのWebページ内容の取得と組織単位のドメイン制限管理
組織単位でのツール利用の管理について、OpenAI の Admin API には、ホスト型ツールの権限を管理する機能が 2026 年 5 月 26 日に追加されています。Claude API の Web fetch ツールでは、組織の管理者が Claude Console の Capabilities ページで web fetch のオン・オフを切り替え、オンのときは許可ドメインまたはブロックドメインを設定します。
これまでの変更
組織の管理者が Claude Console の Capabilities ページで web fetch をオフにしたり、許可ドメインまたはブロックドメインを設定したりできるようになりました。Claude Managed Agents の
web_fetchツールも、この組織のドメイン制限に従うようになりました。Claude Managed Agents で、ネットワークが制限されたクラウド環境の
allowed_hostsがweb_fetchツールにも適用されるようになりました。あわせて、web_fetchツールはセッション内に既に現れた URL だけを取得するようになりました。web_fetch_20260318に対応し、消費済みの結果ブロックを API レスポンスから除外するresponse_inclusionパラメーターが追加されました。