Senza KYC — nessun documento, nessun selfie, nessun file. Paghi in criptovalute: BTC, USDT, USDC, ETH, SOL, LTC
Lingua: Italiano
Ottieni una chiave API

Caso d'uso · agenti AI · nome dello strumento web_search

Uno strumento di ricerca web per agenti AI che riporta il testo delle pagine

Un agente che sa cercare ma non leggere tira a indovinare dagli snippet. Dagli un unico strumento che fa entrambe le cose: cerca sul web in tempo reale e restituisce le prime pagine in Markdown pulito, numerate così che il modello possa citarle.

Ultimo aggiornamento: · 8 min di lettura

Risposta rapida

Come do a un agente AI uno strumento di ricerca web che restituisce il contenuto delle pagine?

Incastona un'API di ricerca web come tool che riceve una query e restituisce fonti numerate con il testo delle loro pagine. LLMWebSearch lo fa in una sola chiamata: risultati ordinati da una ricerca in tempo reale, con le prime 3 pagine lette in Markdown, per un credito. I prezzi partono da 9,25 USD per 5.000 ricerche e scendono a 1,20 USD/1K ricerche. Senza KYC; paghi in criptovalute.

LLMWebSearch come strumento per agenti

Strumentoweb_search(query, recent) che chiama POST https://llmwebsearch.com/api/v1/search
RestituisceFino a 20 risultati classificati; i primi 3 con il loro testo di pagina in Markdown
Controllo della lunghezzamax_chars per pagina, read per il numero di pagine, max_results per l'elenco
CostoUn credito paga una ricerca: fino a 20 risultati classificati, con le pagine dei primi 3 lette e restituite come Markdown. Leggere da 4 a 10 pagine costa 2 crediti. Una chiamata che termina in errore non costa nulla
FiltriScegli il paese e la lingua dei risultati, un intervallo di tempo (ultimo giorno, settimana, mese o anno), risultati web o news, e i domini da includere o escludere
Integrazioni pronte all'usoserver MCP, OpenAI function calling, LangChain e LlamaIndex, n8n, OpenClaw

Perché un agente ha bisogno del testo della pagina e non solo degli snippet?

Perché la risposta raramente è nello snippet. Una pagina di risultati offre un titolo e una o due righe scelte dal motore di ricerca. Il numero, la data o la regola che il tuo utente ha chiesto si trovano più in basso nella pagina.

Un agente che vede solo gli snippet ha due brutte opzioni. Può rispondere da un frammento e rischiare di sbagliare, oppure può chiamare un secondo tool per recuperare ogni pagina. La seconda opzione raddoppia i round trip e le definizioni dei tool.

Con LLMWebSearch, le prime pagine arrivano già lette. Navigazione, annunci e banner dei cookie vengono rimossi, così il modello spende i suoi token sul contenuto. I risultati rimanenti mantengono i loro snippet, che aiutano il modello a decidere se cercare di nuovo.

Come va definito il tool di ricerca?

Tieni lo schema piccolo: un solo query obbligatorio e, al massimo, uno o due switch. I modelli chiamano i tool semplici in modo più affidabile. L'esempio qui sotto espone un flag recent che corrisponde a time_range=month; tutto il resto è fisso nel tuo codice.

La funzione restituisce testo semplice, non JSON. Ogni fonte inizia con un numero, un titolo e un URL, seguiti dal suo Markdown. Questa struttura rende naturali per il modello citazioni come [2].

Se il tuo agente ha già un tool chiamato web_search, come fanno Claude Code e OpenClaw, dai al tuo un altro nome, ad esempio search_web. Due tool con lo stesso nome confondono il modello.

Python: un tool web_search per il function calling in stile OpenAI
import json
import os

import requests

API = "https://llmwebsearch.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]}

# Tool definition in the OpenAI function-calling format; most agent frameworks accept the same JSON schema.
WEB_SEARCH_TOOL = {
    "type": "function",
    "function": {
        "name": "web_search",
        "description": "Search the live web. Returns numbered sources; the first ones include the page text in Markdown.",
        "parameters": {
            "type": "object",
            "properties": {
                "query": {"type": "string", "description": "A short search query, 3 to 8 words"},
                "recent": {"type": "boolean", "description": "True to keep only results from the past month"},
            },
            "required": ["query"],
        },
    },
}


def web_search(query, recent=False, read=3, max_chars=4000):
    """Run one search (1 credit with read <= 3) and return compact text the model can cite."""
    body = {"q": query, "max_results": 5, "read": read, "max_chars": max_chars}
    if recent:
        body["time_range"] = "month"
    resp = requests.post(API, headers=HEADERS, json=body, timeout=60)
    resp.raise_for_status()
    lines = []
    for r in resp.json()["results"]:
        lines.append(f"[{r['position']}] {r['title']} — {r['url']}")
        if r.get("content_status") == "ok":
            lines.append(r["content"])
        else:
            lines.append(r.get("snippet", ""))
        lines.append("")
    return "\n".join(lines)


def run_tool_call(call):
    """Execute a tool call returned by the model and give back the text for the tool message."""
    args = json.loads(call["function"]["arguments"])
    return web_search(args["query"], recent=args.get("recent", False))

Quando dovrebbe cercare un agente, e quanto spesso?

Cerca quando la risposta dipende da fatti che cambiano o che il modello non può conoscere. Prezzi, versioni, leggi, orari ed eventi recenti rientrano nella categoria. Definizioni e conoscenze stabili di solito no.

Scrivi questa regola nel system prompt e aggiungi un budget. Tre abitudini aiutano:

  • Pianifica prima di cercare. Chiedi al modello di scrivere prima le sue query. Due query precise battono cinque vaghe.
  • Limita le chiamate. Consenti, per esempio, quattro ricerche per turno dell'utente. Alza il limite solo per le attività di ricerca.
  • Fermati quando le fonti concordano. Se tre pagine indipendenti dicono la stessa cosa, l'agente può rispondere.

