ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo construir una capa de enriquecimiento B2B sin Apollo Lock-In
Tutorial

Cómo construir una capa de enriquecimiento B2B sin Apollo Lock-In

Cree una capa de enriquecimiento de datos B2B flexible utilizando API de búsqueda en lugar de herramientas bloqueadas como Apollo. Obtenga datos de la empresa, pilas de tecnología y señales de contratación.

Obtener clave API gratisDocumentacion API

Apollo y proveedores de datos B2B similares lo encierran en costosas suscripciones con datos que se vuelven obsoletos. Una capa de enriquecimiento basada en búsquedas extrae datos nuevos cada vez que los necesita: descripciones de empresas de Google Knowledge Graph, señales tecnológicas de ofertas de trabajo, velocidad de contratación y presencia social. Este tutorial crea una capa de enriquecimiento modular utilizando la API de Scavio a $0,005 por búsqueda. Sin contratos anuales, sin bases de datos obsoletas.

Requisitos previos

  • Python 3.9+ instalado
  • solicita biblioteca instalada
  • Una clave API de Scavio de scavio.dev
  • Una lista de dominios o nombres de empresas para enriquecer

Guia paso a paso

Paso 1: Construir el enriquecedor del perfil de la empresa

Busque en Google cada empresa para extraer datos del Gráfico de conocimiento, descripción del sitio web e información básica de la empresa.

Python
import os, requests, time, re

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
URL = 'https://api.scavio.dev/api/v1/search'
H = {'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'}

def enrich_company(company: str) -> dict:
    """Get basic company profile from search."""
    resp = requests.post(URL, headers=H,
        json={'query': f'{company} company', 'country_code': 'us', 'num_results': 5})
    data = resp.json()
    kg = data.get('knowledge_graph', {})
    organic = data.get('organic_results', [])
    return {
        'company': company,
        'description': kg.get('description', organic[0].get('snippet', '') if organic else ''),
        'website': kg.get('website', ''),
        'type': kg.get('type', ''),
        'founded': kg.get('founded', ''),
        'headquarters': kg.get('headquarters', ''),
        'employees': kg.get('employees', ''),
    }

profile = enrich_company('Vercel')
for key, val in profile.items():
    if val:
        print(f'  {key}: {val}')

Paso 2: Agregar detección de pila de tecnología

Busque las ofertas de trabajo de la empresa para detectar su pila tecnológica. Los requisitos laborales revelan qué tecnologías utiliza realmente la empresa.

Python
def detect_tech_stack(company: str) -> dict:
    """Detect tech stack from job postings."""
    resp = requests.post(URL, headers=H,
        json={'query': f'{company} hiring engineer 2026',
              'country_code': 'us', 'num_results': 5})
    results = resp.json().get('organic_results', [])
    all_text = ' '.join(f"{r.get('title','')} {r.get('snippet','')}" for r in results).lower()
    tech_categories = {
        'languages': ['python', 'javascript', 'typescript', 'go', 'rust', 'java', 'ruby'],
        'frameworks': ['react', 'next.js', 'django', 'fastapi', 'rails', 'spring', 'vue'],
        'databases': ['postgresql', 'mongodb', 'redis', 'mysql', 'dynamodb', 'elasticsearch'],
        'cloud': ['aws', 'gcp', 'azure', 'vercel', 'cloudflare', 'railway'],
        'tools': ['docker', 'kubernetes', 'terraform', 'github actions', 'datadog'],
    }
    detected = {}
    for category, techs in tech_categories.items():
        found = [t for t in techs if t in all_text]
        if found:
            detected[category] = found
    return {
        'tech_stack': detected,
        'hiring_signals': len(results),
        'job_titles': [r['title'][:60] for r in results[:3]],
    }

tech = detect_tech_stack('Vercel')
print(f'Tech Stack:')
for cat, techs in tech['tech_stack'].items():
    print(f'  {cat}: {", ".join(techs)}')
print(f'\nHiring signals: {tech["hiring_signals"]} job postings')

Paso 3: Agregar análisis de presencia social

Compruebe la presencia de la empresa en Reddit y YouTube. La presencia social activa indica una empresa que interactúa con los desarrolladores y podría ser una buena perspectiva.

Python
def analyze_social(company: str) -> dict:
    """Check social presence on Reddit and YouTube."""
    social = {}
    # Reddit presence
    resp = requests.post(URL, headers=H,
        json={'query': f'site:reddit.com {company}',
              'country_code': 'us', 'num_results': 5})
    reddit_results = resp.json().get('organic_results', [])
    social['reddit'] = {
        'mentions': len(reddit_results),
        'subreddits': list(set(
            re.search(r'r/(\w+)', r.get('link', '')).group(1)
            for r in reddit_results
            if re.search(r'r/(\w+)', r.get('link', ''))
        )),
        'recent_topics': [r['title'][:60] for r in reddit_results[:3]],
    }
    time.sleep(0.3)
    # YouTube presence
    resp = requests.post(URL, headers=H,
        json={'query': f'site:youtube.com {company}',
              'country_code': 'us', 'num_results': 5})
    yt_results = resp.json().get('organic_results', [])
    social['youtube'] = {
        'videos': len(yt_results),
        'recent_videos': [r['title'][:60] for r in yt_results[:3]],
    }
    return social

