Anthropic | Web Search

The Web Search tool enables Claude to search the web for real-time information during a conversation. This is a built-in server-side tool that Anthropic hosts and executes automatically.

Simple Example

Use the convenience method to create a message with web search enabled.


Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'API_KEY';
WriteLn(Anthropic._CreateMessageWithWebSearch('claude-sonnet-4-20250514',
  'What are the latest news about Delphi programming?'));

Advanced Example

Use the typed classes for full control over the web search tool parameters such as MaxUses.


Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'API_KEY';

oRequest := TsgcAnthropicClass_Request_Messages.Create;
Try
  oRequest.Model := 'claude-sonnet-4-20250514';
  oRequest.MaxTokens := 4096;

  // Add web search tool
  oTool := TsgcAnthropicClass_Request_Tool.Create;
  oTool.ToolType := 'web_search_20250305';
  oTool.Name := 'web_search';
  oTool.MaxUses := 5;  // Max 5 searches per request
  oTools := oRequest.Tools;
  SetLength(oTools, 1);
  oTools[0] := oTool;
  oRequest.Tools := oTools;

  oMessage := TsgcAnthropicClass_Request_Message.Create;
  oMessage.Role := 'user';
  oMessage.Content := 'Find the current price of Bitcoin.';
  oMessages := oRequest.Messages;
  SetLength(oMessages, 1);
  oMessages[0] := oMessage;
  oRequest.Messages := oMessages;

  oResponse := Anthropic.CreateMessage(oRequest);
  Try
    for i := 0 to Length(oResponse.Content) - 1 do
    begin
      if oResponse.Content[i].ContentType = 'text' then
        WriteLn(oResponse.Content[i].Text);
    end;
  Finally
    oResponse.Free;
  End;
Finally
  oTool.Free;
  oMessage.Free;
  oRequest.Free;
End;

Built-in Tool Types

Response Content Types

When built-in tools are used, the response may contain additional content block types: