Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

Claude Web検索APIの使い方

Stefania Boiko

Stefania Boiko

Updated on 5月 8, 2025

AnthropicのClaudeのような大規模言語モデル(LLM)は、私たちが情報やテクノロジーとどのように関わるかを変えました。テキストを理解し、生成し、推論する能力は、数え切れないほどのアプリケーションへの扉を開きました。しかし、多くのLLMの一般的な限界は、静的なトレーニングデータに依存していることです。これは、その知識が特定の時点に固定されていることを意味します。情報が秒単位で変化する世界では、この「知識のカットオフ」は大きな障害となり得ます。ここで登場するのが、Claudeにインターネットからリアルタイムの情報にアクセスし、それを直接応答に組み込む能力を与えるように設計された強力なツール、ClaudeのWeb検索APIです。

この記事では、ClaudeのWeb検索APIを理解し、活用するための包括的なガイドを提供します。その重要性、仕組み、実践的な実装手順、高度な機能、魅力的なユースケース、そして単にインテリジェントであるだけでなく、最新で文脈を理解した次世代AIアプリケーションを構築しようとしている開発者向けのベストプラクティスを探求します。

💡
美しいAPIドキュメントを生成する優れたAPIテストツールをお探しですか?

最大限の生産性で開発チームが協力して作業できる統合されたオールインワンプラットフォームをお探しですか?

Apidogはあなたのすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
button

Claude Web検索API:クイックルック

デジタル世界は常に変化しています。ニュースが飛び交い、市場トレンドが変動し、科学的発見が発表され、ソフトウェアドキュメントが継続的に更新されます。これらの変化以前のデータセットでトレーニングされたLLMは、意図せずに古い情報や不完全な情報を提供してしまう可能性があり、最新の正確性が求められるシナリオでの有用性を制限します。

Claude Web Search APIの概要を示すスクリーンショット

リアルタイムのWebアクセスは、いくつかの重要な方法でこの根本的な制限に対処します:

  1. 知識のカットオフを克服:最も明白な利点は、LLMの最後のトレーニングサイクル以降に作成または更新された情報にアクセスできることです。これは、Claudeが最近の出来事、時事問題、またはあらゆる分野の最新の開発について質問に答えることができることを意味します。
  2. 精度と関連性の向上:ライブデータをフェッチすることで、LLMは最新であるだけでなく、ユーザーの直近の文脈により関連性の高い回答を提供できます。現在の天気、最新の株価、または速報ニュースなど、情報はタイムリーで実用的です。
  3. 動的な問題解決:多くの現実世界の問題は、本質的に動的な情報を必要とします。たとえば、ソフトウェアの問題のトラブルシューティングには最新のバグレポートやフォーラムの議論が必要な場合があり、市場調査には現在の競合他社データが必要です。Web検索は、LLMがこれらの動的な課題により効果的に取り組むことを可能にします。
  4. AIアプリケーションの新たなフロンティア:リアルタイムデータへのアクセスは、豊富な新しいアプリケーションを解き放ちます。ライブスポーツのスコアを提供するAIアシスタント、現在の市場の動きに基づいて洞察を提供する金融アドバイザー、または最新の学術論文を統合できる研究ツールを想像してみてください。
  5. 検証可能性による信頼構築:LLMがライブWebからその情報源を引用できる場合、ユーザーの信頼は大幅に向上します。ユーザーは自分で情報を検証でき、AIの応答における透明性と信頼性を育みます。

ClaudeのWeb検索APIは、Anthropicがこれらのニーズに応えるためのものであり、開発者がインターネットの広大で絶えず進化する知識ベースを活用するアプリケーションを構築するための堅牢で統合されたソリューションを提供します。

Claude Web検索APIの使用方法

ClaudeのWeb検索APIの核心は、ユーザーのクエリが外部の最新情報から利益を得ると判断した場合に、Claudeが使用を決定できる「ツール」であることです。これは単純なキーワード検索ではありません。Claudeは、その洗練された推論能力を使用して、いつどのように効果的に検索するかを理解します。

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

