Loading...
    • 開発者ガイド
    • APIリファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    最初のステップ
    Claude入門クイックスタート
    モデルと価格
    モデル概要モデルの選択Claude 4.5の新機能Claude 4.5への移行モデルの廃止予定価格
    Claudeで構築
    機能概要Messages APIの使用コンテキストウィンドウプロンプトのベストプラクティス
    機能
    プロンプトキャッシングコンテキスト編集拡張思考エフォートストリーミングメッセージバッチ処理引用多言語対応トークンカウントエンベディングビジョンPDF対応Files API検索結果構造化出力Google Sheetsアドオン
    ツール
    概要ツール使用の実装方法トークン効率的なツール使用細粒度ツールストリーミングBashツールコード実行ツールプログラマティックツール呼び出しコンピュータ使用ツールテキストエディタツールWebフェッチツールWeb検索ツールメモリツールツール検索ツール
    エージェントスキル
    概要クイックスタートベストプラクティスAPIでスキルを使用
    エージェントSDK
    概要TypeScript SDKPython SDK移行ガイド
    ガイド
    ストリーミング入力権限の処理セッション管理SDKの構造化出力エージェントSDKのホスティングシステムプロンプトの変更SDKのMCPカスタムツールSDKのサブエージェントSDKのスラッシュコマンドSDKのエージェントスキルコストと使用状況の追跡TodoリストSDKのプラグイン
    APIのMCP
    MCPコネクタリモートMCPサーバー
    サードパーティプラットフォームのClaude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータプロンプトテンプレートの使用プロンプト改善ツール明確で直接的に例を使用する(マルチショットプロンプティング)Claudeに考えさせる(CoT)XMLタグを使用Claudeに役割を与える(システムプロンプト)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...

    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フェッチツールは現在ベータ版です。これを有効にするには、APIリクエストでベータヘッダー web-fetch-2025-09-10 を使用してください。

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

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

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

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

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

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

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

    • 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)
    • 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)

    Webフェッチの仕組み

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

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

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

    Webフェッチの使用方法

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

    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "anthropic-beta: web-fetch-2025-09-10" \
        --header "content-type: application/json" \
        --data '{
            "model": "claude-sonnet-4-5",
            "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

    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 と同じに見えるかもしれませんが、異なるドメインを表します。

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

    • 可能な限りASCIーのみのドメイン名を使用してください
    • 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-sonnet-4-5",
        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}
            }
        ],
        extra_headers={
            "anthropic-beta": "web-fetch-2025-09-10"
        }
    )

    このワークフローでは、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-sonnet-4-5",
        max_tokens=1024,
        messages=messages,
        tools=[{
            "type": "web_fetch_20250910",
            "name": "web_fetch"
        }],
        extra_headers={
            "anthropic-beta": "web-fetch-2025-09-10"
        }
    )
    
    # 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-sonnet-4-5",
        max_tokens=1024,
        messages=messages,
        tools=[{
            "type": "web_fetch_20250910",
            "name": "web_fetch"
        }],
        extra_headers={
            "anthropic-beta": "web-fetch-2025-09-10"
        }
    )
    
    # 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 (10KB): ~2,500 tokens
    • Large documentation page (100KB): ~25,000 tokens
    • Research paper PDF (500KB): ~125,000 tokens
    • Webフェッチの仕組み
    • Webフェッチの使用方法
    • URL検証