En esta página
n8n es una de las plataformas de automatización de flujos más populares, con más de 400 integraciones y un constructor visual que hace que los pipelines complejos parezcan simples. CrawlForge MCP añade 26 herramientas especializadas de web scraping a tu kit de n8n: le da a tus flujos automatizados la capacidad de obtener páginas, extraer datos estructurados, monitorear cambios y realizar investigaciones profundas sin escribir una sola línea de código de scraping.
Esta guía te lleva paso a paso por la conexión de CrawlForge con n8n, la creación de tu primer flujo de scraping y el escalado a pipelines de nivel de producción.
Tabla de contenidos
- Requisitos previos
- Cómo funciona CrawlForge con n8n
- Paso 1: configura el nodo HTTP Request
- Paso 2: crea un flujo de monitoreo de precios
- Paso 3: añade programación y notificaciones
- Avanzado: pipeline de rastreo multipágina
- Desglose de costo en credits
- Errores comunes y soluciones
- Próximos pasos
Requisitos previos
Antes de empezar, necesitarás:
- n8n instalado localmente o ejecutándose en la nube (n8n.io)
- Una API key de CrawlForge -- regístrate gratis para obtener 1,000 credits
- Familiaridad básica con el editor visual de flujos de n8n
Cómo funciona CrawlForge con n8n
CrawlForge expone una API REST en https://crawlforge.dev/api/v1/tools/. Cada una de las 26 herramientas tiene su propio endpoint. Llamas a estos endpoints desde el nodo HTTP Request de n8n, pasando tu API key en la cabecera Authorization y los parámetros de la herramienta en el cuerpo JSON.
El flujo se ve así:
Trigger (Schedule/Webhook) -> HTTP Request (CrawlForge) -> Transform Data -> Output (Slack/Email/DB)
No hay nodos personalizados de n8n que instalar. No hay paquetes npm. Solo peticiones HTTP estándar.
Paso 1: configura el nodo HTTP Request
Abre n8n y crea un flujo nuevo. Añade un nodo HTTP Request y configúralo:
// n8n HTTP Request Node Configuration
// Method: POST
// URL: https://crawlforge.dev/api/v1/tools/extract_content
// Headers:
{
"Authorization": "Bearer cf_live_your_api_key_here",
"Content-Type": "application/json"
}
// Body (JSON):
{
"url": "https://news.ycombinator.com"
}Configura la Authentication como "Header Auth" con:
- Name:
Authorization - Value:
Bearer cf_live_your_api_key_here
Haz clic en Execute Node para probar. Deberías ver el contenido extraído y limpio de la página de destino en el panel de salida. Esta llamada cuesta 2 credits.
Configuración de credenciales reutilizables
Para no repetir tu API key en cada nodo, crea una credencial de Header Auth en n8n:
- Ve a Settings > Credentials > Add Credential
- Selecciona Header Auth
- Pon Name en
Authorizationy Value enBearer cf_live_xxxxx - Guárdala como "CrawlForge API"
Ahora cada nodo HTTP Request puede referenciar esta credencial.
Paso 2: crea un flujo de monitoreo de precios
Aquí tienes un flujo práctico que monitorea a diario las páginas de precios de la competencia y envía una alerta a Slack cuando los precios cambian.
Arquitectura del flujo
Schedule Trigger (Daily 9am)
-> HTTP Request: CrawlForge scrape_structured
-> IF Node: Compare with yesterday's data
-> Slack Node: Send alert if changed
-> Google Sheets Node: Log all prices
El nodo de scraping
Configura el nodo HTTP Request para usar la herramienta scrape_structured de CrawlForge:
// POST https://crawlforge.dev/api/v1/tools/scrape_structured
{
"url": "https://competitor.com/pricing",
"selectors": {
"plan_names": ".pricing-card h3",
"plan_prices": ".pricing-card .price",
"plan_features": ".pricing-card .feature-list li"
}
}
// Response:
{
"success": true,
"data": {
"plan_names": ["Starter", "Pro", "Enterprise"],
"plan_prices": ["$29/mo", "$99/mo", "$299/mo"],
"plan_features": ["5K requests", "50K requests", "Unlimited"]
}
}Esta llamada cuesta 2 credits. Ejecutándola a diario durante 30 días = 60 credits al mes para un competidor. Monitorea 10 competidores por solo 600 credits/mes, holgadamente dentro del plan Hobby.
La lógica de comparación
Usa el nodo IF de n8n para comparar los precios de hoy con la ejecución anterior. El nodo Code puede almacenar y comparar valores:
// n8n Code Node: Compare prices
const currentPrices = $input.first().json.data.plan_prices;
const previousPrices = $('Google Sheets').first().json.plan_prices;
const changes = currentPrices.filter(
(price: string, i: number) => price !== previousPrices[i]
);
return [{
json: {
hasChanges: changes.length > 0,
changes,
currentPrices,
previousPrices,
timestamp: new Date().toISOString()
}
}];Paso 3: añade programación y notificaciones
Schedule Trigger
Añade un nodo Schedule Trigger al inicio de tu flujo:
- Trigger Interval: Every day
- Hour: 9 (se ejecuta a las 9:00 AM)
- Timezone: tu zona horaria local
Notificación de Slack
Añade un nodo Slack después del nodo IF (rama true):
Channel: #competitive-intel
Message: "Price change detected on competitor.com:
Previous: {{ $json.previousPrices }}
Current: {{ $json.currentPrices }}
Changed at: {{ $json.timestamp }}"
Avanzado: pipeline de rastreo multipágina
Para trabajos de scraping más grandes, usa la herramienta batch_scrape de CrawlForge para procesar varias URL en una sola llamada a la API.
// POST https://crawlforge.dev/api/v1/tools/batch_scrape
{
"urls": [
"https://competitor-a.com/pricing",
"https://competitor-b.com/pricing",
"https://competitor-c.com/pricing",
"https://competitor-d.com/pricing",
"https://competitor-e.com/pricing"
],
"formats": ["json", "text"],
"includeMetadata": true,
"maxConcurrency": 5
}Esto procesa las 5 URL en paralelo por 5 credits en total, frente a 5 llamadas extract_content separadas a 2 credits cada una (10 credits). Agrupar ahorra un 50 % en trabajos con varias URL.
Usa el nodo Split In Batches de n8n para procesar los resultados de uno en uno si lo necesitan los nodos posteriores.
Desglose de costo en credits
| Flujo | Herramientas usadas | Credits por ejecución | Mensual (diario) |
|---|---|---|---|
| Extracción de una página | extract_content | 2 | 60 |
| Monitoreo de precios (1 sitio) | scrape_structured | 2 | 60 |
| Batch scrape (5 URL) | batch_scrape | 5 | 150 |
| Rastreo de sitio completo | crawl_deep | 5 | 150 |
| Pipeline de investigación | deep_research | 10 | 300 |
El nivel Free (1,000 credits únicos) cubre unos 16 scrapings diarios de una página durante algunas semanas. El plan Hobby ($19/mes, 5,000 credits) maneja la mayoría de los flujos de producción.
Errores comunes y soluciones
401 Unauthorized: tu API key falta o es inválida. Comprueba el formato de la cabecera Authorization: Bearer cf_live_xxxxx.
429 Rate Limited: estás enviando demasiadas peticiones por segundo. Añade un nodo Wait entre los nodos HTTP Request con un retraso de 1 segundo, o usa batch_scrape para combinar peticiones.
Cuerpo de respuesta vacío: el sitio de destino puede requerir renderizado de JavaScript. Cambia de extract_content a scrape_with_actions (5 credits) para páginas dinámicas.
Próximos pasos
Ahora tienes un pipeline funcional de CrawlForge + n8n. A partir de aquí, puedes:
- Añadir manejo de errores con el nodo Error Trigger de n8n
- Almacenar resultados en PostgreSQL, Airtable o Google Sheets
- Encadenar herramientas: usa
search_webpara encontrar URL y luegoextract_contentpara procesarlas - Explorar las 26 herramientas en la documentación de CrawlForge
Para más patrones de integración, echa un vistazo a:
- Guía de inicio rápido de CrawlForge
- 18 herramientas de web scraping en un solo MCP server
- Crear un asistente de investigación con IA
¿Listo para automatizar tus flujos de web scraping? Empieza gratis con 1,000 credits: sin tarjeta de crédito.
Pruébalo tú mismo — sin necesidad de registrarte
Ejecuta cualquiera de las 27 herramientas de scraping y extracción de CrawlForge en el playground y luego empieza gratis con 1,000 credits.
1,000 credits gratis • Se recargan cada mes • No se requiere tarjeta de crédito
Etiquetas
Sobre el autor
Mantente al día con los últimos artículos
Recibe tutoriales, novedades del producto y consejos de web scraping en tu bandeja de entrada.
Sin spam. Cancela tu suscripción cuando quieras.