Activer la Recherche Web dans l'API Grok
Pourquoi connecter Grok au web en temps réel
Les modèles de langage classiques travaillent avec des connaissances figées à leur date d’entraînement. Pour un développeur qui construit des applications nécessitant des données actuelles (cours de bourse, actualités, résultats sportifs, météo), cette limitation est rédhibitoire. L’outil web_search de l’API Grok résout ce problème en permettant au modèle d’interroger le web en direct, directement depuis votre appel API.

Contrairement à d’autres fournisseurs qui nécessitent des intégrations tierces ou des plugins séparés, xAI propose la recherche web comme un outil intégré côté serveur. Vous n’avez aucune infrastructure à gérer : le modèle décide quand chercher, exécute la requête, et intègre les résultats dans sa réponse.
L’API Responses : le seul endpoint supporté
La recherche web fonctionne exclusivement sur l’API Responses. L’ancien endpoint Chat Completions proposait un paramètre search_parameters, mais celui-ci est désormais déprécié. Si vous migrez depuis l’ancienne API, vous devrez adapter vos appels.
L’activation se fait en ajoutant l’outil web_search dans le tableau tools de votre requête :
from xai_sdk import Client
client = Client()
response = client.responses.create(
model="grok-3",
input="Quel temps fait-il à Paris aujourd'hui ?",
tools=[{"type": "web_search"}]
)
print(response.output_text)
C’est tout. Le modèle analyse votre prompt, détermine s’il a besoin d’informations fraîches, et déclenche la recherche automatiquement. Vous n’avez pas à gérer de boucle d’appel ou de logique conditionnelle.
Le flux d’exécution en cinq étapes
Lorsque vous envoyez une requête avec web_search activé, le processus suit un enchaînement précis :
- Analyse : le modèle évalue si la question nécessite des données récentes
- Décision : il choisit de chercher ou de répondre avec ses connaissances internes
- Exécution : la recherche web s’exécute côté serveur (vous ne gérez rien)
- Traitement : les résultats sont analysés et synthétisés
- Réponse : le texte final est généré avec les citations associées
Ce mécanisme signifie que le modèle peut décider de ne pas chercher si la question ne le justifie pas. Par exemple, demander la définition de la photosynthèse ne déclenchera probablement pas de recherche web.
Utilisation avec les différents SDK
Le xAI SDK offre un raccourci dédié :
# xAI SDK natif
tools = [client.tools.web_search()]
Si vous utilisez l’OpenAI SDK avec le base_url de xAI :
from openai import OpenAI
client = OpenAI(
api_key="votre-cle-xai",
base_url="https://api.x.ai/v1"
)
response = client.responses.create(
model="grok-3",
input="Dernières nouvelles sur l'IA en Europe",
tools=[{"type": "web_search"}]
)
Pour le Vercel AI SDK en JavaScript :
import { xai } from '@ai-sdk/xai';
const response = await generateText({
model: xai.responses('grok-3'),
prompt: 'Dernières nouvelles sur l\'IA en Europe',
tools: [xai.tools.webSearch()]
});
Mise en pratique
Créez un script qui interroge Grok sur un sujet d’actualité de votre choix. Vérifiez que la réponse contient bien des informations récentes (dates, événements survenus après la date de coupure du modèle). Essayez ensuite la même question sans l’outil web_search pour constater la différence.
Points clés à retenir
- La recherche web s’active en ajoutant
{"type": "web_search"}au tableautools - Elle fonctionne uniquement sur l’API Responses (pas Chat Completions)
- Le modèle décide de manière autonome quand il doit chercher
- Les citations sont automatiquement incluses dans la réponse
- Le coût est de 5 $ pour 1 000 appels d’outil, en plus des tokens consommés