Loading...
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    はじめに
    Claude の紹介クイックスタート
    モデルと料金
    モデル概要モデルの選び方Claude 4.6 の新機能移行ガイドモデルの廃止料金
    Claude で構築する
    機能概要Messages API の使用停止理由の処理プロンプトのベストプラクティス
    モデルの機能
    拡張思考適応型思考エフォート高速モード(リサーチプレビュー)構造化出力引用メッセージのストリーミングバッチ処理PDF サポート検索結果多言語サポートエンベディングビジョン
    ツール
    概要ツール使用の実装方法Web 検索ツールWeb フェッチツールコード実行ツールメモリツールBash ツールコンピュータ使用ツールテキストエディタツール
    ツールインフラストラクチャ
    ツール検索プログラムによるツール呼び出しきめ細かいツールストリーミング
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集プロンプトキャッシングトークンカウント
    ファイルとアセット
    Files API
    Agent Skills
    概要クイックスタートベストプラクティスエンタープライズ向け SkillsAPI での Skills の使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    API での MCP
    MCP コネクタリモート MCP サーバー
    サードパーティプラットフォームでの Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確かつ直接的に例を使う(マルチショットプロンプティング)Claude に考えさせる(CoT)XML タグを使うClaude に役割を与える(システムプロンプト)複雑なプロンプトを連鎖させる長文コンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準の定義テストケースの開発評価ツールの使用レイテンシの削減
    ガードレールの強化
    ハルシネーションの削減出力の一貫性を高めるジェイルブレイクの軽減ストリーミング拒否プロンプト漏洩の削減Claude をキャラクターに保つ
    管理とモニタリング
    Admin API 概要データレジデンシーワークスペース使用量とコスト APIClaude Code Analytics APIゼロデータリテンション
    Console
    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
    • Catalog
    • 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
    • Catalog
    • 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フェッチツール

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

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

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

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

    This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

    Claudeが信頼できない入力と機密データを同時に処理する環境でWebフェッチツールを有効にすると、データ流出のリスクがあります。このツールは信頼できる環境、または機密でないデータを扱う場合にのみ使用することをお勧めします。

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

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

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

    サポートされているモデル

    Webフェッチは以下で利用可能です:

    • Claude Opus 4.6(claude-opus-4-6)
    • Claude Opus 4.5(claude-opus-4-5-20251101)
    • Claude Opus 4.1(claude-opus-4-1-20250805)
    • Claude Opus 4(claude-opus-4-20250514)
    • Claude Sonnet 4.6(claude-sonnet-4-6)
    • Claude Sonnet 4.5(claude-sonnet-4-5-20250929)
    • Claude Sonnet 4(claude-sonnet-4-20250514)
    • Claude Sonnet 3.7(非推奨)(claude-3-7-sonnet-20250219)
    • Claude Haiku 4.5(claude-haiku-4-5-20251001)
    • Claude Haiku 3.5(非推奨)(claude-3-5-haiku-latest)

    Webフェッチの仕組み

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

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

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

    Opus 4.6およびSonnet 4.6での動的フィルタリング

    Webページ全体やPDFをフェッチすると、特に大きなドキュメントから特定の情報のみが必要な場合、トークンを急速に消費する可能性があります。web_fetch_20260209ツールバージョンでは、Claudeはコードを記述・実行して、フェッチしたコンテンツをコンテキストに読み込む前にフィルタリングできます。

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

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

    動的フィルタリングにはコード実行ツールが有効になっている必要があります。Webフェッチツール(動的フィルタリングの有無にかかわらず)は、Claude APIおよびMicrosoft Azureで利用可能です。

    動的フィルタリングを有効にするには、web_fetch_20260209ツールバージョンとcode-execution-web-tools-2026-02-09ベータヘッダーを使用します:

    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: code-execution-web-tools-2026-02-09" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-opus-4-6",
            "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"
            }]
        }'

    Webフェッチの使い方

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

    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": "Please analyze the content at https://example.com/article"
                }
            ],
            "tools": [{
                "type": "web_fetch_20250910",
                "name": "web_fetch",
                "max_uses": 5
            }]
        }'

    ツール定義

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

    ドメインフィルタリング

    ドメインフィルターを使用する場合:

    • ドメインにはHTTP/HTTPSスキームを含めないでください(https://example.comではなくexample.comを使用)
    • サブドメインは自動的に含まれます(example.comはdocs.example.comをカバーします)
    • サブパスがサポートされています(example.com/blog)
    • allowed_domainsまたはblocked_domainsのいずれかを使用できますが、同じリクエストで両方を使用することはできません。

    ドメイン名のUnicode文字は、ホモグラフ攻撃によるセキュリティ脆弱性を生み出す可能性があることに注意してください。異なるスクリプトの視覚的に類似した文字がドメインフィルターをバイパスする可能性があります。例えば、аmazon.com(キリル文字の「а」を使用)はamazon.comと同一に見えますが、異なるドメインを表します。

    ドメインの許可/ブロックリストを設定する場合:

    • 可能な限りASCIIのみのドメイン名を使用してください
    • URLパーサーがUnicode正規化を異なる方法で処理する可能性があることを考慮してください
    • 潜在的なホモグラフのバリエーションでドメインフィルターをテストしてください
    • 疑わしいUnicode文字がないか、ドメイン設定を定期的に監査してください

    コンテンツ制限

    max_content_tokensパラメータは、コンテキストに含まれるコンテンツの量を制限します。フェッチしたコンテンツがこの制限を超えた場合、切り捨てられます。これにより、大きなドキュメントをフェッチする際のトークン使用量を制御できます。

    max_content_tokensパラメータの制限は概算です。実際に使用される入力トークン数は、わずかに異なる場合があります。

    引用

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

    API出力をエンドユーザーに直接表示する場合、元のソースへの引用を含める必要があります。API出力を再処理したり、独自の素材と組み合わせたりするなど、エンドユーザーに表示する前に変更を加える場合は、法務チームと相談の上、適切に引用を表示してください。

    レスポンス

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

    {
      "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エンコードされたデータとして返されます:

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

    {
      "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検索またはWebフェッチの結果からのURL

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

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

    Webフェッチは、包括的な情報収集のためにWeb検索とシームレスに連携します:

    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-opus-4-6",
        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. Web検索を使用して関連記事を見つける
    2. 最も有望な結果を選択する
    3. Webフェッチを使用してコンテンツ全体を取得する
    4. 引用付きの詳細な分析を提供する

    プロンプトキャッシング

    Webフェッチはプロンプトキャッシングと連携します。プロンプトキャッシングを有効にするには、リクエストにcache_controlブレークポイントを追加します。キャッシュされたフェッチ結果は、会話のターン間で再利用できます。

    import anthropic
    
    client = anthropic.Anthropic()
    
    # Webフェッチを使用した最初のリクエスト
    messages = [
        {
            "role": "user",
            "content": "Analyze this research paper: https://arxiv.org/abs/2024.12345",
        }
    ]
    
    response1 = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=1024,
        messages=messages,
        tools=[{"type": "web_fetch_20250910", "name": "web_fetch"}],
    )
    
    # Claudeのレスポンスを会話に追加
    messages.append({"role": "assistant", "content": response1.content})
    
    # キャッシュブレークポイント付きの2番目のリクエスト
    messages.append(
        {
            "role": "user",
            "content": "What methodology does the paper use?",
            "cache_control": {"type": "ephemeral"},
        }
    )
    
    response2 = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=1024,
        messages=messages,
        tools=[{"type": "web_fetch_20250910", "name": "web_fetch"}],
    )
    
    # 2番目のレスポンスはキャッシュされたフェッチ結果の恩恵を受ける
    print(f"Cache read tokens: {response2.usage.get('cache_read_input_tokens', 0)}")

    ストリーミング

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

    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_fetch"}}
    
    // フェッチURLのストリーミング
    event: content_block_delta
    data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"url\":\"https://example.com/article\"}"}}
    
    // フェッチ実行中の一時停止
    
    // フェッチ結果のストリーミング
    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のレスポンスが続く...

    バッチリクエスト

    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

    Was this page helpful?

    • Webフェッチの仕組み
    • Opus 4.6およびSonnet 4.6での動的フィルタリング
    • Webフェッチの使い方
    • URLバリデーション