Por Sorsa Editorial
Actualizado en julio de 2026: agrega la oferta inicial de 100 solicitudes gratis, replantea el precio de Sorsa sobre una base por cada 1,000, y refleja las tarifas de pago por uso de la API oficial de X tras el cambio del 20 de abril de 2026.
Conclusión clave: Un scraper de imágenes de Twitter extrae archivos de multimedia, fotos, videos y GIFs, de publicaciones públicas de X. El camino práctico en 2026 es una API que devuelve las URLs de multimedia de cada tweet en una respuesta estructurada, que luego descargas. Las herramientas de navegador manejan una publicación a la vez; una API maneja perfiles enteros, búsquedas y trabajos masivos.
La mayoría de las guías para scrapear imágenes de Twitter te apuntan a uno de dos callejones sin salida: un botón de navegador que agarra una sola publicación, o un script de Python que se rompe la próxima vez que X cambia su frontend. Ninguno escala, y la API oficial de X ahora cobra por recurso obtenido, así que extraer multimedia de miles de publicaciones se vuelve caro rápido.
Sorsa API, un proveedor alternativo de API de Twitter/X, toma una ruta diferente. Devuelve la multimedia de cada tweet dentro de un array entities estructurado, así que una sola solicitud puede hacer emerger cada URL de foto y de video de una consulta de búsqueda o de una cronología de perfil, y tú descargas los archivos en tu propia programación. El cobro es de tarifa plana por solicitud (1 llamada = 1 solicitud), así que la recolección de multimedia cuesta desde $0.02 por cada 1,000 tweets por lote, con los perfiles de autor llegando dentro de cada respuesta de tweet sin cargo extra. El límite de tasa es de 20 solicitudes por segundo en todos los planes, la autenticación es una sola clave API en un encabezado en lugar de OAuth, y las primeras 100 solicitudes son gratis sin tarjeta requerida. En trabajo de multimedia intensivo en lectura, eso aterriza hasta 50 veces más barato que la API oficial.
Esta guía cubre lo que un scraper de multimedia realmente devuelve, el camino de API funcional con código ejecutable, por qué los métodos populares hazlo-tú-mismo fallan en 2026, y el cálculo real del costo.
Contenidos
- Qué hace un scraper de imágenes de Twitter
- Cómo descargar multimedia de Twitter: los métodos
- Cómo obtener multimedia de Twitter por API
- Construir tu propio scraper, y por qué se rompe
- Límites, costo, y casos límite
- Cómo se ve esto en la práctica
- Cómo empezar
- Preguntas frecuentes
Qué hace un scraper de imágenes de Twitter {#what-a-twitter-image-scraper-does}
Un scraper de imágenes de Twitter recolecta la multimedia adjunta a las publicaciones públicas de X, incluidas fotos, videos y GIFs animados, junto con los metadatos alrededor de cada publicación. En la práctica hace dos trabajos distintos: encuentra las URLs de multimedia (de un tweet, un perfil, un hashtag o una búsqueda), y luego descarga los archivos subyacentes de esas URLs.
Esa división en dos pasos importa, y la mayoría de las herramientas la difuminan. La capa de datos devuelve enlaces y detalles de la publicación en un formato estructurado como JSON. La capa de descarga obtiene los bytes reales de los servidores de multimedia de X. Una buena API te da lo primero de forma limpia; lo segundo es una descarga HTTP simple que tú controlas.
X almacena tres tipos de multimedia que puedes recolectar de publicaciones públicas. Las fotos son imágenes fijas servidas desde el CDN pbs.twimg.com. Los videos son archivos MP4. Los GIFs animados no son realmente GIFs en X: la plataforma los convierte en clips MP4 cortos y silenciosos, así que regresan como entidades de video en lugar de un tipo separado. Cada ítem de multimedia también carga una URL de vista previa o miniatura, útil cuando quieres una referencia ligera en lugar del archivo completo.
La información que viene con cada publicación a menudo es tan valiosa como la imagen misma: el perfil del autor, el texto de la publicación, la marca de tiempo y los conteos de engagement (likes, reposts, respuestas, vistas). El análisis de sentimiento visual, el monitoreo de marca y la construcción de datasets dependen todos de emparejar la multimedia con ese contexto, no solo de volcar archivos en una carpeta.
Cómo descargar multimedia de Twitter: los métodos {#how-to-download-twitter-media-the-methods}
Existen cuatro clases de método para sacar multimedia de X, y se ordenan limpiamente por escala y por quién hace el trabajo. Los descargadores de una sola publicación sirven para un tweet; las APIs sirven para perfiles, búsquedas y trabajos recurrentes.
| Método | Mejor para | Escala | Auth necesaria | Salida |
|---|---|---|---|---|
| Descargador de navegador (pega un enlace) | Una publicación, uso ocasional | Un solo tweet | Ninguna | Solo archivos |
| Extensión de navegador | Recolección casual, manual | Pequeña | Ninguna | Solo archivos |
| Script de código abierto (gallery-dl, yt-dlp) | Usuarios técnicos, archivado | Media, frágil | Tu cookie con sesión iniciada | Archivos + algunos metadatos |
| API gestionada | Perfiles, búsqueda, masivo, automatización | Alta, estable | Una clave API | JSON estructurado + URLs de multimedia |
La versión en prosa de esa tabla: si necesitas una imagen una vez, una herramienta de pega-un-enlace está bien. En el momento en que necesitas cada imagen de una cuenta, toda la multimedia de un hashtag o un trabajo que corre todos los días sin romperse, necesitas datos estructurados y paginación, que es lo que una API provee. Una opción gratuita sin código para probar los datos sin escribir código es la herramienta de descarga de multimedia, que extrae las fotos y los videos de un solo tweet a través de la misma API que usa el resto de esta guía.
Para el panorama completo de los métodos de scraping más allá de la multimedia en específico, una guía más amplia sobre cómo scrapear Twitter y una comparación de scrapers de Twitter cubren los trade-offs a fondo.
Cómo obtener multimedia de Twitter por API {#how-to-get-twitter-media-via-api}
Obtener multimedia a través de una API toma cinco pasos: consigue una clave, llama a un endpoint que devuelva tweets, lee el array entities en cada tweet, descarga cada link y pagina para pasar el límite de la cronología. La API te entrega URLs y metadatos; la descarga es una solicitud HTTP estándar que haces tú mismo.
Cada objeto de tweet devuelto por la API carga un array entities. Cada entrada tiene un type (photo, video o url), un link (la URL de multimedia), y un preview (la miniatura). Esa estructura es todo el juego:
{
"id": "1782368585664626774",
"full_text": "Launch photos from this morning",
"created_at": "2026-05-01T10:30:00Z",
"entities": [
{
"type": "photo",
"link": "https://pbs.twimg.com/media/Gx1example.jpg",
"preview": "https://pbs.twimg.com/media/Gx1example.jpg?name=small"
}
],
"user": { "username": "nasa", "followers_count": 90000000 }
}
Un tweet
Llama al endpoint de tweet individual, luego itera las entities para descargar cada archivo. La clave API va en el encabezado ApiKey:
import requests
API_KEY = "YOUR_API_KEY"
BASE = "https://api.sorsa.io/v3"
tweet = requests.post(
f"{BASE}/tweet-info",
headers={"ApiKey": API_KEY},
json={"tweet_link": "https://x.com/nasa/status/1782368585664626774"},
).json()
for item in tweet.get("entities", []):
if item["type"] in ("photo", "video"):
url = item["link"]
data = requests.get(url).content
name = url.split("/")[-1].split("?")[0]
with open(name, "wb") as f:
f.write(data)
Para fotos de resolución completa, solicita el tamaño original. X sirve una versión redimensionada por defecto y expone alias de tamaño en las URLs de pbs.twimg.com: thumb (150x150), small (680x680), medium (1200x1200, el predeterminado), large (2048x2048), y orig (4096x4096), como se documenta en la comunidad de X Developers. Agrega ?name=orig a una URL de foto para extraer la versión almacenada más grande.
Un perfil entero
Para recolectar cada imagen y clip de una cuenta, pagina a través del endpoint de tweets de usuario con next_cursor hasta que el cursor se agote. Cada página devuelve hasta 20 tweets:
import requests
API_KEY = "YOUR_API_KEY"
BASE = "https://api.sorsa.io/v3"
HEADERS = {"ApiKey": API_KEY}
def media_urls(username):
cursor = None
while True:
body = {"username": username}
if cursor:
body["next_cursor"] = cursor
page = requests.post(f"{BASE}/user-tweets", headers=HEADERS, json=body).json()
for tweet in page.get("tweets", []):
for item in tweet.get("entities", []):
if item["type"] in ("photo", "video"):
yield item["link"]
cursor = page.get("next_cursor")
if not cursor:
break
for url in media_urls("nasa"):
print(url)
Un hashtag o búsqueda
Para extraer multimedia de un tema en lugar de una cuenta, busca tweets vía la API con una consulta, y acótala a publicaciones que lleven multimedia usando operadores estándar de X como filter:images o filter:videos:
body = {"query": "#sunset filter:images", "order": "latest"}
results = requests.post(f"{BASE}/search-tweets", headers=HEADERS, json=body).json()
Los mismos operadores que funcionan en la búsqueda avanzada de X funcionan aquí. Una guía completa de operadores de búsqueda de Twitter cubre rangos de fecha, filtros de idioma y más.
Masivo por ID
Cuando ya tienes una lista de IDs de tweet, el endpoint por lotes acepta hasta 100 de ellos en una solicitud y los devuelve todos con datos completos de multimedia y de autor. Una llamada por lote cuenta como una solicitud contra tu cuota, que es donde la ventaja de costo se acumula.
Construir tu propio scraper, y por qué se rompe {#building-your-own-scraper-and-why-it-breaks}
Un scraper hazlo-tú-mismo es viable para trabajos pequeños y puntuales, pero en 2026 los dos caminos DIY populares chocan cada uno con un muro duro: el enfoque del tutorial de la API oficial está efectivamente muerto, y los scrapers basados en cookies arriesgan tu cuenta y se detienen en 3,200 tweets.
El primer muro es el tutorial clásico. Muchas guías más viejas todavía te dicen que instales Tweepy, crees una cuenta de Twitter Developer, y extraigas la cronología de un usuario con cuatro claves OAuth. Ese camino gratuito ya no existe de la forma en que esas guías lo describen. X eliminó el acceso gratuito a la API en 2023, y la API actual cobra por recurso, así que el «script gratuito de Tweepy» que la mayoría de los artículos enseñan o bien falla o calladamente se convierte en una factura medida.
El segundo muro es el scraper moderno. La herramienta de código abierto estándar hoy es gallery-dl, y funciona, con dos trabas serias. Ahora requiere que extraigas la cookie auth-token de una cuenta de X con sesión iniciada y se la des a la herramienta, lo que viola los términos de X y pone esa cuenta en riesgo real de suspensión. Y hereda el límite de cronología de X: la vista de cronología estándar tiene un tope de aproximadamente 3,200 tweets por cuenta, así que la multimedia más vieja simplemente no se puede alcanzar de esta forma. A lo largo de las cuentas contra las que hemos corrido trabajos de multimedia, esas son las dos fallas que aparecen cada vez: una sesión que muere y un muro en 3,200 publicaciones.
Un camino de API esquiva ambos. No hay cookie de inicio de sesión que filtrar, porque el acceso es una clave del lado del servidor, no tu sesión personal. Y el endpoint de cronología de perfil pagina más allá de la vista de cronología, así que puedes recorrer un perfil hacia atrás hasta su primera publicación en lugar de detenerte en 3,200. Si tu necesidad real es un historial de cuenta completo en lugar de su multimedia en específico, extraer un historial completo de tweets cubre ese flujo de principio a fin.
Límites, costo, y casos límite {#limits-cost-and-edge-cases}
La diferencia de costo entre scrapear multimedia tú mismo a través de la API oficial y usar una API de tarifa plana es grande, porque los dos proveedores cobran en unidades diferentes. X cobra por recurso obtenido; una API de tarifa plana cobra por solicitud, y una sola solicitud puede cargar hasta 100 tweets con su multimedia y perfiles de autor.
Aquí está el lado a lado, usando las tarifas vigentes de la actualización de precios de X del 20 de abril de 2026:
| API oficial de X (pago por uso) | Sorsa API | |
|---|---|---|
| Unidad de cobro | Por recurso obtenido | Por solicitud (de tarifa plana) |
| 100 tweets con multimedia + autor | ~$1.50 (100 publicaciones a $0.005 + 100 lecturas de autor a $0.010), más lecturas de multimedia a $0.005 cada una | $0.00199, una solicitud por lote (Pro) |
| URL de multimedia en la respuesta | Cobrada (Media: Read, $0.005 cada una) | Incluida en el objeto del tweet |
| Perfil de autor en la respuesta | Cobrado por separado ($0.010 cada uno) | Incluido gratis |
| Autenticación | OAuth 2.0 + Bearer Token | Un solo encabezado de clave API |
| Límite de tasa | Varía por endpoint | 20 solicitudes/s, todos los planes |
| Tope de lecturas mensual | 2 millones de lecturas de publicación | Cuota del plan (10K a 500K solicitudes) |
| Acciones de escritura (publicar, DM, seguir) | Publicar y DMs; seguir/like/citar son solo Enterprise | Ninguna, solo lectura |
La conclusión en texto plano: leer 100 tweets con su multimedia y datos de autor sale alrededor de $1.50 o más en el modelo por recurso de la API oficial, contra una sola solicitud de tarifa plana en Sorsa. Si tu flujo de trabajo involucra publicar, borrar, o enviar DMs, ese es el territorio de la API oficial, y ahí la comparación es discutible. Para leer y descargar multimedia pública a un precio de tarifa plana y predecible, eso es exactamente para lo que Sorsa está construido. La página de precios de los planes desglosa esto más a fondo.
Unos pocos casos límite deciden si algo de esto funciona siquiera:
Las cuentas privadas están fuera de límites. Las cuentas protegidas restringen sus publicaciones a los seguidores aprobados. Ninguna API, scraper, o herramienta de descarga puede alcanzar la multimedia de una cuenta protegida a menos que seas un seguidor autenticado. Esto es cierto para la API oficial de X, para Sorsa y para todos los demás métodos por igual.
Límites de tasa y reintentos. Sorsa devuelve 429 Too Many Requests si superas las 20 solicitudes por segundo; el arreglo es esperar un segundo y reintentar, sin penalización. Los endpoints por lote reducen cuántas solicitudes necesitas en primer lugar.
Enlaces de archivo directos. El paso de descarga es un HTTP GET simple contra la URL en el campo link. Las fotos resuelven a pbs.twimg.com; los archivos de video son más grandes, así que transmítelos a disco en lugar de cargarlos en memoria para trabajos grandes.
Legalidad, en breve. Recolectar datos públicos se trata en general como permisible, pero los términos de X restringen el scraping, y la multimedia descargada sigue siendo propiedad intelectual de su creador. Analizar imágenes públicas es una postura diferente de republicarlas, y los términos de la plataforma aún aplican. Esto es información general, no asesoría legal; revisa tu caso de uso específico con un abogado.
Cómo se ve esto en la práctica {#what-this-looks-like-in-practice}
Un equipo de analítica de marca de unas seis personas llegó a esto tras un ciclo familiar. Estaban archivando imágenes de campaña y clips cortos del flujo de menciones de una marca para revisión de sentimiento visual, un flujo de escucha social corriendo sobre un pipeline de gallery-dl detrás de una cuenta con sesión iniciada. La sesión seguía muriendo a mitad de la corrida, y en los usuarios más ocupados seguían topándose con el muro de 3,200 publicaciones, así que el archivo siempre estaba incompleto y alguien siempre estaba cuidando el trabajo.
Mover la recolección a una API de tarifa plana quitó ambos problemas. Extrajeron las URLs de multimedia de la búsqueda y de las cronologías de perfil en lotes, descargaron los archivos en su propia programación, y dejaron de mantener sesiones de cookie por completo. La factura de datos se volvió una sola cifra mensual fija, muy por debajo de lo que el precio por recurso habría costado a ese volumen. Para trabajo de multimedia intensivo en lectura como este, el modelo de tarifa plana corre hasta 50 veces más barato. El punto ilustrativo se sostiene para cualquiera en el mismo lugar: el cuello de botella nunca fue la descarga, fue la frágil capa de datos que la alimentaba.
Cómo empezar {#getting-started}
La forma más rápida de ver los datos es la herramienta gratuita de descarga de multimedia enlazada antes: pega un enlace de tweet y devuelve las fotos y los videos, sin código requerido. Para construir, consigue una clave (las primeras 100 solicitudes son gratis, sin tarjeta requerida, y no hay revisión de app ni cola de aprobación, así que la configuración toma unos tres minutos), y la primera llamada es el endpoint de tweet individual mostrado arriba. De ahí, cambia por el endpoint de perfil o de búsqueda según el trabajo.
Los números que vale la pena recordar: multimedia desde $0.02 por cada 1,000 tweets por lote ($0.049 / $0.02 / $0.018 por cada 1,000 a lo largo de los planes Starter, Pro y Enterprise), las primeras 100 solicitudes gratis sin tarjeta requerida, 20 solicitudes por segundo en todos los planes, URLs de multimedia y perfiles de autor incluidos en cada respuesta de tweet, y endpoints por lote que empacan hasta 100 tweets en una solicitud. Los detalles completos de los planes están en la página de precios enlazada arriba, y la guía de referencia de la API documenta cada campo mostrado en esta guía.
Preguntas frecuentes {#frequently-asked-questions}
¿Se pueden scrapear imágenes de Twitter/X?
Sí. Las imágenes, los videos y los GIFs públicos en X se pueden recolectar a través de una herramienta de navegador, un script de código abierto o una API. Una API es la opción escalable: devuelve las URLs de multimedia y los metadatos de cada tweet en JSON estructurado, y tú descargas los archivos desde esas URLs. Las cuentas privadas y protegidas no pueden ser accedidas por ningún método a menos que seas un seguidor aprobado.
¿Es legal scrapear imágenes de Twitter?
Recolectar datos disponibles públicamente se trata en general como permisible en muchas jurisdicciones, pero los términos de servicio de X restringen el scraping, y cualquier multimedia que descargues sigue siendo propiedad intelectual de la persona que la publicó. Analizar imágenes públicas para investigación difiere de republicarlas comercialmente. Esto es información general en lugar de asesoría legal, así que confirma tu caso de uso específico con un abogado calificado.
¿Cómo descargas todas las imágenes de una cuenta de Twitter?
Recorre los tweets de la cuenta y lee las entidades de multimedia de cada uno, luego descarga cada URL de foto y de video. Una herramienta de navegador se detiene en una publicación, y la mayoría de los scrapers de código abierto se detienen en el límite de cronología de 3,200 tweets. Un endpoint de API paginado recorre el perfil más allá de ese límite hacia las publicaciones más tempranas de la cuenta, así que el archivo puede estar completo.
¿Se pueden descargar también los videos y GIFs de Twitter?
Sí. Los videos y los GIFs vienen a través de las mismas entidades de multimedia que las fotos. En X, los GIFs animados se guardan como clips MP4 cortos y silenciosos, así que regresan como entidades de video en lugar de un tipo GIF separado. Con Sorsa, cada respuesta de tweet incluye sus URLs de multimedia, así que una solicitud puede devolver fotos, videos y GIF-MP4s juntos, y tú descargas cada archivo desde su link.
¿Cuánto cuesta scrapear multimedia de Twitter?
Depende del modelo de cobro. La API oficial de X cobra por recurso obtenido: aproximadamente $0.005 por publicación y $0.010 por perfil de autor, más las lecturas de multimedia. Sorsa cobra por solicitud a una tarifa plana, que sale en multimedia desde $0.02 por cada 1,000 tweets por lote, con las URLs de multimedia y los perfiles de autor incluidos en cada respuesta. Las primeras 100 solicitudes son gratis, sin tarjeta requerida. Para la recolección de multimedia intensiva en lectura, el modelo de tarifa plana corre hasta 50 veces más barato.
¿Se puede scrapear multimedia de cuentas privadas de Twitter?
No. Las cuentas protegidas limitan sus publicaciones a los seguidores aprobados, y ninguna API, scraper, o herramienta de descarga puede recuperar su multimedia sin una sesión de seguidor autenticado. Esta restricción aplica de forma idéntica a la API oficial de X, a Sorsa y a todos los demás métodos. Solo las cuentas públicas y las publicaciones públicas se pueden recolectar.
Revisado por Keksich, fundador de Sorsa, marketer e investigador de la API de X.
Esta guía se apoya en el trabajo práctico operando la Sorsa API, la documentación en vivo de la API y la verificación contra fuentes primarias durante la edición de julio de 2026. Los alias de tamaño de imagen de X se confirmaron contra la comunidad de X Developers; las tarifas por recurso de la API oficial de X reflejan la actualización de precios del 20 de abril de 2026; el límite de cronología y el comportamiento de la cookie de autenticación de gallery-dl se revisaron contra las discusiones actuales de proyectos de código abierto. Los detalles de precio y de endpoints se verificaron contra la propia documentación de precios y de referencia de la API de Sorsa. Última verificación el 8 de julio de 2026.