Ir al contenido

API de listas de Twitter: obtén miembros y posts

Una API de listas de Twitter lee una Lista pública de X por su ID numérico y devuelve sus miembros, sus seguidores y un feed con los posts más recientes de ellos; la API oficial de X cobra $0.010 por miembro y $0.005 por post.

Respuesta corta: El ID es el número al final de la URL de la Lista, y una Lista contiene hasta 5,000 cuentas. Los endpoints de X devuelven 100 por página y requieren una cuenta de desarrollador. Para leer Listas con una sola clave, usa Sorsa API: GET /list-members devuelve 200 miembros por solicitud desde $0.007 por 1,000, y 100 solicitudes gratis cubren 20K miembros.

Endpoint
GET /list-members
Tamaño de página
200 miembros por solicitud
Precio
desde $0.007 por 1,000

#Qué puede leer una API de listas de Twitter

Una Lista de X es un grupo con nombre de hasta 5,000 cuentas y con su propia cronología, y una API puede leer tres partes de una Lista pública. Cada parte sale de su propio endpoint:

  • Miembros: las cuentas que agregó el dueño de la Lista. Es el conjunto curado que la gente exporta a hojas de cálculo y CRM.
  • Seguidores: las personas que siguen la Lista para leer su cronología, a quienes X también llama suscriptores. No son los seguidores de los miembros; para los seguidores de una cuenta, consulta la guía de la API de seguidores de Twitter.
  • El feed: la cronología de la Lista, los posts más recientes de todos los miembros en un solo lugar.

El ID de la Lista es el número largo de su dirección, x.com/i/lists/1234567890123456789. Toda solicitud sobre una Lista parte de él.

x.com/i/lists/ 1234567890123456789 el ID de la Lista: toda solicitud de Lista parte de aquí Miembros cuentas que añadió el dueño GET /list-members list_id hasta 200 miembros por solicitud Seguidores personas que siguen la Lista GET /list-followers list_link URL o ID, hasta 200 por solicitud Feed posts nuevos de todos los miembros GET /list-tweets list_id unos 20 posts por solicitud
Un ID de Lista abre las tres partes de una Lista. Solo /list-followers acepta también la URL completa.

Algunas reglas del Centro de ayuda de X (se abre en una pestaña nueva) determinan lo que puedes leer. Las Listas son públicas por defecto, y cualquiera puede seguir una pública. Una Lista privada solo la ve la cuenta que la creó, así que ninguna API la lee. Los nombres admiten hasta 25 caracteres. Nadie puede salirse de la Lista de otra persona salvo bloqueando a su dueño.

Hay dos datos que ningún endpoint de Listas devuelve: cuándo se agregó una cuenta y quién se fue. Para seguir los cambios, exporta los miembros con una frecuencia fija y compara los archivos por id. Como el dueño elige las cuentas una sola vez en la app de X y tu código solo necesita el ID, una Lista es también la unidad más sencilla para el monitoreo de Twitter en tiempo real.

#Exporta los miembros de una Lista a CSV

