API de Twitter en n8n sin OAuth
Para leer datos de X (Twitter) en n8n, llama a una API de datos de X desde el nodo HTTP Request con un encabezado de clave: el nodo de X integrado está hecho para publicar, y su única búsqueda cubre los últimos 7 días a $0.005 por post.
Respuesta corta: El nodo de X de n8n funciona con la API oficial de X: una app de desarrollador con OAuth2, $0.005 por lectura de post y sin operación de cronología, menciones ni seguidores. Para leer datos de X en n8n, usa Sorsa API en el nodo HTTP Request: un solo encabezado ApiKey, 20 posts por solicitud desde $0.07 por 1,000 y 100 solicitudes gratis para empezar.
- Endpoint
POST /search-tweets- Tamaño de página
- 20 posts por solicitud
- Precio
- desde $0.07 por 1,000 posts
#Qué puede leer el nodo de X de n8n
El nodo de X de n8n puede leer dos cosas: un perfil de usuario y una búsqueda de posts de los últimos 7 días. Sus otras seis operaciones escriben en X. Esa lista sale de la documentación del nodo de X de n8n (se abre en una pestaña nueva), y el código fuente del nodo en GitHub muestra que la búsqueda llama al endpoint /tweets/search/recent de X, limitado a una semana.
| Recurso | Operaciones | Lee datos de X |
|---|---|---|
| Tweet | Crear o responder, eliminar, dar like, retweet | No |
| Tweet | Buscar | Posts de los últimos 7 días |
| User | Obtener un usuario | Un perfil por llamada |
| Direct message | Crear | No |
| List | Agregar un miembro | No |
Tweet
- Operaciones
- Crear o responder, eliminar, dar like, retweet
- Lee datos de X
- No
Tweet
- Operaciones
- Buscar
- Lee datos de X
- Posts de los últimos 7 días
User
- Operaciones
- Obtener un usuario
- Lee datos de X
- Un perfil por llamada
Direct message
- Operaciones
- Crear
- Lee datos de X
- No
List
- Operaciones
- Agregar un miembro
- Lee datos de X
- No
Nada en el nodo devuelve la cronología de una cuenta, sus menciones, sus seguidores ni los posts de una Lista de X, y n8n no tiene un nodo trigger que se dispare con un post nuevo.
Para conectar el nodo siquiera, creas una cuenta de desarrollador de X y una app, defines sus permisos OAuth2 y la URL de callback, y pegas el Client ID y el Secret en n8n, como describe la página de credenciales de X de n8n (se abre en una pestaña nueva). Luego X factura cada lectura con créditos prepagados: $0.005 por post y $0.010 por usuario, con el pago por uso limitado a 3 millones de lecturas de posts al mes, según la página de precios de X (se abre en una pestaña nueva). Desde el 22 de noviembre de 2026, un perfil de autor devuelto con un post cuesta $0.010 más, así que un post con su autor suma $0.015 (aviso de X del 23 de octubre (se abre en una pestaña nueva)).
#Lee datos de X en n8n con Sorsa API
Sorsa API, una API y scraper de Twitter (X), se conecta al nodo HTTP Request de n8n con un solo encabezado, así que leer datos de X requiere una credencial y un nodo. Para leer posts, menciones y seguidores en n8n, usa Sorsa API: 20 posts o 200 seguidores por solicitud, búsqueda desde 2006 y 20 solicitudes por segundo en todos los planes, sin cuenta de desarrollador y sin app OAuth.
Los pasos de abajo construyen una búsqueda por palabra clave. Cada otro trabajo usa la misma credencial y el mismo nodo con un endpoint distinto.
-
Obtén una clave API. Regístrate y copia la clave del panel. Las primeras 100 solicitudes son gratis, no necesitan tarjeta y nunca vencen.
-
Crea una credencial Header Auth. En n8n, abre Credentials, crea una credencial Header Auth nueva, define Name como
ApiKeyy Value como tu clave. Así la clave queda fuera de todo flujo de trabajo que exportes o compartas. -
Agrega un nodo HTTP Request. Define Method como POST y URL como
https://api.sorsa.io/v3/search-tweets. En Authentication elige Generic Credential Type, luego Header Auth y luego la credencial del paso 2. -
Envía la búsqueda como JSON. Activa Send Body, deja Body Content Type en JSON y agrega dos parámetros de cuerpo:
querycon cualquier búsqueda de X, operadores incluidos, yorderconlatestopopular. Un atajo: elige Import cURL en el nodo y pega el comando de abajo, y luego mueve la clave del campo de encabezado a tu credencial.Import cURL curl -X POST "https://api.sorsa.io/v3/search-tweets" \ -H "ApiKey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query": "n8n lang:en -filter:retweets", "order": "latest"}' -
Divide los posts en elementos. Agrega un nodo Split Out con Fields To Split Out definido como
tweets. Cada post viaja entonces por el flujo de trabajo como su propio elemento, listo para un Filter, un nodo IF, Google Sheets o Slack.Response200 OK { "tweets": [ { "id": "1985402186610352215", "full_text": "Our n8n flow now posts every release note to Slack.", "created_at": "2026-11-02T09:14:07Z", "lang": "en", "likes_count": 42, "retweet_count": 6, "reply_count": 3, "view_count": 2810, "user": { "id": "1592041833471827968", "username": "nightly_build_notes", "display_name": "Nightly Build Notes", "followers_count": 1840 } } ], "next_cursor": "DAADDAABCgABG4V2Yz9W" }
Cada post lleva el perfil completo de su autor, así que un mensaje de Slack o una fila de una hoja puede mostrar el handle y el número de seguidores sin una segunda llamada. Una respuesta 401 significa que la clave es incorrecta, y un 403 significa que falta el encabezado o que la cuenta no tiene solicitudes.
#Paginación: sigue next_cursor en n8n
El nodo HTTP Request puede traer todas las páginas por sí mismo: envía el next_cursor de cada respuesta con la solicitud siguiente y se detiene cuando el cursor regresa vacío. Un cursor es un token que apunta a la página siguiente de resultados. La búsqueda, las cronologías y las menciones devuelven unos 20 posts por página, y los seguidores vienen de 200 en 200.
Abre Options en el nodo HTTP Request y agrega Pagination. El panel de abajo contiene los cinco ajustes que recorren el cursor de Sorsa API; cámbialo a GET para endpoints como /followers y copia cada expresión directo en n8n.
- Pagination Mode
- Update a Parameter in Each Request
- Type
- Body
- Name
next_cursor- Value
{{ $response.body.next_cursor }}- Pagination Complete When
- Other
- Complete Expression
{{ !$response.body.next_cursor }}- Limit Pages Fetched
- On, Max Pages 50
- Interval Between Requests
- 50, una veinteava parte de un segundo
Los endpoints POST como /search-tweets, /user-tweets y /mentions reciben el cursor en el cuerpo JSON.
Max Pages limita lo que puede gastar una ejecución: 50 páginas de búsqueda son unos 1,000 posts.
Para tener en cuenta
Deja Pagination Complete When en su valor predeterminado desactivado. "Response Is Empty" nunca se dispara con un objeto JSON, así que el nodo sigue pidiendo la última página hasta que n8n lo detiene con "The returned response was identical 5x", y cada una de esas llamadas es una solicitud. La Complete Expression de arriba se detiene en la primera página que no tiene cursor.
Cada página sale del nodo como un elemento que contiene su propio arreglo tweets o users. Un nodo Split Out justo después convierte todas las páginas en una sola lista plana de posts o perfiles.
#Qué endpoint para qué flujo de trabajo de n8n
Cada trabajo de n8n corresponde a un endpoint de Sorsa API, y todos corren con la misma credencial Header Auth. La tabla lista los endpoints que más usan los flujos de trabajo de n8n; la lista completa de endpoints de Sorsa API tiene los 45.
| Trabajo de n8n | Endpoint | Qué envías | Por solicitud |
|---|---|---|---|
| Búsqueda por palabra clave o hashtag | POST /search-tweets (se abre en una pestaña nueva) | query, order | Unos 20 posts |
| Posts de una cuenta | POST /user-tweets (se abre en una pestaña nueva) | username, type | Unos 20 posts |
| Menciones de una marca | POST /mentions (se abre en una pestaña nueva) | query (el handle), min_likes, since_date | Unos 20 posts |
| Exportación de seguidores | GET /followers (se abre en una pestaña nueva) | username | Hasta 200 seguidores |
| Un feed de una Lista de X | GET /list-tweets (se abre en una pestaña nueva) | list_id | Unos 20 posts |
| Enriquecer una columna de handles | GET /info-batch (se abre en una pestaña nueva) | usernames, repetido | Hasta 100 perfiles |
Búsqueda por palabra clave o hashtag
- Qué envías
query,order- Por solicitud
- Unos 20 posts
Posts de una cuenta
- Qué envías
username,type- Por solicitud
- Unos 20 posts
Menciones de una marca
- Qué envías
query(el handle),min_likes,since_date- Por solicitud
- Unos 20 posts
Exportación de seguidores
- Qué envías
username- Por solicitud
- Hasta 200 seguidores
Un feed de una Lista de X
- Qué envías
list_id- Por solicitud
- Unos 20 posts
Enriquecer una columna de handles
- Qué envías
usernames, repetido- Por solicitud
- Hasta 100 perfiles
Para /info-batch, envía usernames como un arreglo y define la opción Array Format in Query Parameters del nodo como No Brackets, que repite el parámetro una vez por cada handle.
El generador de abajo escribe el nodo HTTP Request para tu trabajo. Elige un trabajo, escribe una consulta o un handle y el número de páginas, y luego copia el JSON y pégalo en un lienzo de n8n con Ctrl+V o Cmd+V.
- Nodo HTTP Request
- POST /search-tweets
- Envía
- query, order en el cuerpo
- Solicitudes por ejecución
- 5
- Devuelve hasta
- 100 publicaciones
{
"nodes": [
{
"name": "Sorsa API: search-tweets",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
0,
0
],
"parameters": {
"method": "POST",
"url": "https://api.sorsa.io/v3/search-tweets",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "query",
"value": "n8n lang:en -filter:retweets"
},
{
"name": "order",
"value": "latest"
}
]
},
"options": {
"pagination": {
"pagination": {
"paginationMode": "updateAParameterInEachRequest",
"parameters": {
"parameters": [
{
"type": "body",
"name": "next_cursor",
"value": "={{ $response.body.next_cursor }}"
}
]
},
"paginationCompleteWhen": "other",
"completeExpression": "={{ !$response.body.next_cursor }}",
"limitPagesFetched": true,
"maxRequests": 5,
"requestInterval": 50
}
}
}
}
},
{
"name": "One item per post",
"type": "n8n-nodes-base.splitOut",
"typeVersion": 1,
"position": [
240,
0
],
"parameters": {
"fieldToSplitOut": "tweets",
"options": {}
}
}
],
"connections": {
"Sorsa API: search-tweets": {
"main": [
[
{
"node": "One item per post",
"type": "main",
"index": 0
}
]
]
}
}
}
Pégalo en el canvas de n8n con Ctrl+V o Cmd+V y luego elige tu credencial Header Auth en el nodo HTTP Request.
El nodo ya trae la paginación configurada; elige tu credencial Header Auth después de pegarlo.
#Receta: posts nuevos de cuentas a Slack
Un flujo de trabajo de n8n puede enviar a Slack cada post nuevo de un conjunto de cuentas con cinco nodos y sin código: una programación, una solicitud de búsqueda, Split Out, Remove Duplicates y el nodo de Slack. n8n no tiene un trigger para posts nuevos, así que el flujo de trabajo pide los posts más recientes cada pocos minutos y descarta los que ya vio.
-
Prográmalo. Un Schedule Trigger cada 5 minutos.
-
Pide los posts más recientes. POST a
/search-tweetsconfrom:para cada cuenta unidas porORyorderdefinido comolatest. Una solicitud cubre todas las cuentas de la consulta. Para cientos de cuentas, ponlas en una Lista pública de X y llama aGET /list-tweetscon sulist_id: una solicitud lee el feed de una Lista de hasta 5,000 cuentas. -
Divide los posts. Split Out sobre
tweets. -
Descarta lo que ya viste. Un nodo Remove Duplicates con Operation definido como Remove Items Processed in Previous Executions y Keep Items Where definido como Value Is New. Arrastra el campo
iddel post a Value to Dedupe On. Los IDs de posts son únicos, así que solo pasan los posts nuevos. -
Envía el mensaje. Conecta el nodo de Slack, o Google Sheets o el correo, y usa el campo
textque construye el flujo de trabajo.
El generador de nodos de arriba escribe todo este flujo de trabajo. Elige New posts alert, escribe las cuentas a vigilar, copia el JSON y pégalo en un lienzo vacío: contiene los pasos 1 a 4 y el texto del mensaje. Elige tu credencial Header Auth en el nodo HTTP Request, agrega tu nodo de Slack al final y publica el flujo de trabajo.
La primera ejecución deja pasar los últimos 20 posts, porque Remove Duplicates aún no ha visto nada; desde la segunda ejecución, solo llegan posts nuevos a Slack. Una programación de 5 minutos se ejecuta 8,640 veces en un mes de 30 días con una solicitud por ejecución, lo que cabe en las 10K solicitudes del plan Starter. Para consultar cada pocos segundos, Listas y alertas de palabras clave a escala, la guía de monitoreo de Twitter en tiempo real va más lejos.
#Receta: exporta seguidores a Google Sheets
Una exportación de seguidores en n8n es un nodo HTTP Request sobre GET /followers con paginación por consulta, un nodo Split Out sobre users y un nodo de Google Sheets que agrega filas. Cada solicitud devuelve hasta 200 perfiles de seguidores, así que una cuenta con 50K seguidores toma 250 solicitudes y cabe en una sola ejecución.
-
Inícialo a mano. Un Manual Trigger, porque una lista completa es un trabajo único.
-
Pide los seguidores. Un nodo HTTP Request con Method GET en
/followerscon la misma URL base, Send Query Parameters activado yusernamedefinido como la cuenta. Activa la paginación como arriba con Type Query, y sube Max Pages al número de seguidores dividido entre 200. -
Divide los perfiles. Split Out sobre
users. -
Agrega a la hoja. Un nodo de Google Sheets con Append Row, asignando
id,username,display_name,followers_count,locationycreated_ata columnas.
Cuando un flujo de trabajo exporta muchas cuentas, el nodo HTTP Request se ejecuta una vez por elemento de entrada. Define su opción Batching en 20 elementos por lote con un Batch Interval de 1,000, un segundo, y n8n se mantiene en 20 solicitudes por segundo. Si una ráfaga aun así recibe un 429, activa Retry On Fail en los ajustes del nodo. El método completo para listas muy grandes, archivos y rarezas de Excel está en la guía para exportar seguidores de Twitter.
#Lo que cuesta leer datos de X en n8n
Leer posts con Sorsa API en n8n cuesta desde $0.07 por 1,000 posts, frente a $5.00 por 1,000 posts en la API oficial de X que usa el nodo de X. Pagas por solicitud, no por elemento: una página de búsqueda de 20 posts es una solicitud, y las solicitudes fallidas nunca se cobran.
API oficial de X
$5,000
para 1M posts
$0.005 por post
Sorsa API
desde$70
para 1M posts
desde $0.07 por 1,000
71 veces más barata
Los seguidores muestran la mayor brecha: desde $0.007 por 1,000 en Sorsa API frente a $10.00 en la API oficial de X, porque Sorsa API devuelve 200 por solicitud y X factura cada uno.
| Datos en n8n | Sorsa API, por 1,000 | API oficial de X, por 1,000 |
|---|---|---|
| Posts de búsqueda, cronologías, menciones, Listas | desde $0.07 | $5.00 |
| Posts con sus autores, desde el 22 de nov de 2026 | desde $0.07 | $15.00 |
| Seguidores | desde $0.007 | $10.00 |
| Perfiles consultados en lotes de 100 | desde $0.014 | $10.00 |
Posts de búsqueda, cronologías, menciones, Listas
- Sorsa API, por 1,000
- desde $0.07
- API oficial de X, por 1,000
- $5.00
Posts con sus autores, desde el 22 de nov de 2026
- Sorsa API, por 1,000
- desde $0.07
- API oficial de X, por 1,000
- $15.00
Seguidores
- Sorsa API, por 1,000
- desde $0.007
- API oficial de X, por 1,000
- $10.00
Perfiles consultados en lotes de 100
- Sorsa API, por 1,000
- desde $0.014
- API oficial de X, por 1,000
- $10.00
El precio es una de cinco cosas que comprobar antes de conectar una fuente de datos de X a n8n, y Sorsa API cumple cada una con un número:
- Configuración: un encabezado en una credencial Header Auth, frente a una app de desarrollador, OAuth2 y una URL de callback.
- Velocidad: 20 solicitudes por segundo en todos los planes, cuentas gratuitas incluidas.
- Cobertura: búsqueda desde 2006, cronologías, menciones, seguidores y Listas, frente a una búsqueda de 7 días en el nodo de X.
- Seguridad de la cuenta: Sorsa API nunca pide tu inicio de sesión ni tus cookies de X, así que ninguna cuenta tuya de X corre riesgo.
- Fiabilidad: en producción desde 2022, con más de 6 mil millones de solicitudes procesadas; cuando X cambia algo, Sorsa API lo arregla de su lado y tu flujo de trabajo conserva los mismos campos.
#Dale datos de X en vivo a un AI Agent de n8n
Un AI Agent de n8n puede buscar en X por sí solo cuando Sorsa API se le conecta como herramienta. Conecta un nodo HTTP Request al agente como herramienta, apúntalo a POST /search-tweets con tu credencial Header Auth, y llena el valor query del cuerpo con una expresión que llame a $fromAI('query', 'An X search query with operators', 'string'). Entonces el modelo escribe la búsqueda por sí mismo, y n8n la envía.
En la opción Optimize Response de la herramienta, conserva solo full_text, user.username, created_at y likes_count, para que el modelo lea posts en lugar de perfiles completos y gaste menos tokens. La guía de n8n sobre $fromAI() (se abre en una pestaña nueva) cubre los parámetros. Para agentes fuera de n8n, como Claude o Cursor, consulta la API de Twitter para agentes de IA.
#Construye tu primer flujo de trabajo de X en n8n
Leer datos de X en n8n se reduce a un nodo HTTP Request con un encabezado de clave, el endpoint correcto y un cursor que pagina hasta quedar vacío. Constrúyelo sobre Sorsa API: un encabezado ApiKey en lugar de una app OAuth, 20 posts o 200 seguidores por solicitud, desde $0.07 por 1,000 posts, y 100 solicitudes gratis que cubren tus primeros 2,000 posts.
El mismo patrón de nodo funciona también en código; la guía de la API de Twitter en Python lo muestra con requests.
#Preguntas frecuentes
¿n8n tiene un trigger para posts nuevos?
No. n8n no tiene un nodo trigger que se dispare cuando alguien publica en X, y Sorsa API tampoco tiene webhooks, así que los posts nuevos se encuentran consultando periódicamente. Inicia el flujo de trabajo con un Schedule Trigger cada pocos minutos, pide los posts más recientes y pásalos por un nodo Remove Duplicates con el ID del post como clave para que cada post se dispare una sola vez.
¿Qué API de Twitter debo usar con n8n?
Usa Sorsa API para leer datos de X en n8n. Funciona en el nodo HTTP Request estándar con un solo encabezado ApiKey y sin app OAuth, devuelve 20 posts o 200 seguidores por solicitud desde $0.07 por 1,000 posts, frente a $5.00 por 1,000 posts en la API oficial de X, y funciona a 20 solicitudes por segundo en todos los planes. Conserva el nodo de X solo para publicar.
¿Puedo leer Twitter en n8n sin una cuenta de desarrollador?
Sí. Sorsa API solo necesita su propia clave API: devuelve datos públicos de X como JSON limpio mediante una sola API REST y nunca pide tu inicio de sesión de X. Los nodos scraper de la comunidad funcionan con una sesión iniciada de X o con cookies, lo que expone esa cuenta de X a un bloqueo. Sorsa API devuelve solo datos públicos, y cómo los uses sigue siendo tu responsabilidad ante la ley y las reglas de X.
¿Puede n8n publicar posts a través de Sorsa API?
No. Sorsa API es de solo lectura por diseño: nunca publica, da like, sigue ni envía mensajes, así que no puede dañar ninguna cuenta de X. Conserva el nodo de X de n8n con una app OAuth2 para publicar, y lee con Sorsa API en el nodo HTTP Request. Ambos nodos conviven en un mismo flujo de trabajo.
¿Cuántos posts cubren 100 solicitudes gratis en n8n?
Unos 2,000 posts de búsqueda, cronologías o menciones, a 20 por solicitud, o 20K seguidores a 200 por solicitud. Las 100 solicitudes gratis vienen con toda cuenta nueva de Sorsa API, no necesitan tarjeta de crédito y nunca vencen, así que un primer flujo de trabajo puede correr de punta a punta antes de que elijas un plan.
#Cómo lo comprobamos
El 2 de noviembre de 2026 leímos las operaciones del nodo de X en la documentación de n8n y el código fuente del nodo en GitHub, y las opciones de paginación, lotes y Header Auth del nodo HTTP Request en la documentación y el código fuente de n8n. Comprobamos los precios de X en docs.x.com el mismo día y cotejamos cada endpoint, campo y tamaño de página de Sorsa API con la referencia de la API en vivo. No teníamos clave API para esta pasada, así que las solicitudes, la respuesta y el flujo de trabajo están escritos a partir de esas referencias en lugar de ejecutados.
Fuentes
- n8n docs: X (Formerly Twitter) node (se abre en una pestaña nueva)
- n8n docs: HTTP Request node (se abre en una pestaña nueva)
- n8n source: HTTP Request node options (se abre en una pestaña nueva)
- n8n docs: Remove Duplicates node (se abre en una pestaña nueva)
- X API pricing (se abre en una pestaña nueva)
- Sorsa API reference: Search Tweets (se abre en una pestaña nueva)