Loading...
  • ビルド
  • 管理
  • モデルと料金
  • クライアントSDK
  • APIリファレンス
Search...
⌘K
Log in
ウェブフェッチツール
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
ビルド/ツール

Webフェッチツール

特定のURLからコンテンツを取得して読み込み、ライブなウェブコンテンツでClaudeのコンテキストを拡張します。

Webフェッチツールを使用すると、Claudeは指定されたウェブページとPDFドキュメントから完全なコンテンツを取得できます。

最新のWebフェッチツールバージョン(web_fetch_20260209)は、Claude Mythos Preview、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 4.6で動的フィルタリングをサポートしています。Claudeは取得したコンテンツをコンテキストウィンドウに到達する前にフィルタリングするコードを書いて実行でき、関連情報のみを保持して残りを破棄できます。これによりトークン消費を削減しながら応答品質を維持します。前のツールバージョン(web_fetch_20250910)は動的フィルタリングなしで利用可能なままです。

Claude Mythos Previewの場合、WebフェッチはClaude APIとMicrosoft Foundryでサポートされています。Amazon BedrockまたはGoogle Vertex AIのMythos Previewでは利用できません。

フィードバックフォームを使用して、モデルレスポンスの品質、API自体、またはドキュメントの品質に関するフィードバックを提供してください。

Zero Data Retention適格性とallowed_callersワークアラウンドについては、サーバーツールを参照してください。

Claudeが信頼できない入力と機密データを一緒に処理する環境でWebフェッチツールを有効にすると、データ流出のリスクが生じます。このツールは信頼できる環境でのみ使用するか、機密でないデータを処理する場合のみ使用してください。

流出リスクを最小化するため、Claudeは動的にURLを構築することは許可されていません。Claudeは、ユーザーによって明示的に提供されたURL、または以前のウェブ検索またはWebフェッチ結果から得たURLのみを取得できます。ただし、このツールを使用する際に慎重に検討する必要がある残存リスクがあります。

データ流出が懸念される場合は、以下を検討してください:

  • Webフェッチツールを完全に無効にする
  • max_usesパラメータを使用してリクエスト数を制限する
  • allowed_domainsパラメータを使用して既知の安全なドメインに制限する

モデルサポートについては、ツールリファレンスを参照してください。

Webフェッチの仕組み

APIリクエストにWebフェッチツールを追加する場合:

  1. Claudeはプロンプトと利用可能なURLに基づいてコンテンツを取得するタイミングを決定します。
  2. APIは指定されたURLから完全なテキストコンテンツを取得します。
  3. PDFの場合、自動テキスト抽出が実行されます。
  4. Claudeは取得したコンテンツを分析し、オプションの引用付きレスポンスを提供します。

Webフェッチツールは現在、JavaScriptで動的にレンダリングされるウェブサイトをサポートしていません。

動的フィルタリング

完全なウェブページとPDFを取得すると、特に大規模なドキュメントから特定の情報のみが必要な場合、トークンが急速に消費される可能性があります。web_fetch_20260209ツールバージョンでは、Claudeは取得したコンテンツをコンテキストに読み込む前にフィルタリングするコードを書いて実行できます。

この動的フィルタリングは特に以下の場合に有用です:

  • 長いドキュメントから特定のセクションを抽出する
  • ウェブページから構造化データを処理する
  • PDFから関連情報をフィルタリングする
  • 大規模なドキュメントを操作する際のトークンコストを削減する

動的フィルタリングにはコード実行ツールを有効にする必要があります。Webフェッチツール(動的フィルタリングの有無を問わず)はClaude APIとMicrosoft Azureで利用可能です。

動的フィルタリングを有効にするには、web_fetch_20260209ツールバージョンを使用します:

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    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_20260209", "name": "web_fetch"}],
)
print(response)

Webフェッチの使用方法

APIリクエストでWebフェッチツールを提供します:

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    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フェッチツールは以下のパラメータをサポートしています:

JSON
{
  "type": "web_fetch_20250910",
  "name": "web_fetch",

  // オプション:リクエストごとのフェッチ数を制限
  "max_uses": 10,

  // オプション:これらのドメインからのみフェッチ
  "allowed_domains": ["example.com", "docs.example.com"],

  // オプション:これらのドメインからフェッチしない
  "blocked_domains": ["private.example.com"],

  // オプション:取得したコンテンツの引用を有効にする
  "citations": {
    "enabled": true
  },

  // オプション:最大コンテンツ長(トークン単位)
  "max_content_tokens": 100000
}

Max uses

max_usesパラメータは実行されるWebフェッチの数を制限します。Claudeが許可された数を超えるフェッチを試みた場合、web_fetch_tool_resultはmax_uses_exceededエラーコード付きのエラーになります。現在、デフォルト制限はありません。

ドメインフィルタリング

allowed_domainsとblocked_domainsによるドメインフィルタリングについては、サーバーツールを参照してください。

コンテンツ制限

max_content_tokensパラメータはコンテキストに含まれるコンテンツの量を制限します。取得したコンテンツがこの制限を超える場合、ツールはそれを切り詰めます。これは大規模なドキュメントを取得する際のトークン使用量を制御するのに役立ちます。

