Lo strumento di ricerca web offre a Claude accesso diretto ai contenuti web in tempo reale, consentendogli di rispondere a domande con informazioni aggiornate che vanno oltre la sua data limite di conoscenza. La risposta include citazioni per le fonti tratte dai risultati di ricerca.
La versione più recente dello strumento di ricerca web (web_search_20260318) supporta il filtraggio dinamico con Claude Fable 5, Claude Opus 4.8, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5, e Claude Sonnet 4.6. Claude può scrivere ed eseguire codice per filtrare i risultati di ricerca prima che raggiungano la "context window" (finestra di contesto), mantenendo solo le informazioni rilevanti e scartando il resto. Questo porta a risposte più accurate riducendo al contempo il consumo di token. web_search_20260318 aggiunge anche il controllo di inclusione della risposta per i flussi di lavoro agentici. Le versioni precedenti (web_search_20260209 solo per il filtraggio dinamico, web_search_20250305 per la ricerca di base) rimangono disponibili.
Per Claude Mythos Preview, la ricerca web è supportata sull'API di Claude, Google Cloud e Microsoft Foundry. La ricerca web non è disponibile per Mythos Preview su Amazon Bedrock o Claude Platform su AWS.
Per l'idoneità alla Zero Data Retention e la soluzione alternativa allowed_callers, consulta Strumenti server.
Per il supporto dei modelli, consulta il Riferimento degli strumenti.
Quando aggiungi lo strumento di ricerca web alla tua richiesta API:
Claude effettua una ricerca quando la richiesta dipende da informazioni attuali, in evoluzione o esterne ai suoi dati di addestramento:
Claude risponde direttamente senza effettuare ricerche quando la richiesta si basa su conoscenze stabili:
L'attivazione è orientabile tramite il tuo prompt di sistema: puoi incoraggiare Claude a effettuare ricerche più prontamente o a preferire risposte dirette. Per un vincolo rigido, usa max_uses per limitare il numero di ricerche per ogni richiesta.
La ricerca web è un'attività ad alto consumo di token. Con la ricerca web di base, Claude deve caricare i risultati di ricerca nel contesto, recuperare l'HTML completo da più siti web e ragionare su tutto questo prima di arrivare a una risposta. Spesso, gran parte di questo contenuto è irrilevante, il che può degradare la qualità della risposta.
Con web_search_20260209 o versioni successive, Claude può scrivere ed eseguire codice per post-elaborare i risultati delle query. Invece di ragionare su file HTML completi, Claude filtra dinamicamente i risultati di ricerca prima di caricarli nel contesto, mantenendo solo ciò che è rilevante e scartando il resto.
Il filtraggio dinamico è particolarmente efficace per:
Il filtraggio dinamico richiede che lo strumento di esecuzione del codice sia abilitato. Lo strumento di ricerca web (con e senza filtraggio dinamico) è disponibile sull'API di Claude, Claude Platform su AWS e Microsoft Foundry. Su Microsoft Foundry, la ricerca web richiede un deployment Hosted on Anthropic. Su Google Cloud, è disponibile solo lo strumento di ricerca web di base (senza filtraggio dinamico). La ricerca web non è disponibile su Amazon Bedrock.
Per abilitare il filtraggio dinamico, usa web_search_20260209 o qualsiasi versione successiva. Gli esempi seguenti utilizzano web_search_20260209:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio.",
}
],
tools=[{"type": "web_search_20260209", "name": "web_search"}],
)
print(response)L'amministratore della tua organizzazione deve abilitare la ricerca web nella Claude Console.
Fornisci lo strumento di ricerca web nella tua richiesta API:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "What's the weather in NYC?"}],
tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 5}],
)
print(response)Lo strumento di ricerca web supporta i seguenti parametri:
{
"type": "web_search_20250305",
"name": "web_search",
// Optional: Limit the number of searches per request
"max_uses": 5,
// Optional: Only include results from these domains
"allowed_domains": ["example.com", "trusteddomain.org"],
// Optional: Never include results from these domains
"blocked_domains": ["untrustedsource.com"],
// Optional: Localize search results
"user_location": {
"type": "approximate",
"city": "San Francisco",
"region": "California",
"country": "US",
"timezone": "America/Los_Angeles"
}
}Il parametro max_uses limita il numero di ricerche eseguite. Se Claude tenta più ricerche di quelle consentite, il web_search_tool_result è un errore con il codice di errore max_uses_exceeded.
Le query fattuali semplici utilizzano tipicamente 1–3 ricerche; la ricerca comparativa o su più entità può utilizzarne 10 o più. Per le ricerche sensibili alla latenza, max_uses: 3 limita i costi troncando raramente. Per gli agenti di ricerca, imposta max_uses a 15–20 o omettilo del tutto.
Per il filtraggio dei domini con allowed_domains e blocked_domains, consulta Strumenti server.
Il parametro user_location ti consente di localizzare i risultati di ricerca in base alla posizione di un utente.
type: Il tipo di posizione (deve essere approximate)city: Il nome della cittàregion: La regione o lo statocountry: Il paesetimezone: L'ID del fuso orario IANA.Richiede web_search_20260318 o versioni successive.
Il parametro response_inclusion controlla come i blocchi dei risultati di ricerca appaiono nella risposta dell'API quando il risultato è stato consumato da una chiamata di esecuzione del codice completata nello stesso turno. Imposta "response_inclusion": "excluded" per eliminare completamente dalla risposta quelle coppie annidate di server_tool_use e blocchi di risultato, riducendo i costi dei token di output per i flussi di lavoro agentici che non hanno bisogno di restituire al client il contenuto grezzo della ricerca. Il valore predefinito è "full". I risultati provenienti da chiamate dirette, o da chiamate di esecuzione del codice che si sono interrotte prima del completamento, vengono sempre restituiti per intero in modo da poter essere rinviati nel turno successivo.
{
"tools": [
{
"type": "web_search_20260318",
"name": "web_search",
"response_inclusion": "excluded"
}
]
}Ecco un esempio di struttura della risposta:
{
"role": "assistant",
"content": [
// 1. Claude's decision to search
{
"type": "text",
"text": "I'll search for when Claude Shannon was born."
},
// 2. The search query used
{
"type": "server_tool_use",
"id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
"name": "web_search",
"input": {
"query": "claude shannon birth date"
}
},
// 3. Search results
{
"type": "web_search_tool_result",
"tool_use_id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
"content": [
{
"type": "web_search_result",
"url": "https://en.wikipedia.org/wiki/Claude_Shannon",
"title": "Claude Shannon - Wikipedia",
"encrypted_content": "EqgfCioIARgBIiQ3YTAwMjY1Mi1mZjM5LTQ1NGUtODgxNC1kNjNjNTk1ZWI3Y...",
"page_age": "April 30, 2025"
}
]
},
{
"text": "Based on the search results, ",
"type": "text"
},
// 4. Claude's response with citations
{
"text": "Claude Shannon was born on April 30, 1916, in Petoskey, Michigan",
"type": "text",
"citations": [
{
"type": "web_search_result_location",
"url": "https://en.wikipedia.org/wiki/Claude_Shannon",
"title": "Claude Shannon - Wikipedia",
"encrypted_index": "Eo8BCioIAhgBIiQyYjQ0OWJmZi1lNm..",
"cited_text": "Claude Elwood Shannon (April 30, 1916 – February 24, 2001) was an American mathematician, electrical engineer, computer scientist, cryptographer and i..."
}
]
}
],
"id": "msg_a930390d3a",
"usage": {
"input_tokens": 6039,
"output_tokens": 931,
"server_tool_use": {
"web_search_requests": 1
}
},
"stop_reason": "end_turn"
}I risultati di ricerca includono:
url: L'URL della pagina sorgentetitle: Il titolo della pagina sorgentepage_age: Quando il sito è stato aggiornato l'ultima voltaencrypted_content: Contenuto crittografato che deve essere restituito nelle conversazioni multi-turno per le citazioniLe citazioni sono sempre abilitate per la ricerca web, e ogni web_search_result_location include:
url: L'URL della fonte citatatitle: Il titolo della fonte citataencrypted_index: Un riferimento che deve essere restituito per le conversazioni multi-turno.cited_text: Fino a 150 caratteri del contenuto citatoI campi di citazione della ricerca web cited_text, title e url non vengono conteggiati nell'utilizzo dei token di input o output.
Quando si mostrano gli output dell'API direttamente agli utenti finali, le citazioni alla fonte originale devono essere incluse. Se stai apportando modifiche agli output dell'API, incluso rielaborarli e/o combinarli con il tuo materiale prima di mostrarli agli utenti finali, mostra le citazioni come appropriato in base alla consultazione con il tuo team legale.
Quando lo strumento di ricerca web incontra un errore (ad esempio il raggiungimento dei limiti di velocità), l'API di Claude restituisce comunque una risposta 200 (successo). L'errore è rappresentato all'interno del corpo della risposta utilizzando la seguente struttura:
{
"type": "web_search_tool_result",
"tool_use_id": "srvtoolu_a93jad",
"content": {
"type": "web_search_tool_result_error",
"error_code": "max_uses_exceeded"
}
}Questi sono i possibili codici di errore:
too_many_requests: Limite di velocità superatoinvalid_input: Parametro della query di ricerca non validomax_uses_exceeded: Numero massimo di utilizzi dello strumento di ricerca web superatoquery_too_long: La query supera la lunghezza massimaunavailable: Si è verificato un errore internopause_turnPer continuare dopo uno stop reason pause_turn, consulta Strumenti server.
Per la memorizzazione nella cache delle definizioni degli strumenti tra i turni, consulta Uso degli strumenti con la cache dei prompt.
Con lo streaming abilitato, riceverai eventi di ricerca come parte dello stream. Ci sarà una pausa mentre la ricerca viene eseguita:
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 search
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_search"}}
// Search query streamed
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"query\":\"latest quantum computing breakthroughs 2025\"}"}}
// Pause while search executes
// Search results streamed
event: content_block_start
data: {"type": "content_block_start", "index": 2, "content_block": {"type": "web_search_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": [{"type": "web_search_result", "title": "Quantum Computing Breakthroughs in 2025", "url": "https://example.com"}]}}
// Claude's response with citations (omitted in this example)Puoi includere lo strumento di ricerca web nella Messages Batches API. Le chiamate allo strumento di ricerca web tramite la Messages Batches API hanno lo stesso prezzo di quelle nelle normali richieste della Messages API.
Per proteggere la capacità condivisa, la Batches API limita le richieste di ricerca web per organizzazione, quindi batch di grandi dimensioni con molte ricerche potrebbero richiedere più tempo per essere completati. Puoi vedere il limite di velocità della ricerca web della tua organizzazione nella pagina Limiti nella Claude Console; contatta il team commerciale da quella pagina per richiedere un limite più alto. I carichi di lavoro tipici di ricerca web in batch includono l'arricchimento di record con dati web attuali, la ricerca su un ampio elenco di entità e l'ancoraggio o la verifica di un corpus di contenuti rispetto a fonti live.
L'utilizzo della ricerca web viene addebitato in aggiunta all'utilizzo dei token:
{
"usage": {
"input_tokens": 105,
"output_tokens": 6039,
"cache_read_input_tokens": 7123,
"cache_creation_input_tokens": 7345,
"server_tool_use": {
"web_search_requests": 1
}
}
}La ricerca web è disponibile sull'API di Claude al costo di 10 $ per 1.000 ricerche, oltre ai costi standard dei token per i contenuti generati dalla ricerca. I risultati della ricerca web recuperati nel corso di una conversazione vengono conteggiati come token di input, sia nelle iterazioni di ricerca eseguite durante un singolo turno sia nei turni successivi della conversazione.
Ogni ricerca web viene conteggiata come un singolo utilizzo, indipendentemente dal numero di risultati restituiti. Se si verifica un errore durante la ricerca web, questa non verrà addebitata.
Meccanismi condivisi per gli strumenti eseguiti da Anthropic.
Directory di tutti gli strumenti forniti da Anthropic.
Was this page helpful?