social = analyze_social('Vercel')
print(f'Reddit: {social["reddit"]["mentions"]} mentions in {", ".join(social["reddit"]["subreddits"][:3])}')
print(f'YouTube: {social["youtube"]["videos"]} videos')

Paso 4: Construir todo el proceso de enriquecimiento y exportar

Combine todas las fuentes de enriquecimiento en un perfil de empresa completo. Exporte como JSON para integración con CRM o CSV para revisión manual.

Python
import json, csv

def full_enrichment(company: str) -> dict:
    """Run all enrichment steps for a company."""
    profile = enrich_company(company)
    time.sleep(0.3)
    tech = detect_tech_stack(company)
    time.sleep(0.3)
    social = analyze_social(company)
    profile.update({
        'tech_stack': tech['tech_stack'],
        'hiring_signals': tech['hiring_signals'],
        'reddit_mentions': social['reddit']['mentions'],
        'youtube_videos': social['youtube']['videos'],
        'credits_used': 4,  # 1 company + 1 jobs + 1 reddit + 1 youtube
        'cost': 0.020,
    })
    return profile

def batch_enrich(companies: list, output: str = 'enriched_companies.json'):
    results = []
    for company in companies:
        print(f'Enriching: {company}...')
        profile = full_enrichment(company)
        results.append(profile)
        time.sleep(0.5)
    with open(output, 'w') as f:
        json.dump(results, f, indent=2)
    total_cost = sum(r['cost'] for r in results)
    print(f'\nEnriched {len(results)} companies')
    print(f'Total cost: ${total_cost:.3f}')
    print(f'Apollo equivalent: ~$50-100/month for similar data')
    return results

results = batch_enrich(['Vercel', 'Supabase', 'Railway'])
for r in results:
    stack = ', '.join(t for techs in r.get('tech_stack', {}).values() for t in techs)
    print(f"  {r['company']}: {r.get('description', '')[:50]}")
    print(f"    Stack: {stack[:60]}")

Ejemplo en Python

Python
import os, requests, time

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
H = {'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'}

def enrich(company):
    # Company info
    resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'query': f'{company} company', 'country_code': 'us', 'num_results': 3})
    kg = resp.json().get('knowledge_graph', {})
    time.sleep(0.3)
    # Tech stack from jobs
    resp2 = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'query': f'{company} hiring engineer', 'country_code': 'us', 'num_results': 3})
    text = ' '.join(r.get('snippet','') for r in resp2.json().get('organic_results', [])).lower()
    techs = [t for t in ['python','react','typescript','aws','docker'] if t in text]
    print(f"{company}: {kg.get('description','N/A')[:60]}")
    print(f"  Tech: {', '.join(techs) or 'N/A'}")

for c in ['Vercel', 'Supabase']:
    enrich(c)
    time.sleep(0.3)

Ejemplo en JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function enrich(company) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: `${company} company`, country_code: 'us', num_results: 3 })
  });
  const kg = (await resp.json()).knowledge_graph || {};
  const resp2 = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: `${company} hiring engineer`, country_code: 'us', num_results: 3 })
  });
  const text = ((await resp2.json()).organic_results || []).map(r => r.snippet || '').join(' ').toLowerCase();
  const techs = ['python','react','typescript','aws','docker'].filter(t => text.includes(t));
  console.log(`${company}: ${(kg.description || 'N/A').slice(0, 60)}`);
  console.log(`  Tech: ${techs.join(', ') || 'N/A'}`);
}

(async () => { for (const c of ['Vercel', 'Supabase']) await enrich(c); })();

Salida esperada

JSON
Enriching: Vercel...
Enriching: Supabase...
Enriching: Railway...

Enriched 3 companies
Total cost: $0.060
Apollo equivalent: ~$50-100/month for similar data

  Vercel: Cloud platform for frontend frameworks and serverle
    Stack: typescript, react, next.js, aws
  Supabase: Open source Firebase alternative with PostgreSQL
    Stack: typescript, postgresql, docker
  Railway: Cloud platform for deploying applications
    Stack: typescript, docker, kubernetes

Tutoriales relacionados

  • Cómo crear una canalización de clientes potenciales basada en la intención con datos de búsqueda
  • Cómo encontrar clientes de agencias de automatización con datos de búsqueda
  • Cómo enriquecer clientes potenciales con datos de búsqueda de Google para correo electrónico frío
  • Cómo extraer datos del gráfico de conocimiento de Google a través de API

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+ instalado. solicita biblioteca instalada. Una clave API de Scavio de scavio.dev. Una lista de dominios o nombres de empresas para enriquecer. 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

Las mejores API de enriquecimiento B2B en mayo de 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
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Comparison

Apollo vs API-First Enrichment (Scavio, Exa, search APIs)

Read more
Glossary

Comparación gratuita de niveles de API de búsqueda

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more

Empieza a construir

Cree una capa de enriquecimiento de datos B2B flexible utilizando API de búsqueda en lugar de herramientas bloqueadas como Apollo. Obtenga datos de la empresa, pilas de tecnología y señales de contratación.

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