max_content_tokensパラメータ制限は概算です。実際に使用される入力トークン数は少量変動する可能性があります。

引用

ウェブ検索では引用が常に有効になっていますが、Webフェッチでは引用はオプションです。"citations": {"enabled": true}を設定して、Claudeが取得したドキュメントから特定の段落を引用できるようにします。

APIの出力をエンドユーザーに直接表示する場合、元のソースへの引用を含める必要があります。APIの出力を修正する場合(再処理や独自のマテリアルとの組み合わせを含む)、エンドユーザーに表示する前に、法務チームとの相談に基づいて適切に引用を表示してください。

レスポンス

レスポンス構造の例を以下に示します:

Output
{
  "role": "assistant",
  "content": [
    // 1. Claudeのフェッチ決定
    {
      "type": "text",
      "text": "I'll fetch the content from the article to analyze it."
    },
    // 2. フェッチリクエスト
    {
      "type": "server_tool_use",
      "id": "srvtoolu_01234567890abcdef",
      "name": "web_fetch",
      "input": {
        "url": "https://example.com/article"
      }
    },
    // 3. フェッチ結果
    {
      "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の分析(引用が有効な場合)
    {
      "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:フェッチされたURL
  • content:取得したコンテンツを含むドキュメントブロック
  • retrieved_at:コンテンツが取得されたときのタイムスタンプ

Webフェッチツールは結果をキャッシュしてパフォーマンスを向上させ、冗長なリクエストを削減します。返されるコンテンツは、URLで利用可能な最新バージョンを常に反映しているとは限りません。キャッシュ動作は自動的に管理され、異なるコンテンツタイプと使用パターンに対して最適化するために時間とともに変更される可能性があります。

PDFドキュメントの場合、コンテンツはBase64エンコードされたデータとして返されます:

Output
{
  "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(成功)レスポンスを返し、エラーはレスポンスボディで表現されます:

Output
{
  "type": "web_fetch_tool_result",
  "tool_use_id": "srvtoolu_a93jad",
  "content": {
    "type": "web_fetch_tool_error",
    "error_code": "url_not_accessible"
  }
}

以下は可能なエラーコードです:

  • invalid_input:無効なURL形式
  • url_too_long:URLが最大長(250文字)を超えている
  • url_not_allowed:ドメインフィルタリングルールとモデル制限によってURLがブロックされている
  • url_not_accessible:コンテンツの取得に失敗した(HTTPエラー)
  • too_many_requests:レート制限を超えている
  • unsupported_content_type:サポートされていないコンテンツタイプ(テキストとPDFのみ)
  • max_uses_exceeded:最大Webフェッチツール使用数を超えている
  • unavailable:内部エラーが発生した

URL検証

セキュリティ上の理由から、Webフェッチツールは会話コンテキストに以前表示されたURLのみを取得できます。これには以下が含まれます:

  • ユーザーメッセージ内のURL
  • クライアント側のツール結果内のURL
  • 以前のウェブ検索またはWebフェッチ結果からのURL

ツールは、Claudeが生成した任意のURL、またはコンテナベースのサーバーツール(コード実行、Bashなど)からのURLを取得することはできません。

検索とフェッチの組み合わせ

Webフェッチはウェブ検索とシームレスに連携して、包括的な情報収集を実現します:

Python
client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    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},
        },
    ],
)

このワークフローでは、Claudeは以下を実行します:

  1. ウェブ検索を使用して関連記事を検索する
  2. 最も有望な結果を選択する
  3. Webフェッチを使用して完全なコンテンツを取得する
  4. 引用付きの詳細な分析を提供する

プロンプトキャッシング

ターン間でのツール定義のキャッシングについては、プロンプトキャッシング付きツール使用を参照してください。

ストリーミング

ストリーミングが有効な場合、フェッチイベントはストリームの一部であり、コンテンツ取得中に一時停止があります:

Output
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...

バッチリクエスト

Messages Batches APIにWebフェッチツールを含めることができます。Messages Batches API経由のWebフェッチツール呼び出しは、通常のMessages APIリクエストと同じ価格です。

使用方法と価格

Web fetch usage has no additional charges beyond standard token costs:

"usage": {
  "input_tokens": 25039,
  "output_tokens": 931,
  "cache_read_input_tokens": 0,
  "cache_creation_input_tokens": 0,
  "server_tool_use": {
    "web_fetch_requests": 1
  }
}

The web fetch tool is available on the Claude API at no additional cost. You only pay standard token costs for the fetched content that becomes part of your conversation context.

To protect against inadvertently fetching large content that would consume excessive tokens, use the max_content_tokens parameter to set appropriate limits based on your use case and budget considerations.

Example token usage for typical content:

  • Average web page (10 kB): ~2,500 tokens
  • Large documentation page (100 kB): ~25,000 tokens
  • Research paper PDF (500 kB): ~125,000 tokens

次のステップ

サーバーツール

Anthropic実行ツールの共有メカニクス。

ツールリファレンス

すべてのAnthropicが提供するツールのディレクトリ。

Was this page helpful?

  • Webフェッチの仕組み
  • Webフェッチの使用方法
  • URL検証