Recursos · Integración n8n

Integración Apify n8nAutomatiza Apify con n8n.

La integración Apify n8n convierte un scraping en un paso más del flujo de trabajo. El nodo reúne 12 operaciones repartidas en 5 recursos, desde lanzar un Actor hasta leer el dataset que ha llenado, y el Apify Trigger escucha 5 eventos de run a lo largo de todo el ciclo del run.

Nodo comunitario Este nodo no viene con n8n: es un paquete comunitario (@apify/n8n-nodes-apify) que instalas desde Settings › Community nodes en una instancia autoalojada. npm

Reseñas verificadas en Trustpilot · Agencia de IA, automatización y growth

Por qué automatizar

¿Qué resuelve la integración Apify n8n?

Apify ejecuta programas en la nube llamados Actors que recorren sitios y devuelven datos estructurados. El nodo de n8n gobierna esa plataforma desde un flujo de trabajo: lanza un Actor o una tarea guardada, espera al final del run cuando así lo pides, y después lee el dataset o el registro del key-value store que ha quedado. El Apify Trigger hace el camino contrario y despierta un flujo en cuanto un run termina.

Empieza por lo más simple, una página cada vez. Actors.Scrape single URL pasa una dirección por el Actor Website Content Crawler y devuelve el contenido en markdown, HTML o texto plano. Es el formato que quieres cuando después lo lee un paso de IA, o cuando enriqueces filas que ya viven en MySQL.

Sube un nivel y aparece el crawl largo. Hay Actors que tardan mucho más de lo que conviene tener una ejecución en pausa, así que los disparas con Actors.Run actor y sigues. El Apify Trigger recoge el testigo en ACTOR.RUN.SUCCEEDED, otro flujo lee el dataset y un mensaje de Slack avisa al equipo. Los fallos entran por el mismo trigger, bajo ACTOR.RUN.FAILED.

Tercer patrón, el informe semanal. Todo cabe en una sola ejecución con Actors.Run actor and get dataset: lanza, espera y saca las filas. Si prefieres recibir la señal desde otro sistema antes de lanzar nada, el nodo Webhook abre esa puerta.

El nodo se queda en 12 operaciones. Para el resto de la API de Apify, el nodo HTTP Request llama a cualquier endpoint reutilizando el mismo credential mediante la autenticación predefinida, sin copiar la clave en dos sitios.

Dos límites conviene tenerlos claros antes de montar nada. La espera dentro del nodo está acotada por el timeout de flujo definido en tu configuración de n8n, así que Wait for Finish no sustituye al trigger en un crawl lento. Y las operaciones de listado devuelven una página de resultados cada vez, con Offset y Limit decidiendo cuánto vuelve. Si todavía estás comparando plataformas, la Reseña n8n repasa los criterios.

Conexión

¿Cómo se conecta Apify con n8n?

  1. 01

    Instalar el paquete del nodo comunitario

    Apify no viene con n8n. En una instancia autoalojada, abre Settings y luego Community nodes, e instala el paquete npm @apify/n8n-nodes-apify (versión 0.7.0). Cuando termine la instalación, Apify y Apify Trigger aparecen en el panel de nodos y se usan igual que cualquier otro nodo del lienzo.

  2. 02

    Crear el credential de Apify

    Un credential es el acceso que se guarda una vez en n8n y se reutiliza en todas partes; se crea desde el menú Credentials. Apify admite dos métodos: API Key, que figura como apifyApi, y OAuth2, que figura como apifyOAuth2Api. Elige el que encaje con la forma en que tu equipo gestiona los accesos y esa entrada servirá para toda la instancia.

  3. 03

    Elegir el credential en el nodo

    Coloca un nodo Apify en el lienzo y selecciona el credential en la lista desplegable de la parte superior. Después escoge el recurso y la operación, por ejemplo Actor y Run an Actor. El Apify Trigger pide ese mismo credential, y lo necesita antes de poder registrar su URL de webhook en Apify al activar el flujo.

Disparadores

¿Qué puede arrancar un flujo desde Apify ?

Apify Trigger es el nodo que arranca un workflow cuando algo ocurre en Apify. Escucha 5 eventos, listados abajo por familia. Eliges uno o varios, activas el workflow y n8n registra el webhook (la URL que Apify llama) en tu cuenta.

Lo que ves en n8n

Todos los eventos, por familia

Una fila por objeto, un chip por acción. El evento que marcas en el nodo se escribe objeto.acción; pasa el cursor por un chip para leer cuándo se dispara.

