Novità Registrati gratis, 10 chiamate le offriamo noi. Fino a $1, senza carta.

Web Search

Consente a Claude di cercare sul web in tempo reale mentre risponde alle richieste. Utile per ultime notizie, prezzi, versioni, calendari e fatti avvenuti dopo il cutoff del modello.

Avvio rapido

Aggiungi una voce all'array tools di una richiesta /v1/messages. Il modello decide autonomamente se cercare, cosa cercare e quante volte:

curl https://synthorai.io/v1/messages \
  -H "x-api-key: $YOUR_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "tools": [{"type": "synthorai:web_search"}],
    "messages": [
      {"role": "user", "content": "What is the latest Claude model?"}
    ]
  }'

La ricerca web viene attivata solo quando includi esplicitamente synthorai:web_search in tools. Le richieste senza di essa sono richieste ordinarie - nessun impatto su comportamento o costi.

Parametri opzionali

Tutti i campi della voce synthorai:web_search sono opzionali:

ParametroDescrizione
max_usesNumero massimo di cicli di ricerca per richiesta (controllo dei costi). Ometti per usare il valore predefinito della piattaforma.
allowed_domainsCerca solo in questi domini (es. ["arxiv.org","github.com"]).
blocked_domainsEscludi questi domini dai risultati di ricerca.
{
  "type": "synthorai:web_search",
  "max_uses": 3,
  "allowed_domains": ["anthropic.com", "openai.com"]
}

Struttura della risposta

Una risposta con ricerca include i seguenti tipi di blocco in content, in ordine:

  • server_tool_use - la query di ricerca emessa dal modello.
  • web_search_tool_result - i risultati di ricerca (titolo, URL, snippet).
  • text - la risposta finale basata sui risultati, con citazioni delle fonti.

L'oggetto usage include un campo aggiuntivo che indica quante ricerche sono state eseguite:

"usage": {
  "input_tokens": 14577,
  "output_tokens": 331,
  "server_tool_use": { "web_search_requests": 2 }
}

Fatturazione

VocePrezzo
Tariffa di ricerca$0.01 / ricerca
Token dei risultati di ricercaPrezzo input standard del modello utilizzato

La fatturazione ha due parti: $0,01 per ogni ricerca eseguita, più il contenuto web restituito fatturato come token di input (circa 7.000-14.000 token per ricerca). Una richiesta con ricerca costa sensibilmente più di una semplice - usa max_uses per limitare il numero di ricerche.

Tre modi per controllare i costi:

  • Impostare max_uses per limitare il numero di cicli di ricerca.
  • Usare il prompt caching (i risultati vengono messi in cache con cache_control - risparmio significativo nelle conversazioni multi-turno).
  • Usare allowed_domains per restringere l'ambito di ricerca.

Benchmark di riferimento (claude-sonnet-4-6, senza cache):

  • Leggero (2 ricerche, verifica fatti): ≈ $0,07 / richiesta
  • Intenso (8 ricerche, ricerca approfondita): ≈ $0,33 / richiesta

Utilizzo con l'endpoint compatibile OpenAI

synthorai:web_search funziona anche su /v1/chat/completions e /v1/responses: dichiarate la stessa voce che invereste a /v1/messages. Cosa restituisce ciascun endpoint: sui due endpoint compatibili con OpenAI le fonti recuperate tornano come annotations di OpenAI (forma url_citation) - sul messaggio per chat completions, sull'elemento output_text per responses; su /v1/messages la stessa ricerca torna come blocchi server_tool_use e web_search_tool_result. Su tutti gli endpoint lo usage riportato copre tutti i round della ricerca: i token fatturati sono quelli che vedete. I canali che fanno da proxy verso OpenRouter possono usare la sintassi dello strumento di ricerca di quell'upstream (es. tools:[{"type":"openrouter:web_search"}]). Il parametro synthorai: è accettato su /v1/messages, /v1/chat/completions e /v1/responses: inviarlo a un endpoint Gemini restituisce un 400 che lo spiega, invece di inoltrare a monte uno strumento che il vostro modello non riconosce. Contattateci e confermeremo l'approccio giusto per la vostra chiave.

Nome dello strumento riservato

Finché dichiari synthorai:web_search, il nome semplice web_search è riservato: dichiarare un tuo strumento con quel nome restituisce un 400 che lo indica. Rinomina il tuo strumento oppure rimuovi il parametro synthorai:. Iniettiamo lo strumento di ricerca esattamente con quel nome, quindi due strumenti omonimi raggiungerebbero il modello e nessuna delle parti saprebbe a chi appartiene la chiamata restituita. Usare quel nome per un tuo strumento senza il parametro synthorai: non è interessato - non iniettiamo nulla, quindi nulla collide.

Domande frequenti

Uso Claude Code / l'SDK Anthropic - posso usarlo?

Sì - usa l'endpoint /v1/messages con synthorai:web_search. Se la tua chiave è associata a un canale di relay in puro formato OpenAI, lo strumento di ricerca nativo potrebbe non funzionare; in tal caso configureremo un canale dedicato per te.

Cosa succede se una ricerca fallisce?

Un ciclo di ricerca fallito non viene fatturato. Il modello riceve il segnale di errore e tenta una query diversa oppure risponde basandosi sulla conoscenza esistente. La richiesta complessiva non genera un errore.

Il modello può cercare senza che io lo richieda?

No. La ricerca web viene attivata solo quando includi esplicitamente synthorai:web_search nell'array tools. Le richieste ordinarie non attivano mai una ricerca web.