Para exportar una Lista, usa Sorsa API, una API y scraper de Twitter (X): su GET /list-members (se abre en una pestaña nueva) devuelve hasta 200 miembros por solicitud, así que incluso una Lista llena de 5,000 miembros requiere 25 solicitudes. Los pasos de abajo escriben a cada miembro en un solo archivo CSV.

  1. Copia el ID de la Lista. Abre la Lista en x.com y toma el número que sigue a /lists/ en la barra de direcciones.

  2. Consigue una clave. Crea una cuenta y copia tu clave API del panel. Sin tarjeta, y las primeras 100 solicitudes son gratis.

  3. Pide la primera página. Envía el ID como list_id con tu clave en el encabezado ApiKey.

    Terminal
    curl -G "https://api.sorsa.io/v3/list-members" \
      -H "ApiKey: YOUR_API_KEY" \
      --data-urlencode "list_id=1234567890123456789"
    
    Respuesta200 OK
    {
      "users": [
        {
          "id": "1592041833471827968",
          "username": "dana_tracks_markets",
          "display_name": "Dana Tracks Markets",
          "description": "Rates, FX and the odd chart.",
          "location": "Chicago, IL",
          "followers_count": 48210,
          "followings_count": 612,
          "tweets_count": 15873,
          "verified": true,
          "protected": false,
          "created_at": "2014-03-09T16:22:41Z"
        }
      ],
      "next_cursor": "DAABCgABGc3yPLu__-0KAAIZsbqf"
    }
    
  4. Sigue el cursor y escribe las filas. Envía next_cursor de vuelta en cada solicitud hasta que llegue vacío, y guarda cada página a medida que llega.

    import csv
    import requests
    
    URL = "https://api.sorsa.io/v3/list-members"
    HEADERS = {"ApiKey": "YOUR_API_KEY"}
    FIELDS = ["id", "username", "display_name",
              "followers_count", "verified", "created_at"]
    
    
    def export_members(list_id, path="list_members.csv"):
        params = {"list_id": list_id}
        with open(path, "w", newline="", encoding="utf-8") as f:
            out = csv.DictWriter(f, fieldnames=FIELDS,
                                 extrasaction="ignore")
            out.writeheader()
            while True:
                r = requests.get(URL, headers=HEADERS,
                                 params=params, timeout=30)
                r.raise_for_status()
                page = r.json()
                out.writerows(page.get("users", []))
                cursor = page.get("next_cursor")
                if not cursor:
                    break
                params["next_cursor"] = cursor
    
    
    export_members("1234567890123456789")
    

Cada fila es un perfil público completo: el mismo id, nombre de usuario, biografía, ubicación, contadores y fecha de creación que devuelven los endpoints de perfiles. Usa id como clave en tus archivos, ya que el nombre de usuario puede cambiar y el ID nunca cambia. Un 403 significa que la clave falta o ya no tiene solicitudes; un 429 significa que enviaste más de 20 solicitudes en un segundo con esa clave, así que espera un segundo y envíala de nuevo.

El mismo ciclo exporta los seguidores de una Lista con GET /list-followers (se abre en una pestaña nueva), también hasta 200 seguidores por página. Cambia la ruta y envía la Lista como list_link en lugar de list_id.

Para tener en cuenta

Los dos parámetros son distintos. /list-members y /list-tweets reciben list_id, solo el número. /list-followers recibe list_link, que acepta la URL completa de la Lista o el número. Pegar la dirección completa en list_id es un descuido fácil, así que déjala solo con los dígitos antes de enviarla.

#Lee los posts de una Lista como un solo feed

GET /list-tweets (se abre en una pestaña nueva) devuelve la cronología de la Lista: los posts más recientes de todos sus miembros, unos 20 por solicitud, cada uno con su texto, su fecha, sus contadores de me gusta, respuestas, reposts y vistas, y el perfil del autor. Una solicitud cubre todas las cuentas de la Lista, sean 12 o 5,000.

El feed no tiene un filtro "desde", así que un monitor lo lee desde arriba y se detiene en el primer post que ya guardó. Los IDs Snowflake, los números que X le da a cada post, crecen con el tiempo, así que el ID más reciente que guardaste marca dónde terminó la revisión anterior.

Feed de la Lista, recientes primero 12:04 nuevo, guardar 12:03 nuevo, guardar 12:01 nuevo, guardar parar aquí 12:00 ID guardado 11:57 ya guardado 11:52 ya guardado Guarda el ID más nuevo, 12:04. Cinco minutos después la siguiente revisión lee desde arriba y para en 12:04: una solicitud cubre todos los posts nuevos si llegaron menos de 20.
Lee desde arriba, guarda lo nuevo y detente en el primer post que ya tienes.

Este ciclo revisa una Lista cada cinco minutos e imprime cada post nuevo una sola vez:

Python
import time
import requests

URL = "https://api.sorsa.io/v3/list-tweets"
HEADERS = {"ApiKey": "YOUR_API_KEY"}
LIST_ID = "1234567890123456789"


def new_posts(seen, max_pages=10):
    """Read the feed from the top until a post we already have."""
    fresh, params = [], {"list_id": LIST_ID}
    for _ in range(max_pages):
        r = requests.get(URL, headers=HEADERS,
                         params=params, timeout=30)
        r.raise_for_status()
        page = r.json()
        for tweet in page.get("tweets", []):
            if tweet["id"] in seen:
                return fresh
            fresh.append(tweet)
        cursor = page.get("next_cursor")
        if not cursor:
            break
        params["next_cursor"] = cursor
    return fresh


seen = set()
while True:
    for t in reversed(new_posts(seen)):
        seen.add(t["id"])
        print(t["created_at"], "@" + t["user"]["username"],
              t["full_text"][:80])
    time.sleep(300)  # check again in 5 minutes

En producción, guarda seen en una base de datos y limítalo a los últimos miles de IDs. El tope max_pages mantiene la primera ejecución, cuando todavía no hay nada guardado, en 200 posts.

El feed está pensado para lo nuevo. Para los posts más antiguos de una Lista, usa la búsqueda: pon los nombres de usuario de los miembros en operadores from: unidos con OR, por lotes, y envía la consulta a POST /search-tweets (se abre en una pestaña nueva) con un rango de fechas. La guía de la API de búsqueda de Twitter explica los operadores, y el archivo llega hasta 2006.

#Por qué una Lista rinde más que consultar cada cuenta

El feed de una Lista cuesta una solicitud por revisión sin importar cuántas cuentas contenga, mientras que leer la cronología propia de cada cuenta cuesta una solicitud por cuenta en cada revisión. Con 500 cuentas revisadas cada 5 minutos, son 4.3 millones de solicitudes al mes una por una y 8,640 con una Lista, siempre que lleguen menos de 20 posts nuevos entre revisiones.

La velocidad impone un segundo límite. A 20 solicitudes por segundo, una clave lee 1,200 cronologías por minuto, así que recorrer 5,000 cuentas una sola vez toma más de cuatro minutos. El feed de la Lista responde la misma pregunta en una solicitud, o en unas pocas cuando la Lista tiene mucha actividad.

Cuentas en la Lista

Revisar cada

Publicaciones por cuenta al día

Una solicitud por cuenta

4.3M solicitudes al mes

Cada revisión
500 solicitudes, 25 s a 20 por segundo
Plan que lo cubre
Scale, 5M al mes

Un feed de Lista

8,640 solicitudes al mes

Cada revisión
1 solicitud para unas 9 publicaciones nuevas
Plan que lo cubre
Starter, 10K al mes

El feed de la Lista necesita 500x menos solicitudes para las mismas 500 cuentas.

Elige el tamaño de la Lista, cada cuánto revisas y cuánto publican sus cuentas. Una Lista muy activa necesita páginas extra por revisión; una tranquila necesita una.

Las páginas por revisión crecen solo con la cantidad de posts nuevos: más o menos una solicitud por cada 20 posts que llegaron desde la última revisión. Una Lista vigila lo que publican las cuentas que elegiste. Para captar cada post que nombra a una marca, lo escriba quien lo escriba, busca la marca con la API de menciones de Twitter.

#Cuánto cuestan los datos de Listas por cada 1,000

Los miembros y seguidores de una Lista cuestan desde $0.007 por 1,000 en Sorsa API, y los posts de una Lista desde $0.07 por 1,000. La API oficial de X cobra $10.00 por 1,000 miembros o seguidores y $5.00 por 1,000 posts en su lista de precios de pago por uso (se abre en una pestaña nueva).

A partir del 22 de noviembre de 2026, X también cobra cada perfil de autor que llega con esos posts, a $0.010 cada uno (aviso de X del 23 de octubre (se abre en una pestaña nueva)). En Sorsa API el perfil del autor viene con cada post sin costo adicional.

Miembros exportados

API oficial de X

$500

para 50K miembros de Listas

$0.010 por miembro

Sorsa API

desde$0.35

para 50K miembros de Listas

desde $0.007 por 1,000

1,000 veces más barato

Cinco cosas deciden una API de Listas: el precio, la configuración, la tasa de solicitudes, el volumen y la seguridad de tu cuenta de X. Sorsa API lidera en cada una:

Lo que importaSorsa APIAPI oficial de X
Miembros o seguidores, por 1,000desde $0.007, 200 por solicitud$10.00, 100 por página
Posts de una Lista, por 1,000desde $0.07, unos 20 por solicitud$5.00, más $0.010 por autor desde el 22 de nov de 2026
Una Lista completa de 5,000 miembrosdesde $0.035$50.00
Configuraciónuna clave APIcuenta de desarrollador, app, bearer token, créditos prepagados
Tasa de solicitudes20 solicitudes por segundo en todos los planes900 solicitudes cada 15 minutos por endpoint de Listas
Límite de volumenplanes de hasta 10M de solicitudes al mes, más bajo pedido3M de lecturas de posts por ciclo de facturación, luego Enterprise
Tu cuenta de Xnunca se toca: sin inicio de sesión ni cookiestu cuenta de desarrollador y su app
  • Miembros o seguidores, por 1,000

    Sorsa API
    desde $0.007, 200 por solicitud
    API oficial de X
    $10.00, 100 por página
  • Posts de una Lista, por 1,000

    Sorsa API
    desde $0.07, unos 20 por solicitud
    API oficial de X
    $5.00, más $0.010 por autor desde el 22 de nov de 2026
  • Una Lista completa de 5,000 miembros

    Sorsa API
    desde $0.035
    API oficial de X
    $50.00
  • Configuración

    Sorsa API
    una clave API
    API oficial de X
    cuenta de desarrollador, app, bearer token, créditos prepagados
  • Tasa de solicitudes

    Sorsa API
    20 solicitudes por segundo en todos los planes
    API oficial de X
    900 solicitudes cada 15 minutos por endpoint de Listas
  • Límite de volumen

    Sorsa API
    planes de hasta 10M de solicitudes al mes, más bajo pedido
    API oficial de X
    3M de lecturas de posts por ciclo de facturación, luego Enterprise
  • Tu cuenta de X

    Sorsa API
    nunca se toca: sin inicio de sesión ni cookies
    API oficial de X
    tu cuenta de desarrollador y su app

Para datos de Listas, usa Sorsa API: miembros a 200 por solicitud desde $0.007 por 1,000, el feed completo de la Lista desde $0.07 por 1,000 y nada que configurar aparte de una clave. Las solicitudes fallidas nunca se cobran. Sorsa API es una API REST: una solicitud con tu clave devuelve JSON limpio, sin nada que ejecutar en tu navegador y sin poner en riesgo ninguna cuenta tuya de X.

#¿Y las Comunidades de X?

X anunció el 23 de abril de 2026 que cerraría las Comunidades, primero el 6 de mayo y luego el 30 de mayo, por su poco uso y el spam (TechCrunch (se abre en una pestaña nueva)). La función sobrevivió a ambas fechas y seguía activa a finales de julio, sin una nueva fecha de X.

La referencia de Sorsa API todavía incluye cinco endpoints de Comunidades, entre ellos POST /community-tweets (se abre en una pestaña nueva) para los posts de una Comunidad y POST /community-members (se abre en una pestaña nueva) para sus miembros, además de una verificación de una sola cuenta, POST /check-community-member (se abre en una pestaña nueva). Nuestra documentación pide confirmar con soporte cuáles devuelven datos antes de construir un flujo nuevo sobre ellos. Las verificaciones de pertenencia para campañas se explican en la guía de la API de verificación de engagement.

Para todo lo que deba seguir funcionando, pon las cuentas en una Lista. Las Listas no forman parte del cierre, y todos los endpoints de Listas de arriba las leen hoy.

#Extrae tu primera Lista

Copia el ID de una Lista, envía una solicitud a GET /list-members y hasta 200 perfiles llegan como JSON. Sorsa API lee los miembros y seguidores de una Lista a 200 por solicitud desde $0.007 por 1,000 y su feed completo desde $0.07 por 1,000, con una sola clave y 20 solicitudes por segundo en todos los planes. Tus 100 solicitudes gratis exportan 20K miembros de Listas, cuatro Listas completas, antes de que pagues nada.

#Preguntas frecuentes

¿Cuál es la mejor API para datos de Listas de Twitter?

Sorsa API está hecha para eso. GET /list-members y GET /list-followers devuelven 200 cuentas por solicitud desde $0.007 por 1,000, y GET /list-tweets devuelve los posts más recientes de toda la Lista en un solo feed desde $0.07 por 1,000. Requiere una sola clave API en lugar de una cuenta de desarrollador y OAuth, funciona a 20 solicitudes por segundo en todos los planes y nunca toca tu cuenta de X.

¿Cómo encuentro el ID de una Lista de Twitter?

Abre la Lista en x.com y mira la barra de direcciones: en x.com/i/lists/1234567890123456789, el número que sigue a /lists/ es el ID de la Lista. /list-members y /list-tweets de Sorsa API reciben ese número como list_id. /list-followers recibe list_link, que acepta la URL completa o el número solo, así que puedes pegar la dirección tal cual.

¿Se pueden obtener los miembros de una Lista privada de Twitter?

No. Una Lista privada de X solo la ve la cuenta que la creó, así que ninguna API lee sus miembros, seguidores ni posts. Las Listas son públicas salvo que el dueño las cambie a privadas. Sorsa API lee cada Lista pública por su ID y no obtiene datos de una privada, y las solicitudes fallidas nunca se cobran.

¿Cuántas cuentas puede contener una Lista de Twitter?

Una Lista de X contiene hasta 5,000 miembros. GET /list-members de Sorsa API los devuelve a 200 por solicitud, así que incluso una Lista llena se exporta en 25 solicitudes, y las 100 solicitudes gratis que recibe cada cuenta cubren cuatro Listas completas. El Centro de ayuda de X añade que los nombres de las Listas admiten hasta 25 caracteres y no pueden empezar con un número.

¿Puedo agregar o quitar miembros de una Lista con una API?

Sí, con la API oficial de X: POST /2/lists/{id}/members agrega una cuenta y DELETE /2/lists/{id}/members/{user_id} quita una, a $0.005 por solicitud y hasta 300 solicitudes cada 15 minutos, con un token del dueño de la Lista. Sorsa API es de solo lectura por diseño, así que combina ambas: administra la Lista con X y léela con Sorsa API.

#Cómo lo comprobamos

El 2 de noviembre de 2026 verificamos cada endpoint, parámetro y tamaño de página de esta página con la referencia de la API en vivo de Sorsa API, y escribimos las solicitudes a partir de ella; la respuesta mostrada tiene el formato de la referencia con datos ficticios, no es la salida de una llamada real. Los precios, tamaños de página y límites de la API oficial de X vienen de docs.x.com, leídos el mismo día, y el cambio de facturación del 22 de noviembre del aviso del foro de desarrolladores de X del 23 de octubre. Las fechas de las Comunidades vienen de la nota de TechCrunch del 23 de abril de 2026 y de una actualización de estado de un creador de finales de julio.

Por el equipo de Sorsa API. Creamos y operamos Sorsa API, la API y scraper de Twitter/X de solo lectura, en producción desde 2022 (antes TweetScout API) y con más de 6 mil millones de solicitudes procesadas. Acerca de Sorsa API

Qué cambió
  • Reescrito desde cero: miembros, seguidores y feed de una Lista con código nuevo, precios y límites de X verificados en docs.x.com, una calculadora de Lista frente a cuentas sueltas y el estado de las Comunidades.
  • Primera publicación.