ACTOR.*4
  • ACTOR.RUN.
    • ABORTED
    • FAILED
    • SUCCEEDED
    • TIMED_OUT
any.*1
  • any.
    • any

Notas de configuración

01Set up the Apify TriggerUn trigger es el nodo que arranca un flujo de trabajo. El de Apify funciona por webhook: n8n entrega una URL a Apify y Apify la llama. El registro ocurre al activar el flujo, y cada evento llega en cuestión de segundos.

Un trigger es el nodo que arranca un flujo de trabajo. El de Apify funciona por webhook: n8n entrega una URL a Apify y Apify la llama. El registro ocurre al activar el flujo, y cada evento llega en cuestión de segundos.

Parámetros clave

  • Resource to Watch: si el disparo ocurre al terminar un run de Actor o al terminar un run de tarea. Esa elección manda sobre cuál de los dos campos siguientes rellenas.
  • Actor Source: alterna entre tus Actors usados recientemente y explorar la Apify Store, lo que cambia el contenido de la lista Actor.
  • Actor: obligatorio, el identificador del Actor o el par de nombre de usuario y nombre de Actor separados por una tilde.
  • Actor Task: la tarea de Apify que quieres vigilar, tomada de la lista o puesta con una expresión, la sintaxis de n8n que va a buscar un valor en lugar de escribirlo.
  • eventType: los eventos que marcas. Este trigger no tiene valor comodín, así que la selección es explícita.
Cuándo usarlo
siempre que el trabajo suceda en Apify y n8n solo necesite enterarse de cuándo ha acabado.
02Actor run eventsCuatro de los cinco eventos cuentan cómo acabó un run, y cada uno pide una reacción distinta. Merece la pena repartirlos en ramas separadas, porque lo interesante viene después de la recepción.

Cuatro de los cinco eventos cuentan cómo acabó un run, y cada uno pide una reacción distinta. Merece la pena repartirlos en ramas separadas, porque lo interesante viene después de la recepción.

Parámetros clave

  • ACTOR.RUN.SUCCEEDED: el run terminó bien. Es el que alimenta Get dataset items y todo lo que consume esas filas.
  • ACTOR.RUN.FAILED: el run falló. Va directo a una alerta, porque un scraping callado se parece demasiado a una semana sin datos.
  • ACTOR.RUN.TIMED_OUT: el run agotó su plazo. Suele indicar que el Timeout o el alcance de la entrada necesitan un ajuste.
  • ACTOR.RUN.ABORTED: el run se interrumpió, incluido el caso de un techo de coste alcanzado.
Casos de uso
un flujo que reacciona al éxito y mueve los datos, y otro que vigila las tres vías de fallo y las reporta en un único sitio.
03Any terminal eventLa segunda familia de eventos cabe en un solo valor, que cubre todos los finales a la vez. Encaja cuando el reparto de caminos ocurre más adelante en el flujo y no en el propio trigger. Es el único valor de su familia y convive con los cuatro finales con nombre, en vez de sustituirlos.

La segunda familia de eventos cabe en un solo valor, que cubre todos los finales a la vez. Encaja cuando el reparto de caminos ocurre más adelante en el flujo y no en el propio trigger. Es el único valor de su familia y convive con los cuatro finales con nombre, en vez de sustituirlos.

Parámetros clave

  • any: se dispara con cualquier evento terminal, de modo que éxito, fallo, plazo agotado e interrupción salen por la misma salida. Ahorra marcar cuatro casillas cuando te interesan las cuatro.
Cuándo usarlo
un flujo de auditoría que registra todos los runs de un Actor concreto, pase lo que pase, y solo separa los caminos cuando ya tiene el detalle del run. El reparto se hace entonces sobre el estado.
Acciones

¿Qué sabe hacer el nodo Apify ?

El nodo Apify expone 12 operaciones en 5 recursos. Para cada una: el nodo tal como lo configuras en n8n, los campos obligatorios y nuestras notas de campo.

Matriz recursos × operaciones
RecursoAbort runGet ItemsGet Key-Value Store RecordGet Last RunGet runGet runsGet User Runs ListRun an ActorRun an Actor and Get DatasetRun TaskRun Task and Get DatasetScrape Single URL
Actor✓✓✓✓
Actor Task✓✓
Actor Run✓✓✓✓
Dataset✓
Key-Value Store✓

Actor

