# Un outil de recherche web pour agents IA qui rapporte le texte des pages

> Un outil de recherche web pour agent IA renvoie des résultats classés avec les pages lues en Markdown. Schéma, budgets, coûts, sans KYC, en crypto.

- URL: https://llmwebsearch.com/fr/use-cases/ai-agents/
- Dernière mise à jour: 2026-10-22
- Éditeur: LLMWebSearch (https://llmwebsearch.com)

Un agent qui peut chercher mais pas lire devine à partir des extraits. Donnez-lui un seul outil qui fait les deux : il cherche sur le web en direct et renvoie les premières pages en Markdown propre, numérotées pour que le modèle puisse les citer.

**Réponse rapide — Comment donner à un agent IA un outil de recherche web qui renvoie le contenu des pages ?**

Enveloppez une API de recherche web comme un outil qui prend une requête et renvoie des sources numérotées avec le texte de leurs pages. **LLMWebSearch** le fait en un appel : des résultats classés issus d'une recherche en direct, avec les 3 premières pages lues en Markdown, pour un crédit. Les prix commencent à 9,25 $US pour 5 000 requêtes et descendent à 1,20 $US/1K requêtes. Sans KYC ; payez en crypto.

## LLMWebSearch comme outil d'agent

| Attribut | Valeur |
| --- | --- |
| Outil | `web_search(query, recent)` appelant `POST https://llmwebsearch.com/api/v1/search` |
| Renvoie | Jusqu'à 20 résultats classés ; les 3 premiers avec le texte de leur page en Markdown |
| Contrôle de la longueur | `max_chars` par page, `read` pour le nombre de pages, `max_results` pour la liste |
| Coût | Un crédit paie une recherche : jusqu'à 20 résultats classés, avec les pages des 3 premiers lues et renvoyées en Markdown. Lire 4 à 10 pages coûte 2 crédits. Un appel qui se termine sur une erreur ne coûte rien |
| Filtres | Choisissez le pays et la langue des résultats, une plage temporelle (jour, semaine, mois ou année écoulés), des résultats web ou news, et des domaines à inclure ou à exclure |
| Intégrations prêtes à l'emploi | [Serveur MCP](https://llmwebsearch.com/fr/docs/mcp/), [Appel de fonctions OpenAI](https://llmwebsearch.com/fr/docs/openai/), [LangChain et LlamaIndex](https://llmwebsearch.com/fr/docs/langchain/), [n8n](https://llmwebsearch.com/fr/docs/n8n/), [OpenClaw](https://llmwebsearch.com/fr/docs/openclaw/) |

## Pourquoi un agent a-t-il besoin du texte des pages et pas seulement des snippets ?

Parce que la réponse se trouve rarement dans le snippet. Une page de résultats donne un titre et une ou deux lignes choisies par le moteur de recherche. Le chiffre, la date ou la règle que votre utilisateur demande se trouve plus bas dans la page.

Un agent qui ne voit que des snippets a deux mauvaises options. Il peut répondre à partir d'un fragment et risquer de se tromper, ou appeler un second outil pour récupérer chaque page. La seconde option double les allers-retours et les définitions d'outils.

Avec LLMWebSearch, les premières pages arrivent déjà lues. La navigation, les publicités et les bannières de cookies sont supprimées, donc le modèle dépense ses tokens sur le contenu. Les autres résultats conservent leurs snippets, ce qui aide le modèle à décider s'il doit relancer une recherche.

## Comment définir l'outil de recherche ?

Gardez un schéma minimal : un seul `query` requis et, au maximum, un ou deux commutateurs. Les modèles appellent plus fiablement des outils simples. L'exemple ci-dessous expose un flag `recent` qui correspond à `time_range=month` ; tout le reste est fixé dans votre code.

La fonction renvoie du texte brut, pas du JSON. Chaque source commence par un numéro, un titre et une URL, suivis de son Markdown. Cette disposition rend les citations comme [2] naturelles pour le modèle.

Si votre agent embarque déjà un outil nommé `web_search`, comme c'est le cas de Claude Code et OpenClaw, donnez au vôtre un autre nom, par exemple `search_web`. Deux outils portant le même nom perturbent le modèle.

*Python : un outil web_search pour l'appel de fonctions à la 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))
```

## Quand un agent doit-il rechercher, et à quelle fréquence ?

Recherchez lorsque la réponse dépend de faits qui changent ou que le modèle ne peut pas connaître. Les prix, les versions, les lois, les horaires et les événements récents en font partie. Les définitions et les connaissances stables, généralement non.

Écrivez cette règle dans le prompt système, et ajoutez un budget. Trois habitudes aident :

- **Planifier avant de rechercher.** Demandez au modèle d'écrire d'abord ses requêtes. Deux requêtes précises valent mieux que cinq vagues.
- **Plafonner les appels.** Autorisez, par exemple, quatre recherches par tour utilisateur. Ne relevez le plafond que pour les tâches de recherche approfondie.
- **S'arrêter quand les sources concordent.** Si trois pages indépendantes disent la même chose, l'agent peut répondre.

## Comment garder la fenêtre de contexte sous contrôle ?

Trois paramètres décident de la quantité de texte qui atteint le modèle. `read` définit combien de pages sont lues, de 0 à 10. `max_chars` plafonne chaque page, de 500 à 50 000 caractères. `max_results` définit combien de résultats sont listés, de 1 à 20.

Pour un agent de chat, `read=3` avec `max_chars=4000` renvoie environ 12 000 caractères de texte de page par recherche. Cela laisse de la place pour plusieurs recherches dans une même conversation. Pour une tâche de recherche approfondie qui résume au fur et à mesure, des pages plus longues conviennent.

Le champ `word_count` vous indique la longueur de la page complète avant la coupe. L'agent peut s'en servir pour décider s'il doit récupérer davantage avec l'[endpoint extract](https://llmwebsearch.com/fr/docs/extract/).

## Que se passe-t-il quand une page ne peut pas être lue ?

Le résultat revient quand même, avec son titre, son URL et son snippet, mais sans contenu. Un champ `content_status` en indique la raison.

- `blocked_by_robots` : le robots.txt du site n'autorise pas notre lecteur.
- `blocked_by_site_policy` : Un site qui définit Content-Signal: ai-input=no dans son robots.txt garde ses pages hors du contenu de vos résultats.
- `target_refused` : le site a répondu par un refus ; son statut est dans `target_status`.
- `fetch_failed` ou `fetch_timeout` : la page ne s'est pas chargée à temps.

Quand un site refuse notre lecteur, le résultat revient sans contenu et avec le statut du site : nous ne résolvons jamais de CAPTCHA, ne nous connectons pas à des comptes et ne contournons ni un blocage ni un paywall. Dites à l'agent d'utiliser le snippet, ou une autre source, quand une page revient vide. La recherche elle-même coûte toujours un crédit, quel que soit le sort de chaque page.

## Pourquoi ne pas utiliser l'outil de recherche intégré au modèle ?

Les outils intégrés sont pratiques mais vous laissent moins de contrôle. Au 22 octobre 2026, l'outil `web_search` d'OpenAI coûte 10 $ pour 1 000 appels, plus le contenu de recherche facturé comme tokens d'entrée. La recherche web de Claude chez Anthropic coûte aussi 10 $ pour 1 000 recherches, plus les coûts de tokens. Le grounding de Gemini 3 inclut 5 000 recherches gratuites par mois sur l'offre payante, puis coûte 14 $ pour 1 000.

Ces outils renvoient le plus souvent une réponse rédigée avec citations, et non les pages brutes. Ils lient aussi votre recherche à un seul fournisseur de modèle. Un outil autonome fonctionne avec n'importe quel modèle et vous laisse fixer la longueur de chaque page. Le [comparatif des outils intégrés](https://llmwebsearch.com/fr/compare/built-in-web-search-tools/) contient le tableau complet.

## Combien coûte l'exploitation d'un agent sur LLMWebSearch ?

Un crédit par recherche quand `read` vaut 3 ou moins. Un assistant utilisé par une équipe, qui répond à 100 questions par jour avec 4 recherches chacune, effectue environ 12 000 recherches par mois. 25 000 requêtes à 41,25 $US couvre ce mois-ci et la majeure partie du suivant.

Un agent de code utilisé par un développeur peut rechercher 20 fois par jour, soit environ 600 fois par mois. 5 000 requêtes à 9,25 $US dure alors plusieurs mois, car les crédits n'expirent jamais. Le [guide des coûts](https://llmwebsearch.com/fr/guides/ai-agent-web-search-cost/) montre le calcul pour des volumes plus importants.

## Quel pack convient à un agent ?

Prototypez avec 5 000 requêtes ; passez à 25 000 requêtes ou 100 000 requêtes une fois l'agent utilisé au quotidien.

| Formule | Quantité | Prix | Prix par unité |
| --- | --- | --- | --- |
| Essayez | 5 000 requêtes | 9,25 $US | 1,85 $US/1K requêtes |
| Builder | 25 000 requêtes | 41,25 $US | 1,65 $US/1K requêtes |
| Production | 100 000 requêtes | 145 $US | 1,45 $US/1K requêtes |

Dans chaque formule: 3 meilleures pages lues en Markdown · Filtres par pays, langue, heure et domaine · Appels échoués non facturés · Les crédits n'expirent jamais

**Avant de payer**

- Rechargement minimum 25 $US. Rechargez une fois en crypto, puis achetez n'importe quelle formule depuis votre solde.
- L'argent sur votre solde n'expire pas et achète des crédits de recherche quand vous le souhaitez. Lorsqu'un pack est moins cher que le rechargement minimum, la part que vous avez payée uniquement pour atteindre ce minimum vous est rendue sur demande dans les 30 jours suivant le paiement, en USDT ou USDC, à condition qu'elle soit encore non dépensée. Le reste d'un solde n'est pas remboursé, sauf si la loi l'exige.
- Crédité dès que votre paiement a été vérifié sur la blockchain. Délai habituel de confirmation du réseau : 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

## Agents IA : questions fréquentes

### Puis-je ajouter LLMWebSearch à Claude Desktop, Cursor ou Claude Code ?

Oui, via un petit serveur MCP qui expose la recherche comme un outil. La [page MCP](https://llmwebsearch.com/fr/docs/mcp/) contient le code et la configuration du client.

### L'outil fonctionne-t-il avec d'autres modèles que ceux d'OpenAI ?

Oui. Le schéma ci-dessus est du JSON Schema simple, qu'Anthropic, Google, Mistral et les frameworks open source acceptent avec de légères modifications. L'outil appelle uniquement notre endpoint HTTPS.

### Comment empêcher un agent de trop rechercher ?

Comptez les appels dans votre wrapper d'outil et renvoyez un court message une fois le budget épuisé. Mettez aussi le budget dans le prompt système, pour que le modèle le prenne en compte.

### Le texte d'une page peut-il donner des instructions à mon agent ?

Il peut essayer. Traitez le texte des pages comme des données : dites au modèle dans le prompt système d'ignorer les instructions trouvées dans les sources, et ne laissez jamais une source déclencher des actions de sa propre initiative.

## Sources

1. [Tarifs de l'API (outil de recherche web)](https://developers.openai.com/api/docs/pricing) — OpenAI (read 2026-10-22)
2. [Tarifs (outil de recherche web)](https://platform.claude.com/docs/en/about-claude/pricing) — Anthropic (read 2026-10-22)
3. [Tarifs de l'API Gemini Developer](https://ai.google.dev/gemini-api/docs/pricing) — Google (read 2026-10-22)

---

LLMWebSearch: LLMWebSearch est une API de recherche web pour agents IA qui renvoie des résultats classés avec le contenu des meilleures pages en Markdown, payée en crypto sans envoi de pièce d'identité. Les crédits prépayés à partir de 1,20 $US/1K requêtes n'expirent jamais. Sans KYC — pas de pièce d'identité, pas de selfie, pas de documents. Payez en crypto.
