The Problem
CrewAI's default search tools have limited capabilities: basic web search without multi-platform coverage, no structured SERP features, and no access to Amazon, TikTok, or Reddit data. Agents in a CrewAI crew that need current product prices, Reddit discussions, or TikTok trends cannot get this data with the built-in tools. Building a custom tool requires defining the tool class and connecting it to a reliable search backend.
The Scavio Solution
Create a custom CrewAI BaseTool subclass backed by Scavio's API. The tool accepts query and platform parameters, returns structured results, and integrates into any crew. Agents can search Google, Amazon, YouTube, TikTok, Walmart, and Reddit through one tool definition. The structured JSON output gives agents specific data points to reason over rather than generic web summaries.
Before
Before the custom tool, CrewAI agents used basic web search that returned generic summaries without structured data. Product pricing tasks returned estimates from training data. Reddit research tasks were impossible. Multi-platform queries required separate tool integrations.
After
After adding the Scavio-backed tool, any agent in the crew can search 6 platforms with one function call. Research agents pull current Reddit discussions. Product analysts get live Amazon prices. The crew produces grounded reports with verifiable data points.
Who It Is For
CrewAI developers building multi-agent crews that need web search beyond the default tools. Teams building research, analysis, or monitoring crews that require current multi-platform data.
Key Benefits
- One custom tool provides 6 platform search capabilities to any crew agent
- Structured JSON results with specific data points for agent reasoning
- Live pricing, availability, and discussion data replaces training-data guesses
- Simple BaseTool subclass integrates with standard CrewAI tool patterns
- Per-query pricing keeps crew operational costs predictable
Python Example
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"))JavaScript Example
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"));Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Amazon
Product search with prices, ratings, and reviews
YouTube
Video search with transcripts and metadata
Community, posts & threaded comments from any subreddit
TikTok
Trending video, creator, and product discovery
Walmart
Product search with pricing and fulfillment data