4 operaciones
01

Run an Actor

Actors.Run actor

Lo que ves en n8n

Notas y casos de uso

Lanza un Actor y devuelve el run, sin esperar necesariamente a que acabe. La mitad de lanzar y soltar del nodo, la que acompaña al trigger en crawls largos.

Parámetros clave

  • Actor: obligatorio, en formato username~actor-name o identificador simple.
  • Input JSON: reemplaza la entrada prerrellenada. Campos habituales en un scraper web: startUrls, maxCrawlPages, proxyConfiguration. Con {} valen los ajustes por defecto.
  • Wait for Finish: mantiene abierta la ejecución hasta el final del run, sin pasar del timeout de flujo.
  • Maximum Cost per Run (USD): interrumpe el run al alcanzar el importe, en Actors facturados por evento o resultado.
Casos de uso
arrancar el rastreo completo de un sitio desde un formulario recibido; el trigger se ocupa del resto.
02

Run an Actor and get dataset

Actors.Run actor and get dataset

Lo que ves en n8n

Notas y casos de uso

Un nodo para tres gestos: arranca el Actor, espera a que termine y devuelve los items del dataset. Las filas salen listas: el nodo siguiente trabaja con datos reales, no con un identificador de run.

Parámetros clave

  • Actor: obligatorio, el Actor que se lanza, localizable en la Apify Store.
  • Input JSON: la entrada del run, cuya estructura depende del Actor. El esquema exacto se consulta en la Apify Console.
  • Timeout: un plazo de run en segundos, en lugar de la configuración por defecto del Actor.
  • Memory: el límite de memoria en megabytes, desde 128 hasta 32768.
Casos de uso
un crawl corto resuelto en una sola ejecución, cuando esperar un momento sale mejor que montar un segundo flujo.
03

Scrape single URL

Actors.Scrape single URL

Lo que ves en n8n

Notas y casos de uso

Pasa una página por el Actor Website Content Crawler y devuelve su contenido en texto, markdown y HTML. No hay que buscar ningún identificador de Actor, por eso es la vía más corta para leer una página desde un flujo.

Parámetros clave

  • URL: la dirección que se va a scrapear. Tiene que empezar por http:// o https:// y ser válida.
  • Crawler Type: cheerio, jsdom, playwright:adaptive o playwright:firefox, según cuánto dependa la página de los scripts.
  • Output Format: markdown para agentes de IA y modelos de lenguaje, html para procesado programático, text para contenido sin formato.
Casos de uso
releer cada semana la página de precios de un competidor y entregar el markdown a un paso de resumen.
04

Get last run

Actors.Get last run

Lo que ves en n8n

Notas y casos de uso

Recupera el run más reciente de un Actor, con su estado y sus almacenes, sin necesidad de conocer antes un identificador de run. Viene bien cuando el flujo arranca en otro sitio que no es Apify.

Parámetros clave

  • Actor: obligatorio, el identificador del Actor o el par de nombre de usuario y nombre de Actor separados por una tilde.
  • Status: acota la respuesta a un estado, entre READY, RUNNING, SUCCEEDED, FAILED, ABORTING, ABORTED, TIMING-OUT y TIMED-OUT.
Casos de uso
una comprobación matinal que pide el último run correcto de un crawler y saca de ahí el identificador de dataset para el informe del día.

Actor Task

2 operaciones
05

Run task

Actor tasks.Run task

Lo que ves en n8n

Notas y casos de uso

Una tarea es una configuración de Actor guardada en Apify Console. Esta operación ejecuta una y devuelve todos sus detalles. La entrada se queda del lado de Apify, lo que deja el nodo de n8n muy corto.

Parámetros clave

  • Actor Task: obligatorio, como username~task-name o como identificador simple.
  • Use Custom Body: actívalo para sobrescribir la entrada guardada en la tarea.
  • Input (JSON): la sobrescritura en sí, que sigue el esquema de entrada del Actor que hay detrás de la tarea.
  • Build Tag: el build que se ejecuta, en lugar del fijado en los ajustes de la tarea.
Casos de uso
una tarea guardada por mercado, lanzada en bucle, con las URL en la tarea y el calendario en el flujo.
06

Run task and get dataset

Actor tasks.Run task and get dataset

Lo que ves en n8n

Notas y casos de uso

La misma tarea guardada, pero aquí el nodo espera y saca directamente los items del dataset. Desaparece el segundo salto cuando la tarea acaba lo bastante rápido como para caber en una ejecución.

