n8n para enriquecimiento de datos: cómo arrancarlo
Si querés configurar n8n enriquecimiento datos de sitios web en tus workflows, el nodo HTTP Request es el punto de partida. Con él podés llamar a cualquier API externa, scrapeador o servicio de datos, parsear la respuesta JSON y enviársela a donde la necesités, todo sin escribir una sola línea de código del lado del servidor.
En 30 segundos
- El nodo HTTP Request de n8n es la piedra angular del website enrichment: GET/POST a cualquier API con autenticación configurable.
- Las fuentes más usadas en 2026 son Apollo.io, Hunter.io, BuiltWith y Clearbit, más scraping directo con Apify o Firecrawl para datos no estructurados.
- n8n tiene plantillas públicas de enriquecimiento listas para usar, incluyendo una de enriquecimiento de empresas con GPT disponible en el catálogo oficial.
- El mayor error es hardcodear API keys en el nodo. n8n tiene un sistema de credenciales propio que hay que usar siempre.
- Para escalar sin romper rate limits de APIs, el nodo tiene configuración nativa de reintentos y vos podés agregar un nodo Wait entre iteraciones.
¿Qué es Website Enrichment en n8n?
El website enrichment es el proceso de tomar un dato básico (una URL, un dominio, un email) y expandirlo con información adicional consultando fuentes externas. n8n es una plataforma de automatización de workflows de código abierto que permite conectar nodos de lógica, APIs y servicios sin necesidad de escribir código, aunque también soporta JavaScript si necesitás algo más avanzado.
Los casos de uso más comunes que se ven en la comunidad: enriquecer leads de un formulario con datos de la empresa (tecnología que usan, tamaño, industria), validar emails antes de sumarlos a una lista, extraer metadata de URLs para clasificar contenido, o armar perfiles de contacto a partir de un dominio. Ponele que tenés una lista de dominios en Google Sheets y querés saber qué CMS usa cada uno. Con BuiltWith y un HTTP Request node, eso es un workflow de 4 nodos.
Nodo HTTP Request: Tu Herramienta Principal
El nodo HTTP Request de n8n soporta todos los métodos estándar (GET, POST, PUT, PATCH, DELETE), manejo de headers, autenticación (Bearer token, API Key, OAuth2, Basic Auth) y parsing automático de respuestas JSON o XML.
Lo que lo hace útil para enrichment es la combinación de dos cosas: primero, que podés usar expresiones para construir la URL dinámicamente con datos del nodo anterior ({{ $json.domain }}, {{ $json.email }}). Segundo, que la respuesta queda disponible como objeto JSON para el siguiente nodo sin tener que parsear nada a mano.
Un ejemplo concreto: si el nodo anterior te devuelve `{ “domain”: “acme.com” }`, en la URL del HTTP Request escribís `https://api.hunter.io/v2/domain-search?domain={{ $json.domain }}&api_key={{ $credentials.apiKey }}`. El nodo resuelve la expresión, hace el call y te devuelve los emails encontrados directamente. Sobre eso hablamos en optimizar tu sitio para varios idiomas.
Estrategia de Fuentes de Datos para Enriquecimiento
Acá viene la parte donde la mayoría toma la primera opción que encuentra en Google sin comparar. Las fuentes de datos para enriquecimiento no son intercambiables.
| Fuente | Qué entrega | Plan gratuito | Mejor para |
|---|---|---|---|
| Apollo.io | Contactos, empresa, tech stack, emails | 50 créditos/mes | B2B lead enrichment |
| Hunter.io | Emails por dominio, verificación | 25 búsquedas/mes | Email discovery |
| BuiltWith | Tecnologías del sitio (CMS, analytics, etc.) | No (API de pago) | Tech stack profiling |
| Clearbit | Empresa, empleados, industria, redes | Limitado (ahora parte de HubSpot) | SaaS B2B |
| Apify | Scraping estructurado de cualquier web | 5 USD de créditos/mes | Datos no disponibles via API |
| Firecrawl | Extracción de contenido con IA | 500 páginas/mes | Enriquecimiento con LLM |

