Activer la Recherche Web dans l'API Grok
Sur cette page
Leçon corrigée le 2 novembre 2026 d’après la documentation de xAI : avec le SDK
xai-sdk, la recherche web s’active par la fonctionweb_search()importée dexai_sdk.tools, dans une conversation créée parclient.chat.create; l’ancien exemple appelaitclient.tools.web_search(), qui n’existe pas dans ce SDK. Source : Web Search.
Corrigé le 3 novembre 2026. Le premier exemple appelait
client.responses.create()sur le client dexai-sdk, qui n’a pas d’attributresponses: avec ce SDK, la recherche passe parclient.chat.create(..., tools=[web_search()]), etclient.responses.create()appartient au SDKopenaipointé vershttps://api.x.ai/v1. L’exemple Vercel AI SDK passait les outils en tableau et n’importait pasgenerateText: ils se déclarent dans un objet, comme dans la documentation de xAI. Code vérifié avecxai-sdk1.21.0 etopenai3.42.1. Source : Web Search.
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 :
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["XAI_API_KEY"], base_url="https://api.x.ai/v1")
response = client.responses.create(
model="grok-4.5",
input="Quel temps fait-il à Paris aujourd'hui ?",
tools=[{"type": "web_search"}],
)
print(response.output_text)
Cet exemple utilise le SDK openai, compatible avec l’API Responses de xAI ; le SDK natif de xAI, présenté plus bas, passe par une conversation.
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 fournit une fonction dédiée, web_search(), à passer dans la liste des outils de la conversation :
# xAI SDK natif
from xai_sdk import Client
from xai_sdk.chat import user
from xai_sdk.tools import web_search
client = Client()
chat = client.chat.create(model="grok-4.5", tools=[web_search()])
chat.append(user("Dernières nouvelles sur l'IA en Europe"))
reponse = chat.sample()
print(reponse.content)
print(reponse.citations)
Avec le SDK openai, c’est l’appel du début de la leçon : client.responses.create() avec base_url="https://api.x.ai/v1" et tools=[{"type": "web_search"}].
Pour le Vercel AI SDK en JavaScript :
import { xai } from '@ai-sdk/xai';
import { generateText } from 'ai';
const { text, sources } = await generateText({
model: xai.responses('grok-4.5'),
prompt: "Dernières nouvelles sur l'IA en Europe",
tools: {
web_search: xai.tools.webSearch(),
},
});
console.log(text);
console.log('Citations :', sources);
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 avec
{"type": "web_search"}danstools(SDKopenai, API Responses) ouweb_search()dansclient.chat.create(SDKxai-sdk) - 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