Le problème
Les outils de recherche par défaut de CrewAI ont des capacités limitées : recherche web basique sans couverture multi-plateforme, pas de fonctionnalités SERP structurées, et aucun accès aux données d'Amazon, TikTok ou Reddit. Les agents d'une équipe CrewAI qui ont besoin de prix de produits actuels, de discussions Reddit ou de tendances TikTok ne peuvent pas obtenir ces données avec les outils intégrés. Construire un outil personnalisé nécessite de définir la classe d'outil et de la connecter à un backend de recherche fiable.
La solution Scavio
Créez une sous-classe CrewAI BaseTool personnalisée soutenue par l'API Scavio. L'outil accepte les paramètres de requête et de plateforme, renvoie des résultats structurés et s'intègre dans n'importe quelle équipe. Les agents peuvent rechercher Google, Amazon, YouTube, TikTok, Walmart et Reddit via une seule définition d'outil. La sortie JSON structurée donne aux agents des points de données spécifiques sur lesquels raisonner plutôt que des résumés web génériques.
Avant
Avant l'outil personnalisé, les agents CrewAI utilisaient une recherche web basique qui renvoyait des résumés génériques sans données structurées. Les tâches de tarification des produits renvoyaient des estimations issues des données d'entraînement. Les tâches de recherche sur Reddit étaient impossibles. Les requêtes multi-plateformes nécessitaient des intégrations d'outils séparées.
Après
Après avoir ajouté l'outil Scavio, n'importe quel agent de l'équipe peut rechercher sur 6 plateformes avec un seul appel de fonction. Les agents de recherche récupèrent les discussions actuelles de Reddit. Les analystes produits obtiennent les prix Amazon en direct. L'équipe produit des rapports étayés avec des points de données vérifiables.
À qui cela s'adresse
Développeurs CrewAI construisant des équipes multi-agents nécessitant une recherche web au-delà des outils par défaut. Équipes créant des équipes de recherche, d'analyse ou de surveillance qui nécessitent des données multi-plateformes actuelles.
Avantages clés
- Un outil personnalisé offre des capacités de recherche sur 6 plateformes à n'importe quel agent de l'équipe
- Résultats JSON structurés avec des points de données spécifiques pour le raisonnement des agents
- Les données en direct sur les prix, la disponibilité et les discussions remplacent les suppositions issues des données d'entraînement
- Sous-classe BaseTool simple s'intègre aux modèles d'outils CrewAI standard
- La tarification par requête maintient les coûts opérationnels de l'équipe prévisibles
Exemple Python
import requests
# from crewai_tools import BaseTool # uncomment for CrewAI
API_KEY = "your_scavio_api_key"
class ScavioSearchTool:
"""Multi-platform search tool for CrewAI agents."""
name = "web_search"
description = "Search Google, Amazon, YouTube, Reddit, TikTok, or Walmart for current data. Specify platform as second argument."
def _run(self, query: str, platform: str = "google") -> str:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query},
timeout=15,
)
res.raise_for_status()
data = res.json()
results = []
for r in data.get("organic", [])[:5]:
line = f"- {r.get('title', '')}: {r.get('snippet', '')}"
if r.get("price"):
line += f" (${r['price']})"
if r.get("link"):
line += f" [{r['link']}]"
results.append(line)
return "\n".join(results) if results else "No results found."
# Usage in CrewAI:
# from crewai import Agent, Task, Crew
# tool = ScavioSearchTool()
# researcher = Agent(role="Researcher", tools=[tool], ...)
search = ScavioSearchTool()
print(search._run("best search api pricing 2026", "google"))Exemple JavaScript
const API_KEY = "your_scavio_api_key";
// CrewAI JS tool pattern
const scavioSearchTool = {
name: "web_search",
description: "Search Google, Amazon, YouTube, Reddit, TikTok, or Walmart for current data.",
async run(query, platform = "google") {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
return (data.organic ?? [])
.slice(0, 5)
.map((r) => `- ${r.title ?? ""}: ${r.snippet ?? ""}${r.price ? ` ($${r.price})` : ""} [${r.link ?? ""}]`)
.join("\n") || "No results found.";
},
};
console.log(await scavioSearchTool.run("best search api pricing 2026"));Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA
Amazon
Recherche de produits avec prix, notes et avis
YouTube
Recherche de vidéos avec transcriptions et métadonnées
Communauté, publications et commentaires imbriqués de n'importe quel subreddit
TikTok
Découverte de vidéos tendance, créateurs et produits
Walmart
Recherche de produits avec données de prix et d'exécution