ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un agente de investigación de fuentes múltiples
Tutorial

Cómo crear un agente de investigación de fuentes múltiples

Cree un agente que busque un tema en Google, Reddit y YouTube a través de una única API, combine resultados y genere un resumen de investigación estructurado.

Obtener clave API gratisDocumentacion API

Un agente de investigación de múltiples fuentes busca un tema en Google, Reddit y YouTube utilizando el parámetro de plataforma de la API de búsqueda de Scavio, combina los resultados en un contexto unificado y genera un resumen de investigación utilizando un LLM.

Requisitos previos

  • Python 3.9+
  • Clave API de Scavio
  • SDK antrópico

Guia paso a paso

Paso 1: Definir funciones de búsqueda por plataforma

Cada llamada de plataforma utiliza el mismo punto final con un valor de plataforma diferente.

Python
import requests

API_KEY = "your-scavio-api-key"

def search(query: str, platform: str = "google", n: int = 5) -> list:
    r = requests.post(
        "https://api.scavio.dev/api/v1/search",
        json={"query": query, "platform": platform, "num_results": n},
        headers={"x-api-key": API_KEY},
        timeout=15
    )
    r.raise_for_status()
    return r.json().get("organic_results", [])

search_google  = lambda q, n=5: search(q, "google", n)
search_reddit  = lambda q, n=5: search(q, "reddit", n)
search_youtube = lambda q, n=5: search(q, "youtube", n)

Paso 2: Reúna resultados de múltiples fuentes

Ejecute tres búsquedas en paralelo utilizando ThreadPoolExecutor.

Python
from concurrent.futures import ThreadPoolExecutor, as_completed

def gather_sources(topic: str) -> dict:
    sources = {}
    tasks = {
        "google":  (topic + " overview",),
        "reddit":  (topic + " discussion",),
        "youtube": (topic + " tutorial",)
    }
    with ThreadPoolExecutor(max_workers=3) as executor:
        futures = {
            executor.submit(search, query, platform): platform
            for platform, (query,) in tasks.items()
        }
        for future in as_completed(futures):
            platform = futures[future]
            try:
                sources[platform] = future.result()
            except Exception as e:
                sources[platform] = []
                print(f"{platform} search failed: {e}")
    return sources

Paso 3: Formatear y generar un resumen de investigación

Combine los resultados en un bloque de contexto y solicite a Claude un informe estructurado.

Python
import anthropic

ANTHROPIC_KEY = "your-anthropic-key"

def format_sources(sources: dict) -> str:
    lines = []
    for platform, results in sources.items():
        lines.append(f"\n### {platform.upper()}")
        for r in results[:3]:
            lines.append(f"- {r.get('title')}\n  {r.get('snippet','')[:150]}")
    return "\n".join(lines)

def research_brief(topic: str) -> str:
    sources = gather_sources(topic)
    context = format_sources(sources)
    prompt = f"""Based on these multi-source search results about '{topic}', write a research brief with:
1. Key findings (3 bullets)
2. Community sentiment from Reddit
3. Top learning resources from YouTube

{context}

Brief:"""
    client = anthropic.Anthropic(api_key=ANTHROPIC_KEY)
    msg = client.messages.create(model="claude-sonnet-4-6", max_tokens=1024,
                                  messages=[{"role": "user", "content": prompt}])
    return msg.content[0].text

print(research_brief("vector databases 2026"))

Ejemplo en Python

Python
import requests
import anthropic
from concurrent.futures import ThreadPoolExecutor, as_completed

SCAVIO_KEY = "your-scavio-api-key"
ANTHROPIC_KEY = "your-anthropic-key"

def search(query, platform="google", n=5):
    r = requests.post("https://api.scavio.dev/api/v1/search",
                      json={"query": query, "platform": platform, "num_results": n},
                      headers={"x-api-key": SCAVIO_KEY}, timeout=15)
    r.raise_for_status()
    return r.json().get("organic_results", [])

def gather(topic):
    tasks = {"google": f"{topic} overview", "reddit": f"{topic} discussion", "youtube": f"{topic} tutorial"}
    results = {}
    with ThreadPoolExecutor(max_workers=3) as ex:
        futures = {ex.submit(search, q, p): p for p, q in tasks.items()}
        for f in as_completed(futures):
            p = futures[f]
            results[p] = f.result() if not f.exception() else []
    return results

def format_ctx(sources):
    parts = []
    for p, items in sources.items():
        parts.append(f"\n### {p.upper()}")
        parts.extend(f"- {i.get('title')}\n  {i.get('snippet','')[:120]}" for i in items[:3])
    return "\n".join(parts)

def research_brief(topic):
    sources = gather(topic)
    ctx = format_ctx(sources)
    prompt = f"Research brief for '{topic}':\n\n{ctx}\n\nWrite: 1) Key findings 2) Reddit sentiment 3) YouTube resources"
    client = anthropic.Anthropic(api_key=ANTHROPIC_KEY)
    msg = client.messages.create(model="claude-sonnet-4-6", max_tokens=1024,
                                  messages=[{"role": "user", "content": prompt}])
    return msg.content[0].text

if __name__ == "__main__":
    print(research_brief("vector databases 2026"))

Ejemplo en JavaScript

JavaScript
const SCAVIO_KEY = 'your-scavio-api-key';

async function search(query, platform = 'google', n = 5) {
  const res = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'x-api-key': SCAVIO_KEY },
    body: JSON.stringify({ query, platform, num_results: n })
  });
  const data = await res.json();
  return data.organic_results ?? [];
}

async function gatherSources(topic) {
  const [google, reddit, youtube] = await Promise.all([
    search(`${topic} overview`, 'google'),
    search(`${topic} discussion`, 'reddit'),
    search(`${topic} tutorial`, 'youtube')
  ]);
  return { google, reddit, youtube };
}

const sources = await gatherSources('vector databases 2026');
for (const [platform, results] of Object.entries(sources)) {
  console.log(`\n${platform.toUpperCase()}:`);
  for (const r of results.slice(0, 2)) console.log(`  - ${r.title}`);
}

Salida esperada

JSON
Research Brief: vector databases 2026

**Key Findings**
- Pinecone and Weaviate dominate production deployments; Qdrant gaining share for performance-sensitive use cases
- pgvector usage increased significantly as teams prefer staying in PostgreSQL
- Hybrid search (vector + keyword) is now standard; pure vector search is declining

**Reddit Sentiment**
Reddit discussions show frustration with vendor lock-in. r/MachineLearning and r/LocalLLaMA prefer self-hosted options (Qdrant, Chroma). Cost is the top concern.

**YouTube Resources**
- "Vector Databases Explained" by Fireship (2.3M views)
- "Qdrant Tutorial 2026" by TechWithTim (890K views)

Tutoriales relacionados

  • Cómo configurar RAG con búsqueda en lugar de vectores
  • Cómo conectar Scavio a LangChain RAG
  • Cómo integrar una API de búsqueda con CrewAI

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+. Clave API de Scavio. SDK antrópico. 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 de Google en 2026

Read more
Best Of

Las mejores API de búsqueda después de los cambios en el modo AI de Google I/O 2026

Read more
Solution

Encuentre personas influyentes de YouTube a través de API en lugar de scraping

Read more
Use Case

Flujo de trabajo de enriquecimiento de búsqueda n8n

Read more
Solution

Reemplace el motor de búsqueda programable de Google con la API de Scavio

Read more
Use Case

Reemplazo del motor de búsqueda programable de Google

Read more

Empieza a construir

Cree un agente que busque un tema en Google, Reddit y YouTube a través de una única API, combine resultados y genere un resumen de investigación estructurado.

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