Le Web Search SDK change la donne pour les agents IA
Le cauchemar du verrouillage fournisseur
Avouons-le : intégrer la recherche web dans vos agents IA a toujours été plus compliqué que nécessaire. Vous passez des semaines à construire le workflow parfait avec Tavily, et soudain leurs tarifs changent, leur API se fait limiter, ou une meilleure alternative apparaît. Résultat : vous devez réécrire tout votre code d'intégration. Et personne n'a envie de faire ça.
C'est exactement le problème que l'équipe derrière websearch-sdk a décidé de résoudre. Au lieu de bricoler une intégration personnalisée pour chaque fournisseur de recherche, vous utilisez maintenant une API unifiée qui fonctionne de manière identique, peu importe le provider qui tourne en dessous.
Une API, tous les providers
Le concept est étrangement élégant : que vous utilisiez Firecrawl, Tavily, Exa, Brave ou Serper, votre code appelle les mêmes méthodes search() et scrape() et reçoit des résultats formatés de la même façon à chaque fois.
// Changez de provider en modifiant une seule ligne
const provider = createProvider('firecrawl', { apiKey: process.env.FIRECRAWL_KEY });
// ou
const provider = createProvider('tavily', { apiKey: process.env.TAVILY_KEY });
// Le code de votre agent ne change absolument pas
const results = await provider.search({ query: "tendances IA 2025" });
Votre logique de recherche devient vraiment portable. Vous voulez tester un nouveau provider ? Un seul appel à modifier. Besoin de migrer ? Une config à mettre à jour. C'est comme ça qu'on devrait architecturer un logiciel.
Prêt pour vos agents IA
Pour ceux qui bossent avec le Vercel AI SDK, websearch-sdk pousse encore plus loin avec web.tools() — il génère un ToolSet correctement formaté avec les outils web_search et web_scrape, prêts à être envoyés directement à votre modèle. Plus besoin de se battre avec les schemas d'outils ou les fonctions de formatting. Le SDK gère toute la partie ennuyeuse de l'intégration pour que vous puissiez vous concentrer sur la logique de votre agent.
Léger et compatible partout
Un point que j'apprécie : le SDK utilise fetch natif plutôt que d'embarquer les SDKs lourds des vendors. Ça garde votre bundle compact, ce qui compte quand vous déployez sur des edge functions ou des environnements limités. Il propose des builds dual ESM et CommonJS avec des déclarations TypeScript complètes, donc ça tourne sans souci sur Node 18+, Deno ou Bun.
Le vrai plus : des outils consciousness des capacités
Voici une attention appréciable : le SDK est "capability-aware". Concrètement, vos outils de scraping et vos méthodes ne sont exposés que si le provider actif les supporte vraiment. Plus d'erreurs runtime quand vous appelez des méthodes non supportées — vous obtenez une expérience propre et prévisible qui s'adapte à ce que chaque provider peut faire.
Pour démarrer
L'installation est simple — récupérez le package core et ajoutez votre provider préféré :
npm install websearch-sdk
npm install @websearch/firecrawl-provider
C'est tout. Votre première requête unifiée peut tourner en quelques minutes.
En résumé
Le paysage de la recherche web évolue rapidement, surtout avec la démocratisation des agents IA. Avoir une couche d'abstraction agnostic du provider n'est plus un luxe — c'est devenu essentiel pour construire des applications robustes et pérennes. websearch-sdk applique aux recherches web les mêmes patterns architecturaux qu'on utilise déjà pour les bases de données et l'authentification, et c'est une bonne nouvelle pour tous ceux qui construisent des produits alimentés par l'IA.
Que vous soyez une startup qui avance vite ou une entreprise qui gère des workflows d'agents complexes, ce type de couche d'abstraction vous permet d'expérimenter avec différents providers sans miser toute votre base de code sur un seul vendor. C'est le genre de flexibilité qui scale.