Parámetros clave

  • Actor Task: obligatorio, la tarea que se lanza, gestionada en la Apify Console.
  • Use Custom Body: indica si la entrada guardada se sustituye en este run.
  • Timeout: un plazo de run en segundos que se impone a los ajustes de la tarea.
  • Maximum Cost per Run (USD): el techo en USD a partir del cual el run se interrumpe. Vacío, no hay límite.
Casos de uso
una lista de contactos recurrente, donde la misma tarea corre cada mañana y las filas pasan al nodo siguiente.

Actor Run

4 operaciones
07

Get user runs list

Actor runs.Get user runs list

Lo que ves en n8n

Notas y casos de uso

Devuelve el historial de runs de toda la cuenta, no el de un Actor concreto. Es la operación detrás de cualquier informe sobre lo que de verdad se ha ejecutado, y no exige ningún campo obligatorio.

Parámetros clave

  • Limit: el número máximo de runs que trae el nodo.
  • Offset: cuántas entradas se saltan al principio, 0 por defecto, que es como se recorre un historial largo.
  • Desc: ordena por startedAt de forma descendente en vez de ascendente, así los runs recientes salen primero.
  • Status: conserva solo los runs en un estado terminal, entre SUCCEEDED, FAILED, TIMED-OUT y ABORTED.
Casos de uso
un resumen semanal que cuenta cuántos runs fallaron en todos los Actors de la cuenta.
08

Get run

Actor runs.Get run

Lo que ves en n8n

Notas y casos de uso

Busca un run concreto por su identificador y devuelve sus metadatos, su estado y sus almacenes. La mayoría de flujos lo llaman justo después de un evento del trigger, para convertir una referencia suelta en algo aprovechable.

Parámetros clave

  • Run ID: obligatorio, casi siempre una expresión del tipo {{ $json.id }} que apunta al run recién terminado. Un campo obligatorio vacío bloquea la ejecución del nodo.
Casos de uso
después de un ACTOR.RUN.FAILED, recuperar el run para que el aviso lleve el estado y la referencia de almacenamiento, y no solo un identificador.
09

Get runs

Actor runs.Get runs

Lo que ves en n8n

Notas y casos de uso

Lista los runs de un Actor concreto, y ahí está la diferencia con el historial de la cuenta. Sirve para mirar un mismo crawler a lo largo del tiempo.

Parámetros clave

  • Actor: obligatorio, el Actor cuyo historial quieres, como identificador o como par separado por una tilde.
  • Status: filtra la lista, y aquí un valor vacío equivale a All junto a los estados individuales.
  • Desc: invierte el orden ascendente que se aplica por defecto sobre startedAt.
  • Limit: el número máximo de resultados, junto a Offset para recorrer el resto.
Casos de uso
detectar que un scraper agota su plazo tres mañanas seguidas, antes de que la falta de filas se note en otro lado.
10

Abort an Actor run

Actor runs.Abort run

Lo que ves en n8n

Notas y casos de uso

Detiene un run que sigue en marcha. Es la única operación del nodo que modifica algo en vez de leerlo, conviene recordarlo antes de cablearla detrás de algo automático.

Parámetros clave

  • Run ID: obligatorio, el identificador del run que se detiene, normalmente traído de un nodo anterior.
  • Graceful: da al Actor tiempo de terminar su tarea en curso antes de parar. Desactivado, el run se mata de inmediato.
Casos de uso
un flujo de guardia que lista los rastreos en marcha, mira cuánto llevan corriendo y detiene los que están claramente atascados.

Dataset

1 operación
11

Get dataset items

Datasets.Get items

Lo que ves en n8n

Notas y casos de uso

Lee las filas de un dataset, que es donde un Actor deja lo que ha recogido. Es la operación que convierte un run terminado en items para los demás nodos.

Parámetros clave

  • Dataset ID: obligatorio, el identificador o bien username~dataset-name.
  • Limit: el número máximo de items devueltos, con Offset saltando los primeros para leer un dataset grande por tramos.
  • Fields: la lista separada por comas de los únicos campos que se conservan, útil con resultados de scraping muy anchos.
  • Omit: lo contrario, los campos que se excluyen; un campo que esté en ambas listas queda fuera.
Casos de uso
sacar las filas de producto tras un crawl y escribir solo nombre, precio y URL en la tabla de seguimiento.

Key-Value Store

1 operación
12

Get key-value store record

