El problema
Las herramientas de búsqueda predeterminadas de CrewAI tienen capacidades limitadas: búsqueda web básica sin cobertura multiplataforma, sin funciones SERP estructuradas y sin acceso a datos de Amazon, TikTok o Reddit. Los agentes en un crew de CrewAI que necesitan precios actuales de productos, discusiones de Reddit o tendencias de TikTok no pueden obtener estos datos con las herramientas integradas. Construir una herramienta personalizada requiere definir la clase de herramienta y conectarla a un backend de búsqueda confiable.
La solucion de Scavio
Crea una subclase personalizada de BaseTool de CrewAI respaldada por la API de Scavio. La herramienta acepta parámetros de consulta y plataforma, devuelve resultados estructurados y se integra en cualquier crew. Los agentes pueden buscar en Google, Amazon, YouTube, TikTok, Walmart y Reddit a través de una sola definición de herramienta. La salida JSON estructurada proporciona a los agentes puntos de datos específicos para razonar en lugar de resúmenes web genéricos.
Antes
Antes de la herramienta personalizada, los agentes de CrewAI usaban búsqueda web básica que devolvía resúmenes genéricos sin datos estructurados. Las tareas de precios de productos devolvían estimaciones de los datos de entrenamiento. Las tareas de investigación en Reddit eran imposibles. Las consultas multiplataforma requerían integraciones de herramientas separadas.
Después
Al agregar la herramienta respaldada por Scavio, cualquier agente en el crew puede buscar en 6 plataformas con una sola llamada de función. Los agentes de investigación obtienen discusiones actuales de Reddit. Los analistas de productos obtienen precios en vivo de Amazon. El crew produce informes fundamentados con puntos de datos verificables.
Para quien es
Desarrolladores de CrewAI que construyen crews multi-agente que necesitan búsqueda web más allá de las herramientas predeterminadas. Equipos que construyen crews de investigación, análisis o monitoreo que requieren datos multiplataforma actualizados.
Beneficios clave
- Una sola herramienta personalizada proporciona capacidades de búsqueda en 6 plataformas a cualquier agente del crew
- Resultados JSON estructurados con puntos de datos específicos para el razonamiento del agente
- Datos en vivo de precios, disponibilidad y discusiones reemplazan estimaciones de datos de entrenamiento
- Subclase simple de BaseTool se integra con los patrones estándar de herramientas de CrewAI
- El precio por consulta mantiene predecibles los costos operativos del crew
Ejemplo en 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"))Ejemplo en 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"));Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Amazon
Búsqueda de productos con precios, calificaciones y reseñas
YouTube
Búsqueda de videos con transcripciones y metadatos
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit
TikTok
Descubrimiento de videos, creadores y productos en tendencia
Walmart
Búsqueda de productos con precios y datos de cumplimiento