Come tengo sotto controllo la context window?

Tre parametri decidono quanto testo arriva al modello. read imposta quante pagine vengono lette, da 0 a 10. max_chars limita ogni pagina, da 500 a 50.000 caratteri. max_results imposta quanti risultati vengono elencati, da 1 a 20.

Per un agente di chat, read=3 con max_chars=4000 restituisce circa 12.000 caratteri di testo di pagina per ricerca. Questo lascia spazio a diverse ricerche in una sola conversazione. Per un lavoro di ricerca che riassume man mano, pagine più lunghe vanno bene.

Il campo word_count ti dice quanto era lunga la pagina intera prima del taglio. L'agente può usarlo per decidere se recuperare altro con l'endpoint extract.

Cosa succede quando una pagina non può essere letta?

Il risultato torna comunque, con titolo, URL e snippet, ma senza contenuto. Un campo content_status spiega il motivo.

  • blocked_by_robots: il robots.txt del sito non consente il nostro reader.
  • blocked_by_site_policy: Un sito che imposta Content-Signal: ai-input=no nel suo robots.txt tiene le sue pagine fuori dal contenuto dei tuoi risultati.
  • target_refused: il sito ha risposto con un rifiuto; il suo stato è in target_status.
  • fetch_failed o fetch_timeout: la pagina non si è caricata in tempo.

Quando un sito respinge il nostro reader, il risultato torna senza contenuto e con lo status del sito: non risolviamo mai CAPTCHA, non accediamo agli account e non aggiriamo un blocco o un paywall. Di' all'agente di usare lo snippet, o un'altra fonte, quando una pagina torna vuota. La ricerca in sé costa comunque un credito, qualunque cosa sia successa a ciascuna pagina.

Perché non usare il tool di ricerca integrato nel modello?

I tool integrati sono comodi ma danno meno controllo. Al 22 ottobre 2026, il tool web_search di OpenAI costa $10 per 1.000 chiamate più il contenuto di ricerca fatturato come token di input. Anche la ricerca web di Anthropic Claude costa $10 per 1.000 ricerche più i costi dei token. Il grounding di Gemini 3 include 5.000 ricerche gratuite al mese nel piano a pagamento, poi costa $14 per 1.000.

Questi tool restituiscono per lo più una risposta scritta con citazioni, non le pagine grezze. Inoltre legano la tua ricerca a un solo fornitore di modello. Un tool autonomo funziona con qualsiasi modello e ti lascia impostare la lunghezza di ogni pagina. Il confronto dei tool integrati ha la tabella completa.

Quanto costa far girare un agente su LLMWebSearch?

Un credito per ricerca quando read è 3 o meno. Un assistente usato da un team, che risponde a 100 domande al giorno con 4 ricerche ciascuna, esegue circa 12.000 ricerche al mese. 25.000 ricerche a 41,25 USD copre quel mese e gran parte del successivo.

Un agente di coding usato da un solo sviluppatore può cercare 20 volte al giorno, ovvero circa 600 volte al mese. 5.000 ricerche a 9,25 USD allora dura diversi mesi, perché i crediti non scadono mai. La guida ai costi mostra i calcoli per carichi di lavoro più grandi.

Quale pack è adatto a un agente?

Fai il prototipo con 5.000 ricerche; passa a 25.000 ricerche o 100.000 ricerche quando l'agente è in uso quotidiano.

Prova

5.000 ricerche

9,25 USD

1,85 USD/1K ricerche

  • Integralo in un agente
  • Stessa API del pack più grande
  • I crediti non scadono mai
Scegli 5.000 ricerche

Builder

25.000 ricerche

41,25 USD

1,65 USD/1K ricerche

  • Un agente di coding o un assistente di ricerca
  • Pronto per MCP, LangChain e n8n
  • I crediti non scadono mai
Scegli 25.000 ricerche

Produzione

100.000 ricerche

145 USD

1,45 USD/1K ricerche

  • Agenti in produzione
  • Rate limit più alto su richiesta
  • I crediti non scadono mai
Scegli 100.000 ricerche

In ogni piano: Prime 3 pagine lette come Markdown · Filtri per paese, lingua, tempo e dominio · Chiamate non riuscite non addebitate · I crediti non scadono mai

Agenti AI: domande frequenti

Posso aggiungere LLMWebSearch a Claude Desktop, Cursor o Claude Code?

Sì, tramite un piccolo server MCP che espone la ricerca come tool. La pagina MCP ha il codice e la configurazione del client.

Il tool funziona con modelli diversi da quelli di OpenAI?

Sì. Lo schema qui sopra è JSON Schema puro, che Anthropic, Google, Mistral e i framework open source accettano con piccole modifiche. Il tool chiama solo il nostro endpoint HTTPS.

Come faccio a impedire a un agente di cercare troppo?

Conta le chiamate nel wrapper del tuo tool e restituisci un breve messaggio quando il budget è esaurito. Metti il budget anche nel system prompt, così il modello lo tiene presente.

Il testo di una pagina può dare istruzioni al mio agente?

Può provarci. Tratta il testo della pagina come dati: di' al modello nel system prompt di ignorare le istruzioni trovate dentro le fonti e non lasciare mai che una fonte scateni azioni da sola.

Fonti (3)
  1. Prezzi API (tool di ricerca web) — OpenAI (read 2026-10-22)
  2. Prezzi (tool di ricerca web) — Anthropic (read 2026-10-22)
  3. Prezzi della Gemini Developer API — Google (read 2026-10-22)

Da 1,20 USD/1K ricerche · senza KYC

Ottieni una chiave API