La lógica es sencilla: si la fuente tiene API pública con buena documentación, usá HTTP Request directo. Si el dato está en una web sin API (LinkedIn, directorios de empresas, sitios de e-commerce), necesitás un scraper como Apify y en ese caso hay nodos oficiales en n8n. Firecrawl es para el caso más nuevo: que un LLM analice el contenido del sitio y extraiga datos estructurados.
Flujos de Trabajo Comunes: Ejemplos Prácticos
El catálogo de n8n Workflows tiene plantillas públicas. La más citada para enrichment es la plantilla de enriquecimiento de empresas con GPT, que toma una URL, extrae el contenido de la web y le pide a un modelo de lenguaje que devuelva nombre, industria, descripción, tamaño y tecnologías en formato JSON.
Tres workflows que la comunidad usa con frecuencia en 2026:
- Lead enrichment desde formulario: Typeform/Tally → HTTP Request a Apollo → guardar en HubSpot o Notion. Cuando alguien llena un formulario con su email, automáticamente enriquecés el lead con datos de la empresa antes de que llegue al CRM.
- Monitoreo de tech stack de competidores: Google Sheets con dominios → HTTP Request a BuiltWith → comparar con run anterior en base de datos SQLite → notificación en Slack si cambiaron herramientas.
- Scraping con IA: Lista de URLs → Firecrawl para extraer contenido limpio → Claude o GPT para clasificar y estructurar → exportar a Google Sheets. Útil para analizar propuestas de valor de competidores o armar datasets de entrenamiento.
Paso a Paso: Crear tu Primer Workflow de Enriquecimiento
Arrancamos simple: tenés una planilla de Google Sheets con una columna `domain` y querés agregar la columna `emails` con los emails públicos de cada dominio usando Hunter.io.
Los nodos que necesitás, en orden:
- Schedule Trigger (o Manual Trigger para pruebas): disparador del workflow.
- Google Sheets → Read rows: leé las filas donde `emails` esté vacío. Configurá el filtro para no reprocesar lo que ya tenés.
- HTTP Request: URL = `https://api.hunter.io/v2/domain-search?domain={{ $json.domain }}&limit=5&api_key={{ $credentials.hunterApiKey }}`. Método: GET. Autenticación: Header Auth o Query Auth (Hunter acepta las dos).
- Set node: extraé del JSON de respuesta los emails. Algo como `{{ $json.data.emails.map(e => e.value).join(“, “) }}`.
- Google Sheets → Update row: actualizá la fila original con el campo `emails` completo.
¿Y si Hunter no encuentra nada para un dominio? Si no manejás ese caso, el workflow explota en el Set node porque intentás mapear `.emails` sobre `undefined`. Lo correcto es agregar un nodo IF antes del Set: `{{ $json.data.emails.length > 0 }}`. Los que pasan el IF se enriquecen; los que no, podés guardarlos en una columna `enrichment_status` = “no_data”.
Autenticación y Seguridad de APIs
El sistema de credenciales de n8n existe por una razón. Guardá las API keys ahí, no en el campo URL del nodo HTTP Request como texto plano. Ya lo cubrimos antes en enriquecer el CSS de tu sitio.
En la interfaz de n8n, vas a Credentials → New → Header Auth (o el tipo que corresponda a tu API). Ponés el nombre del header (`Authorization`, `X-API-Key`, o el que use tu proveedor) y el valor (`Bearer tu_token_aqui`). Una vez guardado, en el HTTP Request node seleccionás esa credencial del dropdown. Lo que ganás: las credenciales no aparecen en los logs de ejecución, podés compartir el workflow sin exponer las keys, y si rotás una key la cambiás en un solo lugar.
Para OAuth2 (APIs de Google, por ejemplo) n8n tiene flujo de autorización integrado. Para APIs con token estático (Hunter, Apollo, BuiltWith) es Header Auth o Query Auth según lo que pida cada API.
Optimización: Manejo de Errores, Límites de API y Escalado
Las APIs de enriquecimiento tienen rate limits. Apollo en el plan gratuito son 50 créditos por mes (un crédito = un contacto enriquecido). Hunter en el plan gratuito da 25 búsquedas mensuales. Si procesás una lista de 500 dominios de un tirón, vas a agotar el plan en segundos y el resto de los items va a fallar con 429.
Dos enfoques para manejarlo: el primero es agregar un nodo Wait configurado en 1-2 segundos entre iteraciones del HTTP Request, lo que baja la velocidad de procesamiento pero evita los 429. El segundo es procesar en batches chicos con el Split in Batches node (por ejemplo, 10 items por batch) y agregar un Wait entre batches.
El HTTP Request tiene configuración nativa de reintentos. En las opciones del nodo podés activar “On Error” → “Retry on Fail” y definir la cantidad de reintentos y el intervalo. Eso resuelve errores transitorios de red o timeouts sin que el workflow entero falle. Tema relacionado: automatizar tus publicaciones.
Para workflows de producción con listas grandes, la estrategia más limpia es procesar de a 50-100 items por run usando el Schedule Trigger diario en vez de procesar todo de una vez. Más lento, pero nunca se traba.
Herramientas Complementarias para Website Enrichment
Para sitios simples con una API bien documentada, HTTP Request alcanza. El tema es que muchos datos que necesitás no tienen API pública: páginas de producto en e-commerce, perfiles en directorios de empresas, contenido detrás de login.
Apify tiene un nodo oficial en n8n que te deja correr cualquiera de sus “actors” (scrapers prearmados para LinkedIn, Amazon, Google Maps, páginas genéricas) directo desde el workflow. El costo es en créditos de Apify y la complejidad de configurar el actor es baja porque ellos ya resolvieron la parte de evitar bloqueos y parsear el HTML.
Firecrawl va un paso más allá: no solo extrae el texto del sitio sino que puede devolverte el contenido en formato Markdown limpio, listo para pasarle a un LLM. Si tu enrichment incluye “¿de qué trata este sitio?” o “¿qué servicios ofrece esta empresa?”, Firecrawl + un nodo de Claude o GPT es la combinación más directa.
Para scraping de páginas que requieren JavaScript (SPAs, React, Angular), ni Firecrawl ni el HTTP Request básico funcionan. Ahí necesitás Apify con un actor de browser, o Selenium/Playwright corriendo en tu propia infraestructura, conectado a n8n via HTTP Request a un endpoint propio. Si tenés tu workflow corriendo en un VPS, donweb.com tiene planes de VPS que sirven perfectamente para alojar la instancia de n8n y el servicio de scraping en el mismo servidor.
Errores Comunes al Configurar Enriquecimiento en n8n
1. No manejar respuestas vacías o errores 404. Si la API no encuentra datos para un dominio, puede devolver un array vacío, un campo `null` o directamente un status 404. Si el nodo siguiente asume que siempre va a haber datos y hace un map o accede a una propiedad inexistente, el workflow falla. Agregá siempre un nodo IF para validar que la respuesta tiene datos antes de procesarla. Para más detalles técnicos, mirá trabajar con APIs de redes sociales.
2. Hardcodear API keys en la URL. Ya lo mencioné arriba pero se sigue viendo: gente que pone `?api_key=sk-abc123` directamente en el campo de URL. Esas keys aparecen en los logs de ejecución de n8n, en exports de workflows y en cualquier screenshot que hagas. Usá el sistema de credenciales.
3. Procesar listas enteras sin paginación. La mayoría de las APIs de enriquecimiento paginan sus resultados. Si hacés una búsqueda que devuelve 500 resultados pero la API solo te da 100 por request, te perdés el 80% de los datos. Revisá la documentación de cada API para ver si tiene campo `next_page_token`, `offset` o similar, y armá un loop en n8n con el nodo Loop Over Items hasta que la respuesta diga que no hay más páginas.
4. No guardar los resultados intermedios. Si un workflow de enrichment falla a la mitad de una lista de 200 items, sin guardado intermedio tenés que volver a arrancar desde cero. Guardá los resultados parciales en Google Sheets o en una base de datos a medida que se procesan, y filtrá al arrancar los que ya tienen datos.
Preguntas Frecuentes
¿Cómo configuro un workflow de enriquecimiento de datos en n8n?
Necesitás mínimo tres nodos: un trigger (manual, schedule o webhook), un HTTP Request node configurado con la URL de la API de datos y tus credenciales, y un nodo de destino (Google Sheets, base de datos, CRM). La clave está en usar expresiones dinámicas en la URL del HTTP Request para insertar los valores del nodo anterior, como `{{ $json.email }}` o `{{ $json.domain }}`.
¿Qué nodo de n8n uso para extraer datos de un sitio web?
El nodo HTTP Request para APIs con respuesta estructurada. Si el sitio no tiene API, usá el nodo Apify (disponible en el catálogo oficial de n8n) para scraping, o el nodo Firecrawl si necesitás extraer contenido limpio para procesarlo con un LLM. Para sitios con JavaScript que renderizan contenido dinámicamente, Apify con un actor de browser es la opción más robusta.
¿Cómo enriquecer leads usando APIs en n8n?
El workflow típico es: formulario o CRM como trigger → HTTP Request a una API como Apollo.io o Hunter.io con el email o dominio del lead → parsear la respuesta con un Set node → actualizar el lead en tu CRM o planilla. n8n tiene integraciones nativas con HubSpot, Pipedrive y Salesforce, así que no necesitás hacer el update via HTTP Request si usás alguno de esos CRMs.
¿Cuánto cuesta configurar n8n para enriquecimiento de datos?
n8n en self-hosted es gratis. El costo está en las APIs de datos: Hunter.io tiene plan gratuito de 25 búsquedas/mes, Apollo.io 50 créditos/mes gratis, Apify USD 5 de créditos gratuitos mensuales. Para volúmenes de producción, Apollo Pro sale USD 49/mes, Hunter Starter USD 34/mes. El hosting de n8n en un VPS básico (2GB RAM alcanza para la mayoría de los workflows) cuesta entre USD 5 y USD 15 mensuales.
¿Cómo usar HTTP Request en n8n para obtener datos de websites?
En el nodo HTTP Request configurás: Method (GET para la mayoría de las APIs de consulta), URL con expresiones dinámicas para insertar datos del nodo anterior, y Authentication con la credencial guardada en el sistema de credenciales de n8n. En Response, seleccioná “JSON” para que n8n parsee la respuesta automáticamente. El resultado queda disponible en `$json` para el siguiente nodo.
Conclusión
El enriquecimiento de datos en n8n no es complejo una vez que entendés el flujo básico: trigger, HTTP Request con expresiones dinámicas, validación de respuesta, guardado. Lo que sí cambia el resultado final es la calidad de la fuente que uses y si te tomás el trabajo de manejar errores y rate limits desde el principio.
Para arrancar, la plantilla de enriquecimiento de empresas con GPT disponible en el catálogo oficial es un buen punto de partida porque ya tiene armada la estructura y podés adaptarla a tu caso de uso. Si lo que necesitás es scraping de sitios sin API, Apify integrado con n8n resuelve la mayoría de los casos sin tener que mantener tu propio scraper.