ローンチとその後のアップデートの時点で、Web検索機能はいくつかの強力なClaudeモデルで利用可能です:

  • Claude 3.7 Sonnet(claude-3-7-sonnet-20250219 または claude-3-7-sonnet-latest
  • アップグレードされたClaude 3.5 Sonnet(claude-3-5-sonnet-latest
  • Claude 3.5 Haiku(claude-3-5-haiku-latest

サポートされているモデルの最新リストについては、常に公式のAnthropicドキュメントを参照してください。

Claude Web検索APIの仕組み

  1. インテリジェントな呼び出し:サポートされているClaudeモデルにWeb検索ツールを有効にしてプロンプトを送信すると、Claudeはまずクエリを分析します。その内部知識が不十分であるか、特定のクエリに対して古い可能性があると判断した場合、Web検索を開始することを決定します。
  2. クエリの生成と実行:Claudeは、ユーザーのニーズの理解に基づいて、ターゲットを絞った検索クエリを生成します。その後、Anthropic APIがこの検索を実行し、関連するWebページを取得します。
  3. エージェント的な検索と洗練:Claudeは「エージェント的」に動作できます。これは、複数の段階的な検索を実行できることを意味します。最初の検索結果を使用して、その後のクエリを通知および洗練し、軽い調査を実行してより包括的な情報を収集することができます。この反復プロセスは、Claudeが十分な情報を持っていると信じるか、または事前に設定された制限(例:max_uses)に達するまで続きます。
  4. 分析と統合:Claudeは取得した検索結果を分析し、重要な情報を抽出し、それを統合して首尾一貫した包括的な回答を形成します。
  5. 引用付き応答:重要なことに、Claudeは最終的な応答を情報源への引用付きで提供します。これにより、ユーザーは情報を検証し、その起源を理解することができ、透明性と信頼性を促進します。

このプロセス全体は、開発者にとってシームレスになるように設計されています。開発者は、独自のWebスクレイピングおよび検索インフラストラクチャを構築および管理する代わりに、ツールを有効にするだけで、Claudeにリアルタイム情報取得の複雑さを処理させることができます。

Claude Web検索APIの料金について

Claude Web Search APIの料金に関するスクリーンショット

ClaudeのWeb検索APIの料金に関して、Anthropicはシンプルなモデルを採用しています。Web検索ツール自体の使用は、実行された検索1,000回ごとに10ドルで請求されます。この費用は、ツールによって実行される検索操作に固有のものであることに注意することが重要です。

この料金は、クエリを理解し、検索結果を処理し、最終的な応答を生成するためにClaudeモデルが消費する入力および出力トークンの通常の料金を含む、リクエストの処理に関連する標準費用とは別に追加されます。

Claude Web検索APIの使用方法

Web検索をClaude搭載アプリケーションに統合するには、いくつかの簡単なステップが必要です。

前提条件

Web検索ツールを使用する前に、組織の管理者はAnthropic Console(通常はプライバシーまたはツール使用に関連する設定の下にあります)でそれを有効にする必要があります。

APIリクエストの作成


Web検索ツールを使用するには、Messages APIへのAPIリクエストのtools配列にそれを含める必要があります。これがどのように構造化されているかの概念的な概要を以下に示します:

ツールの定義


使用する基本的なツールの定義は次のとおりです:

{
  "type": "web_search_20250305",
  "name": "web_search"
}
  • type:これはWeb検索ツールのバージョンを識別する特定の文字列です。
  • name:ツールの説明的な名前で、通常は「web_search」です。

以下はcurl呼び出しの例です:

curl https://api.anthropic.com/v1/messages \\
    --header "x-api-key: $ANTHROPIC_API_KEY" \\
    --header "anthropic-version: 2023-06-01" \\ # Or the latest recommended version
    --header "content-type: application/json" \\
    --data '{
        "model": "claude-3.5-sonnet-latest",    # Or another supported model
        "max_tokens": 1024,
        "messages": [
            {
                "role": "user",
                "content": "What are the latest developments in quantum computing this year?"
            }
        ],
        "tools": [{
            "type": "web_search_20250305",
            "name": "web_search",
            "max_uses": 5 # Optional: Limit search iterations
        }]
    }'

Web検索ツールは、その動作をカスタマイズするためのいくつかのオプションパラメータを提供します:

max_uses (整数、オプション):

  • このパラメータは、単一のAPIリクエスト内でClaudeが実行できる個別の検索操作の数を制限します。
  • これは、調査の深さと検索に関連する潜在的なコストの両方を管理するための便利な制御です。
  • Claudeがこの制限を超えようとすると、web_search_tool_resultmax_uses_exceededというコードでエラーを示します。
  • 指定されていない場合のデフォルトの動作では、Claudeがその推論に基づいて検索数を決定します。

allowed_domains (文字列の配列、オプション):

  • Claudeが検索結果を取得することを許可されているドメインのリストを指定します。これは、情報が事前に承認された信頼できる情報源からのみ来ることを保証するのに優れています。
  • 重要:
  • HTTP/HTTPSスキームを含めないでください(例:https://example.comではなく、example.comを使用)。
  • サブドメインは自動的に含まれます(例:example.comdocs.example.comもカバーします)。
  • サブパスはサポートされています(例:example.com/blog)。
  • 単一のリクエストでallowed_domainsまたはblocked_domainsのいずれかを使用できますが、両方は使用できません。

blocked_domains (文字列の配列、オプション):

  • Claudeが決してアクセスしてはならないドメインのリストを指定します。これは、競合他社のサイト、無関係な情報源、または誤報で知られているドメインへのアクセスを防ぐのに役立ちます。
  • allowed_domainsと同じ書式設定ルールが適用されます。
  • allowed_domainsと同時に使用することはできません。

user_location (オブジェクト、オプション):

  • このパラメータを使用すると、検索結果をローカライズし、ユーザーの地理的な文脈により関連性の高いものにすることができます。
  • 構造は次のとおりです:
"user_location": {
  "type": "approximate", // Currently, only "approximate" is supported
  "city": "San Francisco",
  "region": "California",
  "country": "US",
  "timezone": "America/Los_Angeles" // IANA timezone ID
}
  • これは、ローカルニュース、サービス、天気など、地理的に関連性の高い結果をClaudeが取得するのに役立ちます。

Claude Web検索API応答の処理方法

ClaudeがWeb検索ツールを使用すると、API応答には検索プロセスと結果を詳述する特定の情報ブロックが含まれます。この構造を理解することが、ツールを効果的に使用するための鍵です。

典型的な応答構造:

アシスタントのメッセージのcontent配列には以下が含まれます:

Claudeの検索決定 (type: "text"): 多くの場合、Claudeは検索意図を示す短いテキストを出力します。例:「そのトピックに関する最新ニュースを検索します。」

サーバーツール使用ブロック (type: "server_tool_use"):

  • このブロックは、Claudeがサーバーサイドツール(Web検索など)を使用することを決定したことを示します。
  • これには、id(例:srvtoolu_01WYG3ziw53XMcoyKL4XcZmE)、ツールのname(「web_search」)、およびinputオブジェクトが含まれます。
  • inputオブジェクトには、Claudeが検索エンジンに送信した実際のqueryが含まれます(例:{"query": "claude shannon birth date"})。

Web検索ツール結果ブロック (type: "web_search_tool_result"):

  • このブロックには、検索の結果が含まれます。これは、server_tool_useブロックのtool_use_idを参照します。
  • 検索が成功した場合、このブロック内のcontentweb_search_resultオブジェクトの配列になります。
  • web_search_resultオブジェクトには以下が含まれます:
  • url:情報源ページのURL。
  • title:情報源ページのタイトル。
  • encrypted_content:ページからの暗号化されたコンテンツ。複数ターンの会話でこの特定のコンテンツを正確に引用できるようにするには、これを後続のターンで渡す必要があります。
  • page_age:サイトが最後に更新またはクロールされた時期の指標(例:「2025年4月30日」)。

Claudeの統合応答 (type: "text" with citations):

  • 検索結果に続いて、Claudeは見つかった情報を取り入れたテキスト応答を提供します。
  • 重要なことに、このテキストの一部には関連するcitationsがあります。
  • citationオブジェクト(タイプweb_search_result_location)には以下が含まれます:
  • url:引用された情報源のURL。
  • title:引用された情報源のタイトル。
  • encrypted_index:この引用をサポートするencrypted_contentの特定の箇所への参照。これも複数ターンの会話で渡す必要があります。
  • cited_text:引用されている情報源からのテキストのスニペット(最大150文字)。

引用に関する重要な注意:引用フィールド(cited_texttitleurl)は、入力または出力トークン使用量にはカウントされません。これは、検証可能な情報を提供する費用対効果の高い方法です。

エラー処理:
Web検索プロセス中にエラーが発生した場合、web_search_tool_resultブロックには結果の代わりにエラーオブジェクトが含まれます。

{
  "type": "web_search_tool_result",
  "tool_use_id": "servertoolu_a93jad",
  "content": {
    "type": "web_search_tool_result_error",
    "error_code": "max_uses_exceeded" // Example error
  }
}

一般的なエラーコードには以下が含まれます:

  • too_many_requests:検索のレート制限を超過しました。
  • invalid_input:検索クエリパラメータに問題があります(例:不正なドメインフィルター)。
  • max_uses_exceeded:Claudeがmax_usesパラメータで許可されているよりも多くの検索を実行しようとしました。
  • query_too_long:Claudeによって生成された検索クエリが長すぎました。
  • unavailable:検索サービス内で内部エラーが発生しました。

pause_turn 停止理由:
複数の検索を含む可能性のある長い実行時間のリクエストの場合、API応答にはpause_turnstop_reasonが含まれることがあります。これは、APIがターンを一時停止したことを示します。後続のリクエストで応答コンテンツ全体を送信することで、ターンを再開し、Claudeが作業を続行できるようにすることができます。


ApidogでClaude Web検索APIをテストする

Apidogは、ClaudeのWeb検索のようなAPIをテストするための堅牢な環境を提供します。そのアプローチ方法を以下に示します:

ApidogのAPI管理ワークスペース

プロジェクトを設定: Apidogで、新しいプロジェクトを作成するか、既存のプロジェクトを使用します。Claude APIエンドポイントを手動で定義するか、Anthropicが提供している場合はOpenAPI仕様をインポートできます。

Apidogで新しいAPIプロジェクトを作成する

リクエストを定義:

  • 「Request」または「Design」モードに移動します。新しいAPIリクエストを作成します。
  • Method: HTTPメソッドをPOSTに設定します。
  • URL: Claude Messages APIエンドポイントを入力します(例:https://api.anthropic.com/v1/messages)。
  • Headers: 必要なヘッダーを追加します:
  • x-api-key:あなたのAnthropic APIキー。
  • anthropic-version:必要なAPIバージョン(例:2023-06-01)。
  • content-typeapplication/json
Apidogでエンドポイントテストの認証を設定する
Apidogでエンドポイントテストの認証を追加する

リクエストボディを構築:

  • 「Body」タブ(「raw」を選択し、「JSON」を選択)で、JSONペイロードを入力します。これには、modelmax_tokensmessages配列(ユーザーロールとコンテンツを含む)、およびweb_searchツールを指定するtools配列が含まれます。
Apidogでエンドポイントリクエストボディを設定する

送信と検査: 「Send」をクリックします。Apidogは応答を表示し、ステータスコード、ヘッダー、ボディ(ClaudeからのWeb検索結果や引用を含む)を検査できます。

Apidogでエンドポイントリクエストを送信する

アサーション(オプション): Apidogのアサーション機能を使用して、web_search_tool_resultブロックの存在や特定の引用詳細など、応答要素を自動的に検証します。

Apidogでのこの合理化されたプロセスは、Claude Web検索APIの機能を迅速に反復および確認するのに役立ちます。

💡
美しいAPIドキュメントを生成する優れたAPIテストツールをお探しですか?

最大限の生産性で開発チームが協力して作業できる統合されたオールインワンプラットフォームをお探しですか?

Apidogはあなたのすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
button

Claude Web検索APIの高度な機能とベストプラクティス

基本的な機能を超えて、ClaudeのWeb検索APIはパフォーマンス、コスト、およびユーザーエクスペリエンスを最適化するための機能を提供します。

プロンプトキャッシング:

  • Web検索はAnthropicのプロンプトキャッシング機能と統合されています。
  • リクエスト(特に複数ターンの会話)にcache_controlブレークポイントを戦略的に配置することで、Web検索の結果をキャッシュできます。
  • たとえば、web_search_tool_resultを受け取った後、それをメッセージ履歴に追加し、cache_control: {"type": "ephemeral"}を含む新しいユーザーメッセージを追加すると、後続の呼び出しでキャッシュされた検索結果を再利用でき、キャッシュされた部分の遅延とトークンコストを削減しつつ、必要に応じて新しい検索を許可できます。

ストリーミング:

  • APIリクエストでストリーミングが有効になっている場合、Web検索プロセスに関連するイベントをリアルタイムで受信します。
  • これには、Claudeが検索を決定したときのcontent_block_startイベント、検索クエリがストリームされるときのcontent_block_delta、検索実行中の自然な一時停止、そして検索結果(web_search_tool_result)がストリームバックされるときのさらなるイベントが含まれます。
  • ストリーミングは、ユーザーがAIが情報を取得するために積極的に作業していることを確認できるため、より応答性の高いユーザーエクスペリエンスを提供します。

バッチリクエスト:

  • Web検索ツールは、Messages Batches APIへのリクエストに含めることができます。これは、Web検索が必要な複数のクエリを非同期のバッチで処理するのに役立ちます。
  • Batches API経由でのWeb検索の料金は、通常のMessages APIリクエストと同じです。

信頼と制御による構築:

  • 引用を活用:常にUIを設計して、Claudeが提供する引用を表示するようにしてください。この透明性はユーザーの信頼の鍵であり、ユーザーが情報を検証できるようにします。
  • ドメインフィルタリングを使用:情報源の信頼性が最重要視されるアプリケーション(例:金融または医療アドバイス)では、allowed_domainsを使用して検索を信頼できる情報源に制限します。blocked_domainsを使用して、不適切または不要なコンテンツへのアクセスを防ぎます。
  • 組織レベルの設定:管理者が組織レベルでWeb検索を有効または無効にできることを覚えておいてください。これは包括的な制御メカニズムを提供します。

コスト管理:

  • Web検索の使用量は、トークン使用量とは別に請求されます。最新の情報によると、コストは検索1,000回あたり10ドルです。検索結果に基づいてClaudeによって生成されたコンテンツの標準トークンコストは引き続き適用されます。
  • 各Web検索の呼び出しは、返される結果の数に関係なく、1回の使用としてカウントされます。検索試行中のエラーは通常請求されません。
  • 特にClaudeが複数の検索を実行する可能性のあるエージェント的なシナリオでは、max_usesパラメータを慎重に使用して、ユーザーのクエリあたりの潜在的な検索数を制御します。

結論

ClaudeのWeb検索APIは、LLMをより実用的、信頼性、そしてインテリジェントにするための重要な一歩を表しています。静的なトレーニングデータの制約から解放されることで、Claudeは今日の世界を反映した会話に参加し、コンテンツを生成できるようになりました。開発者にとって、これは、単にスマートであるだけでなく、情報の動的な性質に真に追いつくことができる、より強力で正確で信頼できるAIアプリケーションを構築する能力を意味します。

LLMが進化し続けるにつれて、Web検索のような統合ツールはますます標準になり、これらのモデルを印象的な知識リポジトリから、情報発見と問題解決における動的でインタラクティブなパートナーに変革します。ClaudeのWeb検索APIの機能を理解し活用することで、開発者はこのエキサイティングな進化の最前線に立つことができ、スマートであるだけでなく、Webの脈動によって継続的に情報を提供されるAIソリューションを作成できます。

💡
美しいAPIドキュメントを生成する優れたAPIテストツールをお探しですか?

最大限の生産性で開発チームが協力して作業できる統合されたオールインワンプラットフォームをお探しですか?

Apidogはあなたのすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
button