Solution

Build a Custom CrewAI Search Tool with Scavio

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 d

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

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"))

JavaScript Example

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"));

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Amazon

Product search with prices, ratings, and reviews

YouTube

Video search with transcripts and metadata

Reddit

Community, posts & threaded comments from any subreddit

TikTok

Trending video, creator, and product discovery

Walmart

Product search with pricing and fulfillment data

Frequently Asked Questions

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.

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.

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.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to validate this solution in your workflow.

Build a Custom CrewAI Search Tool with Scavio

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 ca