Key-Value Stores.Get Key-Value Store Record

Lo que ves en n8n

Notas y casos de uso

Los key-value stores guardan los objetos sueltos que produce un run, una captura o un fichero de resumen en vez de una tabla de filas. Esta operación lee uno de ellos por su clave.

Parámetros clave

  • Key-Value Store ID: obligatorio, el store que se consulta, a menudo el que va unido al run que acabas de recuperar.
  • Key-Value Store Record Key: obligatorio, la clave del registro buscado. Ambos campos se eligen en una lista o se ponen con una expresión.
Casos de uso
recuperar el fichero escrito bajo una clave conocida al final de un run y adjuntarlo al aviso, en lugar de releer el dataset entero.
Necesitas ayuda

¿Necesitas ayuda para automatizar Apify con n8n?

El equipo te responde directamente.

Cada mensaje lo lee una persona.

FAQ

Apify y n8n, las dudas más frecuentes

01¿La integración Apify n8n es gratuita?
Sí por el lado de n8n, con una condición. Apify es un nodo comunitario: no viene incluido con n8n. Se trata del paquete npm @apify/n8n-nodes-apify, en versión 0.7.0, que instalas tú desde Settings y luego Community nodes, en una instancia autoalojada. n8n Cloud solo acepta nodos comunitarios verificados, conviene saberlo antes de apostarlo todo ahí. Una vez instalado, el nodo no añade ningún coste en n8n, ya corras la instancia en Docker, por npm o en n8n Cloud. Un flujo construido en un sitio es idéntico en el otro. Lo que cobra Apify por su parte es otra cuestión, y esta página no entra en ella.
02¿Qué credentials necesita el nodo Apify?
Hay dos métodos disponibles: API Key, que aparece en n8n como apifyApi, y OAuth2, que aparece como apifyOAuth2Api. Coge el que encaje con la manera en que el equipo gestiona los accesos. Un credential se crea una sola vez desde el menú Credentials y luego se reutiliza en todas partes: cada nodo Apify y cada Apify Trigger, en cualquier flujo, encuentra la misma entrada en su lista desplegable. Eso cuenta también para el nodo HTTP Request, que reutiliza ese credential mediante la autenticación predefinida cuando llamas a un endpoint que el nodo dedicado no cubre. El trigger necesita el credential antes de registrar su webhook en Apify al activar el flujo.
03¿Qué límites tiene el nodo Apify en n8n?
El nodo expone 12 operaciones sobre 5 recursos: Actors, tareas, runs, datasets y key-value stores. Cubre lanzar cosas y leer resultados, poco más. Todo lo que quede fuera pasa por el nodo HTTP Request contra la API de Apify, reutilizando el mismo credential. Hay dos comportamientos que conviene prever. Las operaciones de listado devuelven una página cada vez, gobernada por Limit y Offset, así que una exportación completa se hace en bucle. Y la espera dentro del nodo con Wait for Finish está acotada por el timeout de flujo definido en tu configuración de n8n, y por eso los crawls largos se resuelven con el trigger.
04¿El Apify Trigger reacciona en tiempo real?
Sí. El Apify Trigger funciona por webhook, es decir, una URL que Apify llama cuando ocurre algo, en lugar de que n8n vaya a preguntar. n8n registra esa URL en Apify al activar el flujo, y cada evento llega en cuestión de segundos desde que el run acaba. Hay 5 eventos repartidos en 2 familias: ACTOR.RUN.SUCCEEDED, ACTOR.RUN.FAILED, ACTOR.RUN.TIMED_OUT y ACTOR.RUN.ABORTED por un lado, y el valor genérico any por otro. No existe ningún comodín más allá de ese último, así que la selección es explícita. Resource to Watch decide si escuchas runs de Actor o runs de tarea.
05¿n8n o Make para automatizar Apify?
Depende de tres criterios. El alojamiento primero: n8n corre en tus propios servidores con Docker o npm, o bien en n8n Cloud, mientras que Make solo existe alojado, sin opción de autoalojamiento. De ahí sale el segundo criterio, el control de los datos, que pesa en cuanto un dataset scrapeado contiene información que prefieres tener en casa. El modelo de coste es el tercero: Make factura por operación, así que un crawl que devuelve miles de filas no cuesta lo mismo que en un n8n autoalojado. Los dos construyen flujos en visual. El matiz propio de este nodo es que Apify es comunitario, y eso encaja mejor en una instancia autoalojada.