ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo construir un normalizador de enriquecimiento de leads n8n
Tutorial

Cómo construir un normalizador de enriquecimiento de leads n8n

Cree un flujo de trabajo n8n que enriquezca a los clientes potenciales con datos de búsqueda en vivo y normalice JSON en esquemas consistentes. No más automatizaciones rotas.

Obtener clave API gratisDocumentacion API

Los flujos de trabajo de n8n se interrumpen cuando las API de enriquecimiento devuelven JSON inconsistente: un cliente potencial tiene un campo de teléfono, el siguiente no, un tercero devuelve un valor nulo en lugar de una cadena vacía. Este tutorial crea un normalizador de enriquecimiento compatible con n8n que consulta la API de Scavio para conocer el contexto de la empresa y luego normaliza cada respuesta en un esquema garantizado sin campos faltantes.

Requisitos previos

  • n8n instalado (autohospedado o en la nube)
  • Una clave API de Scavio de scavio.dev
  • Familiaridad básica con los nodos de solicitud HTTP n8n

Guia paso a paso

Paso 1: Configurar el nodo de solicitud HTTP para Scavio

Configure un nodo de solicitud HTTP n8n para llamar a la API de Scavio para la empresa de cada cliente potencial.

JavaScript
// n8n HTTP Request Node:
// Method: POST
// URL: https://api.scavio.dev/api/v1/search
// Headers: x-api-key: {{ $env.SCAVIO_API_KEY }}
// Body: { "query": "{{ $json.company_name }} company", "country_code": "us" }

// Python equivalent for testing:
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']

def enrich_company(name):
    return requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': f'{name} company', 'country_code': 'us'}).json()

print(f"Results: {len(enrich_company('Scavio').get('organic_results', []))}")

Paso 2: Normalizar la respuesta en un esquema garantizado

Utilice un nodo de función n8n para transformar respuestas sin procesar en objetos con campos garantizados.

JavaScript
// n8n Function Node after HTTP Request
const raw = $input.first().json;
const results = raw.organic_results || [];
const top = results[0] || {};
const kg = raw.knowledge_graph || {};

return [{ json: {
  company_name: $('Trigger').first().json.company_name || '',
  lead_email: $('Trigger').first().json.email || '',
  website: top.link || '',
  description: top.snippet || '',
  serp_title: top.title || '',
  kg_description: kg.description || '',
  kg_type: kg.type || '',
  total_results: results.length,
  enriched_at: new Date().toISOString(),
  has_data: results.length > 0,
}}];

Paso 3: Agregar enriquecimiento de contexto de Reddit

Encadene una segunda solicitud HTTP para buscar la empresa en Reddit, agregando contexto de sentimiento.

JavaScript
// Second HTTP Request: POST https://api.scavio.dev/api/v1/search
// Body: { "query": "{{ $json.company_name }} review", "platform": "reddit", "country_code": "us" }

// Reddit Normalizer Function Node:
const raw = $input.first().json;
const results = raw.organic_results || [];
const prev = $('Google Normalizer').first().json;

return [{ json: {
  ...prev,
  reddit_mentions: results.length,
  reddit_top_title: results[0]?.title || '',
  reddit_top_snippet: results[0]?.snippet || '',
  has_reddit_presence: results.length > 0,
}}];

Paso 4: Rutas lideradas por calidad de enriquecimiento

Utilice nodos IF para enviar clientes potenciales enriquecidos a la divulgación y los débiles a la revisión manual.

JavaScript
// n8n IF Node:
// Condition: {{ $json.has_data }} equals true AND {{ $json.total_results }} >= 3
// True -> auto-route to CRM
// False -> manual review queue

// Python routing equivalent:
def route_lead(enriched):
    if enriched['has_data'] and enriched['total_results'] >= 3:
        return 'high_confidence' if enriched['has_reddit_presence'] else 'medium_confidence'
    return 'manual_review'

for lead in [{'company_name': 'Stripe', 'has_data': True, 'total_results': 5, 'has_reddit_presence': True},
             {'company_name': 'Unknown', 'has_data': False, 'total_results': 0, 'has_reddit_presence': False}]:
    print(f"{lead['company_name']}: {route_lead(lead)}")

Ejemplo en Python

Python
import os, requests

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

def enrich(company):
    g = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H, json={'query': f'{company} company', 'country_code': 'us'}).json()
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H, json={'query': f'{company} review', 'platform': 'reddit', 'country_code': 'us'}).json()
    gr = g.get('organic_results', [])
    rr = r.get('organic_results', [])
    return {'company': company, 'website': gr[0]['link'] if gr else '', 'google': len(gr),
            'reddit': len(rr), 'confidence': 'high' if len(gr) >= 3 and rr else 'low'}

for c in ['Stripe', 'Scavio', 'Unknown']:
    e = enrich(c)
    print(f"{e['company']}: {e['confidence']} ({e['google']}G, {e['reddit']}R)")

Ejemplo en JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const H = { 'x-api-key': API_KEY, 'Content-Type': 'application/json' };

async function enrich(company) {
  const [g, r] = await Promise.all([
    fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: H,
      body: JSON.stringify({ query: `${company} company`, country_code: 'us' })
    }).then(r => r.json()),
    fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: H,
      body: JSON.stringify({ query: `${company} review`, platform: 'reddit', country_code: 'us' })
    }).then(r => r.json()),
  ]);
  const gr = g.organic_results || [];
  const rr = r.organic_results || [];
  console.log(`${company}: ${gr.length}G, ${rr.length}R`);
}
(async () => { for (const c of ['Stripe', 'Scavio']) await enrich(c); })();

Salida esperada

JSON
Stripe: high (5G, 3R)
Scavio: high (4G, 2R)
Unknown: low (0G, 0R)
Cost: $0.030

Tutoriales relacionados

  • Cómo generar clientes potenciales basados ​​en la intención desde Reddit
  • Cómo obtener resultados de búsqueda de Google en Python
  • Cómo crear informes SEO para agencias con una 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.

n8n instalado (autohospedado o en la nube). Una clave API de Scavio de scavio.dev. Familiaridad básica con los nodos de solicitud HTTP n8n. 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 flujos de trabajo n8n en 2026

Read more
Best Of

La mejor API de búsqueda para la integración n8n en 2026

Read more
Use Case

Flujo de trabajo de enriquecimiento de búsqueda n8n

Read more
Comparison

Web Scraping in n8n (HTTP Request + HTML Extract) vs Search API in n8n (HTTP Request to search API)

Read more
Glossary

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

Read more
Comparison

Firecrawl vs Scavio

Read more

Empieza a construir

Cree un flujo de trabajo n8n que enriquezca a los clientes potenciales con datos de búsqueda en vivo y normalice JSON en esquemas consistentes. No más automatizaciones rotas.

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