ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un canal de enriquecimiento de correo electrónico en frío
Tutorial

Cómo crear un canal de enriquecimiento de correo electrónico en frío

Convierta el nombre de una empresa en una herramienta de apertura de correo electrónico personalizada mediante una API de búsqueda. Extrae información de la empresa, noticias recientes y tecnología para una primera línea específica.

Obtener clave API gratisDocumentacion API

Un canal de enriquecimiento de correo electrónico en frío toma el nombre de una empresa, busca noticias recientes de la empresa e información de productos a través de la API de Scavio, extrae señales relevantes y genera una línea de apertura personalizada mediante un LLM.

Requisitos previos

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

Guia paso a paso

Paso 1: Búsqueda de señales de empresa

Realice dos búsquedas por empresa: una para noticias recientes y otra para tecnología y productos.

Python
import requests

API_KEY = "your-scavio-api-key"

def search_company(company: str) -> dict:
    signals = {}

    # Recent news
    r1 = requests.post(
        "https://api.scavio.dev/api/v1/search",
        json={"query": f"{company} news 2026", "num_results": 3},
        headers={"x-api-key": API_KEY}, timeout=15
    )
    signals["news"] = r1.json().get("organic_results", [])

    # Product and tech
    r2 = requests.post(
        "https://api.scavio.dev/api/v1/search",
        json={"query": f"{company} product features stack", "num_results": 3},
        headers={"x-api-key": API_KEY}, timeout=15
    )
    signals["product"] = r2.json().get("organic_results", [])

    return signals

Paso 2: Extraer fragmentos para el mensaje

Combine noticias y fragmentos de productos en una cadena de contexto compacta.

Python
def extract_context(signals: dict, company: str) -> str:
    lines = [f"Company: {company}"]
    for result in signals.get("news", [])[:2]:
        lines.append(f"News: {result.get('title')} - {result.get('snippet', '')[:150]}")
    for result in signals.get("product", [])[:2]:
        lines.append(f"Product: {result.get('snippet', '')[:150]}")
    return "\n".join(lines)

Paso 3: Generar el abridor personalizado

Envíe el contexto a un LLM y solicite una introducción de una oración.

Python
import anthropic

ANTHROPIC_KEY = "your-anthropic-key"

def generate_opener(company: str, recipient_role: str = "founder") -> str:
    signals = search_company(company)
    context = extract_context(signals, company)

    prompt = f"""Based on this company context, write ONE personalized first sentence for a cold email to their {recipient_role}. Be specific. No fluff. Max 25 words.

{context}

First sentence:"""

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

opener = generate_opener("Retool", recipient_role="Head of Engineering")
print(opener)

Ejemplo en Python

Python
import requests
import anthropic

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

def get_company_signals(company: str) -> str:
    snippets = []
    for query in [f"{company} news 2026", f"{company} product"]:
        r = requests.post(
            "https://api.scavio.dev/api/v1/search",
            json={"query": query, "num_results": 3},
            headers={"x-api-key": SCAVIO_KEY}, timeout=15
        )
        for res in r.json().get("organic_results", [])[:2]:
            snippets.append(f"{res.get('title')}: {res.get('snippet','')[:120]}")
    return "\n".join(snippets)

def generate_opener(company: str, role: str = "founder") -> dict:
    context = get_company_signals(company)
    prompt = f"""Company context:\n{context}\n\nWrite ONE personalized cold email opening sentence for the {role}. Specific, no fluff, max 25 words."""
    client = anthropic.Anthropic(api_key=ANTHROPIC_KEY)
    msg = client.messages.create(
        model="claude-sonnet-4-6", max_tokens=100,
        messages=[{"role": "user", "content": prompt}]
    )
    return {"company": company, "opener": msg.content[0].text.strip(), "context": context}

def enrich_lead_list(companies: list, role: str = "founder") -> list:
    results = []
    for company in companies:
        try:
            result = generate_opener(company, role)
            print(f"{company}: {result['opener']}")
            results.append(result)
        except Exception as e:
            print(f"Error for {company}: {e}")
    return results

if __name__ == "__main__":
    companies = ["Retool", "Linear", "Vercel"]
    enriched = enrich_lead_list(companies, role="Head of Engineering")
    for e in enriched:
        print(f"\n{e['company']}:\n  {e['opener']}")

Ejemplo en JavaScript

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

async function getCompanySignals(company) {
  const queries = [`${company} news 2026`, `${company} product`];
  const snippets = [];
  for (const q of queries) {
    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: q, num_results: 3 })
    });
    const data = await res.json();
    for (const r of (data.organic_results ?? []).slice(0, 2)) {
      snippets.push(`${r.title}: ${r.snippet?.slice(0, 120) ?? ''}`);
    }
  }
  return snippets.join('\n');
}

async function generateOpener(company, role = 'founder') {
  const context = await getCompanySignals(company);
  const prompt = `Context:\n${context}\n\nWrite ONE personalized cold email first sentence for the ${role}. Max 25 words.`;
  const res = await fetch('https://api.anthropic.com/v1/messages', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'x-api-key': ANTHROPIC_KEY, 'anthropic-version': '2023-06-01' },
    body: JSON.stringify({ model: 'claude-sonnet-4-6', max_tokens: 100, messages: [{ role: 'user', content: prompt }] })
  });
  const msg = await res.json();
  return { company, opener: msg.content[0].text.trim() };
}

console.log(await generateOpener('Retool', 'Head of Engineering'));

Salida esperada

JSON
Retool: Saw Retool just launched multiplayer editing for internal tools — curious how your team is handling access control at scale.
Linear: Linear's new Triage mode looks like it halves the noise in engineering standups — is that holding up in practice?
Vercel: Noticed Vercel added Fluid Compute for always-warm serverless — how much did that move the needle on cold start complaints?

Tutoriales relacionados

  • Cómo enriquecer clientes potenciales con una API de búsqueda en n8n
  • Cómo crear una lista de clientes potenciales de Google Maps con una API
  • Cómo verificar las afirmaciones de precios de la competencia con SERP

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 o openai. 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 Web Scraping para LLM en 2026

Read more
Best Of

La mejor API de búsqueda web para LLM locales en 2026

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more
Solution

Alternativa de confiabilidad de API de sonda

Read more
Solution

Usa busqueda para detectar y corregir respuestas erroneas de LLM

Read more
Use Case

Flujo de trabajo de enriquecimiento de búsqueda n8n

Read more

Empieza a construir

Convierta el nombre de una empresa en una herramienta de apertura de correo electrónico personalizada mediante una API de búsqueda. Extrae información de la empresa, noticias recientes y tecnología para una primera línea específica.

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