ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo integrar una API de búsqueda con CrewAI
Tutorial

Cómo integrar una API de búsqueda con CrewAI

Cree una herramienta de búsqueda Scavio para agentes de CrewAI. Incluye definición de herramientas, configuración de agentes y un ejemplo de ejecución del equipo con Python.

Obtener clave API gratisDocumentacion API

Puede brindarles a los agentes de CrewAI la capacidad de búsqueda web definiendo una BaseTool personalizada que llame a la API de Scavio y pasándola a la lista de herramientas de su agente. El agente decide cuándo llamar a la herramienta de búsqueda según la descripción de la tarea.

Requisitos previos

  • Python 3.9+
  • paquete tripulado
  • Clave API de Scavio
  • Clave API antrópica

Guia paso a paso

Paso 1: Instalar dependencias

Instale CrewAI y los paquetes necesarios.

Bash
pip install crewai requests

Paso 2: Definir la herramienta de búsqueda Scavio

Subclase BaseTool para crear una herramienta de búsqueda compatible con CrewAI.

Python
import requests
from crewai.tools import BaseTool
from pydantic import Field

SCAVIO_KEY = "your-scavio-api-key"

class ScavioSearchTool(BaseTool):
    name: str = "web_search"
    description: str = (
        "Search the web for current information. "
        "Input: a search query. Returns top 5 results with titles, snippets, and URLs. "
        "Use this for any question requiring recent or factual data."
    )

    def _run(self, query: str) -> str:
        r = requests.post(
            "https://api.scavio.dev/api/v1/search",
            json={"query": query, "num_results": 5},
            headers={"x-api-key": SCAVIO_KEY},
            timeout=15
        )
        r.raise_for_status()
        results = r.json().get("organic_results", [])
        return "\n\n".join(
            f"{res['title']}\n{res.get('snippet','')}\n{res['link']}"
            for res in results[:5]
        ) or "No results found."

Paso 3: Definir agentes y tareas

Cree un agente investigador con la herramienta de búsqueda y un agente escritor que sintetice los hallazgos.

Python
from crewai import Agent, Task, Crew, Process
import os

os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"

search_tool = ScavioSearchTool()

researcher = Agent(
    role="Research Analyst",
    goal="Find accurate, current information on the topic using web search",
    backstory="You are an expert researcher who always verifies facts with live search.",
    tools=[search_tool],
    llm="claude-sonnet-4-6",
    verbose=False
)

writer = Agent(
    role="Technical Writer",
    goal="Synthesize research findings into a clear, structured report",
    backstory="You turn raw research into clear, actionable summaries.",
    llm="claude-sonnet-4-6",
    verbose=False
)

Paso 4: Crea tareas y dirige el equipo

Defina tareas para cada agente y dirija el equipo de forma secuencial.

Python
TOPIC = "vector databases comparison 2026"

research_task = Task(
    description=f"Research '{TOPIC}'. Search for: current top options, pricing, and use cases. Collect at least 3 data points.",
    expected_output="A list of key findings with source URLs",
    agent=researcher
)

write_task = Task(
    description="Write a 3-paragraph summary of the research findings. Include a recommendation.",
    expected_output="A 3-paragraph summary with a final recommendation",
    agent=writer,
    context=[research_task]
)

crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    process=Process.sequential
)

result = crew.kickoff()
print(result.raw)

Ejemplo en Python

Python
import requests
import os
from crewai import Agent, Task, Crew, Process
from crewai.tools import BaseTool

SCAVIO_KEY = "your-scavio-api-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"

class ScavioSearchTool(BaseTool):
    name: str = "web_search"
    description: str = "Search the web. Input: search query. Returns top 5 results."

    def _run(self, query: str) -> str:
        r = requests.post("https://api.scavio.dev/api/v1/search",
                          json={"query": query, "num_results": 5},
                          headers={"x-api-key": SCAVIO_KEY}, timeout=15)
        r.raise_for_status()
        items = r.json().get("organic_results", [])
        return "\n\n".join(f"{i['title']}\n{i.get('snippet','')}\n{i['link']}" for i in items[:5]) or "No results."

if __name__ == "__main__":
    search_tool = ScavioSearchTool()
    researcher = Agent(role="Researcher", goal="Find current facts via web search",
                       backstory="Expert researcher.", tools=[search_tool], llm="claude-sonnet-4-6")
    writer = Agent(role="Writer", goal="Write clear summaries",
                   backstory="Technical writer.", llm="claude-sonnet-4-6")

    topic = "best search APIs for AI agents in 2026"
    t1 = Task(description=f"Research: {topic}", expected_output="Key findings with sources", agent=researcher)
    t2 = Task(description="Summarize findings in 3 paragraphs with recommendation.",
              expected_output="3-paragraph summary", agent=writer, context=[t1])

    crew = Crew(agents=[researcher, writer], tasks=[t1, t2], process=Process.sequential)
    result = crew.kickoff()
    print(result.raw)

Ejemplo en JavaScript

JavaScript
// CrewAI is Python-only. Use LangChain JS for a similar pattern in Node.js.
// See: how-to-connect-scavio-to-langchain-rag for the JS equivalent.

Salida esperada

JSON
Researcher found 5 sources on vector databases. Key findings:
- Pinecone: serverless, $0.033/1M reads, best for production scale
- Weaviate: open source, hybrid search, active community
- Qdrant: fastest for high-dimensional vectors, Rust-based

Writer summary:
Vector databases have matured significantly in 2026. Three options dominate: Pinecone for managed scale, Qdrant for performance, and pgvector for teams already on PostgreSQL. Pricing varies from free tiers to $0.033/1M vector reads...

Recommendation: Start with pgvector if on PostgreSQL, migrate to Qdrant or Pinecone when you hit performance limits.

Tutoriales relacionados

  • Cómo conectar Scavio a LangChain RAG
  • Cómo crear un agente de investigación de fuentes múltiples
  • Cómo configurar RAG con búsqueda en lugar de vectores

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.9+. paquete tripulado. Clave API de Scavio. Clave API antrópica. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

La mejor API de búsqueda para agentes de CrewAI en 2026

Read more
Use Case

Herramienta de búsqueda CrewAI

Read more
Comparison

Parallel Web Systems vs Scavio

Read more
Best Of

La mejor API de búsqueda para CrewAI en 2026

Read more
Use Case

Flujo de trabajo de enriquecimiento de búsqueda n8n

Read more
Comparison

Scavio vs OpenAI web_search

Read more

Empieza a construir

Cree una herramienta de búsqueda Scavio para agentes de CrewAI. Incluye definición de herramientas, configuración de agentes y un ejemplo de ejecución del equipo con Python.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad