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

> Dai a un agente AI uno strumento di ricerca web che restituisce risultati con le prime pagine in Markdown. Schema, budget e costi. Senza KYC, criptovalute.

- URL: https://llmwebsearch.com/it/use-cases/ai-agents/
- Ultimo aggiornamento: 2026-10-22
- Editore: LLMWebSearch (https://llmwebsearch.com)

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.

**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

| Attributo | Valore |
| --- | --- |
| Strumento | `web_search(query, recent)` che chiama `POST https://llmwebsearch.com/api/v1/search` |
| Restituisce | Fino a 20 risultati classificati; i primi 3 con il loro testo di pagina in Markdown |
| Controllo della lunghezza | `max_chars` per pagina, `read` per il numero di pagine, `max_results` per l'elenco |
| Costo | Un 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 |
| Filtri | Scegli 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'uso | [server MCP](https://llmwebsearch.com/it/docs/mcp/), [OpenAI function calling](https://llmwebsearch.com/it/docs/openai/), [LangChain e LlamaIndex](https://llmwebsearch.com/it/docs/langchain/), [n8n](https://llmwebsearch.com/it/docs/n8n/), [OpenClaw](https://llmwebsearch.com/it/docs/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*

```python
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](https://llmwebsearch.com/it/docs/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](https://llmwebsearch.com/it/compare/built-in-web-search-tools/) 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](https://llmwebsearch.com/it/guides/ai-agent-web-search-cost/) 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.

| Piano | Quantità | Prezzo | Prezzo per unità |
| --- | --- | --- | --- |
| Prova | 5.000 ricerche | 9,25 USD | 1,85 USD/1K ricerche |
| Builder | 25.000 ricerche | 41,25 USD | 1,65 USD/1K ricerche |
| Produzione | 100.000 ricerche | 145 USD | 1,45 USD/1K 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

**Prima di pagare**

- Ricarica minima 25 USD. Ricarica una volta in criptovalute, poi acquista qualsiasi piano dal tuo saldo.
- Il denaro sul tuo saldo non scade e acquista crediti di ricerca quando vuoi. Quando un pack costa meno del top-up minimo, la parte che hai pagato solo per raggiungere quel minimo ti viene restituita su richiesta entro 30 giorni dal pagamento, in USDT o USDC, purché sia ancora non spesa. Il resto del saldo non viene restituito salvo che la legge lo richieda.
- Accreditato non appena il tuo pagamento è verificato sulla blockchain. Tempo abituale di conferma della rete: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min

## 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](https://llmwebsearch.com/it/docs/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

1. [Prezzi API (tool di ricerca web)](https://developers.openai.com/api/docs/pricing) — OpenAI (read 2026-10-22)
2. [Prezzi (tool di ricerca web)](https://platform.claude.com/docs/en/about-claude/pricing) — Anthropic (read 2026-10-22)
3. [Prezzi della Gemini Developer API](https://ai.google.dev/gemini-api/docs/pricing) — Google (read 2026-10-22)

---

LLMWebSearch: LLMWebSearch è un'API di ricerca web per agenti AI che restituisce risultati classificati con il contenuto delle pagine principali in Markdown, pagata in criptovalute senza caricare documenti d'identità. I crediti prepagati da 1,20 USD/1K ricerche non scadono mai. Senza KYC — niente documento, niente selfie, niente documenti. Paghi in criptovalute.
