API de Spaces de X: anfitriones, oradores y cantidad de oyentes
Los anfitriones, los oradores y la cantidad de oyentes de un Space de X salen de una sola consulta con el ID del final de su enlace x.com/i/spaces/; la API oficial de X cobra $0.005 por Space y deja de responder cuando el Space termina.
Respuesta corta: Una consulta devuelve el título, el estado, el anfitrión, los oradores y la cantidad de oyentes de una sala de audio en vivo, nunca su audio ni una lista completa de oyentes; con el perfil del anfitrión, la API oficial de X cobra $0.015 por Space a partir del 22 de noviembre de 2026. Para los detalles de un Space, usa GET /spaces de Sorsa API: desde $1.40 por 1,000 Spaces, y 100 solicitudes gratis consultan tus primeros 100.
- Endpoint
GET /spaces- Tamaño de página
- 1 Space por solicitud
- Precio
- desde $1.40 por 1,000
#Qué devuelve la consulta de un Space y qué no devuelve ninguna API
La consulta de un Space devuelve tres cosas sobre un Space: qué es (título, estado, hora programada y hora de inicio), quién lo dirige (el anfitrión, los coanfitriones y los oradores) y cuánta gente escucha. No llega nada más: ni audio, ni transcripción, ni una lista completa de la audiencia. Para el resto de los datos de X que puede leer una API, el mapa de qué datos puedes obtener de la API de Twitter los muestra lado a lado.
La plataforma de desarrolladores de X lee los Spaces con GET /2/spaces/{id} y sus versiones por lotes y por creador. Su documentación de Spaces (se abre en una pestaña nueva) fija tres límites que moldean cualquier proyecto:
- Los oyentes llegan como un número. El campo
participant_countcuenta a todos los que están en la sala, anfitriones incluidos; no hay una lista de oyentes. - Las personas llegan como IDs. El anfitrión, los coanfitriones y los oradores llegan como IDs de usuario, y sus perfiles solo mediante
expansions. - Los Spaces terminados desaparecen. Cuando un Space termina, los endpoints de Spaces devuelven un error en lugar del Space.
El precio está en la tarifa de pago por uso de X (se abre en una pestaña nueva): $0.005 por lectura de un Space, $5.00 por 1,000. A partir del 22 de noviembre de 2026 también se cobra cada perfil de usuario que llega mediante una expansión, a $0.010 (aviso de X del 23 de octubre (se abre en una pestaña nueva)), de modo que un Space con el perfil de su anfitrión cuesta $0.015. Además, cada llamada requiere una cuenta de desarrollador, créditos prepagados y un token OAuth 2.0 o bearer.
El límite de oyentes no es tacañería de la API de X. Los Spaces son públicos, y el Centro de ayuda de X (se abre en una pestaña nueva) dice que las personas que escuchan sin haber iniciado sesión pueden no aparecer nunca como invitados en la sala. Un conteo de oyentes es un dato sólido; una lista de todos los oyentes no existe en ninguna parte.
#Obtén los detalles de un Space con Sorsa API
Para leer Spaces de X desde código, usa Sorsa API, una API y scraper de Twitter (X): GET /spaces recibe el ID o el enlace de un Space y devuelve el título, el estado y las horas, el perfil completo del anfitrión, los coanfitriones y oradores, y los conteos en vivo y de la repetición, en una sola solicitud desde $1.40 por 1,000 Spaces. Todos los planes funcionan a 20 solicitudes por segundo, con una sola clave API y sin cuenta de desarrollador.
-
Consigue una clave. Crea una cuenta y copia tu clave API del panel. Tus 100 solicitudes gratis consultan 100 Spaces.
-
Copia el ID del Space. El ID de un Space es el código de letras y dígitos que sigue a
/i/spaces/en el enlace del Space: enx.com/i/spaces/1yNxaYzQkPwKjes1yNxaYzQkPwKj. X lo limita a 13 caracteres, y no es el número largo que lleva un post. -
Envía la solicitud. Llama a
GET /spaces(se abre en una pestaña nueva) con el ID comoid, o con el enlace completo comolink, y tu clave en el encabezadoApiKey.Terminal curl -G "https://api.sorsa.io/v3/spaces" \ -H "ApiKey: YOUR_API_KEY" \ --data-urlencode "id=1yNxaYzQkPwKj" -
Lee la respuesta. Llega un solo objeto JSON: los campos del Space arriba,
creatorcon el perfil completo del anfitrión,participantscon las personas por rol,statscon las cifras de audiencia ysettingscon los indicadores de repetición y acceso.Respuesta200 OK { "id": "1yNxaYzQkPwKj", "title": "Shipping hardware in Q1: founders compare notes", "state": "Running", "scheduled_start": 1793642400000, "created_at": 1793641912000, "updated_at": 1793645530000, "media_key": "28_1793641912057", "is_subscribed": false, "creator": { "id": "1630218874471563264", "username": "harbor_founders_live", "display_name": "Harbor Founders", "description": "Weekly live audio for people who ship hardware.", "followers_count": 48210, "followings_count": 312, "verified": true, "protected": false, "created_at": "2023-02-27T14:05:11Z", "profile_image_url": "https://pbs.twimg.com/profile_images/1630/harbor.jpg" }, "participants": { "admins": [ { "id": "1630218874471563264", "username": "harbor_founders_live", "name": "Harbor Founders", "is_verified": true, "start": 1793642405000 }, { "id": "1488230561123123200", "username": "maren_builds_hardware", "name": "Maren Holt", "is_verified": false, "start": 1793642460000 } ], "speakers": [ { "id": "1712093345678901248", "username": "tomas_ships_firmware", "name": "Tomas Reyes", "is_verified": false, "is_muted_by_admin": false, "start": 1793643120000 } ], "listeners": [], "total": 1286 }, "stats": { "total_live_listeners": 1183, "total_participants": 1286, "total_replay_watched": 0 }, "settings": { "is_space_available_for_replay": true, "is_space_available_for_clipping": true, "is_locked": false, "disallow_join": false, "max_admin_capacity": 3 } }
La misma llamada en Python y Node.js, lista para usarse en un ciclo sobre una lista de Spaces:
import requests
API = "https://api.sorsa.io/v3"
HEADERS = {"ApiKey": "YOUR_API_KEY"}
def get_space(space_id):
r = requests.get(f"{API}/spaces", headers=HEADERS,
params={"id": space_id}, timeout=30)
r.raise_for_status()
return r.json()
space = get_space("1yNxaYzQkPwKj")
people = space["participants"]
print(space["title"], "|", space["state"])
print("Host:", space["creator"]["username"])
print("Admins:", [p["username"] for p in people["admins"]])
print("Speakers:", [p["username"] for p in people["speakers"]])
print("Live listeners:", space["stats"]["total_live_listeners"])
Un ID incorrecto o desconocido devuelve 404, una clave ausente o sin solicitudes devuelve 403, y las solicitudes fallidas nunca se cobran. Si superas 20 solicitudes por segundo, devuelve 429: espera un segundo y vuelve a enviarla.
#Los campos que responden "quién" y "cuántos"
La mayoría de los proyectos con Spaces leen cinco campos: quién es el anfitrión, quién habla, cuántos escuchan en vivo, cuántos reprodujeron la repetición y el estado. La figura agrupa toda la respuesta según la pregunta que responde cada parte.
Si estás migrando código desde la API oficial de X, los campos se corresponden así:
| Pregunta | Campo de Sorsa API | Campo de la API oficial de X |
|---|---|---|
| Quién inició el Space | creator, un perfil completo | creator_id, un perfil solo mediante expansions |
| Anfitrión y coanfitriones | admins en participants, con nombre de usuario y nombre | host_ids |
| Oradores | speakers en participants, con nombre de usuario y nombre | speaker_ids |
| Tamaño de la audiencia | total_live_listeners y total_participants en stats | participant_count |
| Reproducciones de la repetición | total_replay_watched en stats | ninguno |
| Programado o en vivo | state, scheduled_start | state, scheduled_start, started_at |
| Repetición y clips permitidos | dos indicadores en settings | ninguno |
Quién inició el Space
- Campo de Sorsa API
creator, un perfil completo- Campo de la API oficial de X
creator_id, un perfil solo medianteexpansions
Anfitrión y coanfitriones
- Campo de Sorsa API
adminsenparticipants, con nombre de usuario y nombre- Campo de la API oficial de X
host_ids
Oradores
- Campo de Sorsa API
speakersenparticipants, con nombre de usuario y nombre- Campo de la API oficial de X
speaker_ids
Tamaño de la audiencia
- Campo de Sorsa API
total_live_listenersytotal_participantsenstats- Campo de la API oficial de X
participant_count
Reproducciones de la repetición
- Campo de Sorsa API
total_replay_watchedenstats- Campo de la API oficial de X
- ninguno
Programado o en vivo
- Campo de Sorsa API
state,scheduled_start- Campo de la API oficial de X
state,scheduled_start,started_at
Repetición y clips permitidos
- Campo de Sorsa API
- dos indicadores en
settings - Campo de la API oficial de X
- ninguno
Un detalle que ahorra tiempo de depuración: las horas de un objeto Space son marcas de tiempo Unix (números simples), mientras que el resto de Sorsa API usa fechas ISO 8601, como muestra el creator.created_at de arriba.
Para tener en cuenta
Trata
participants.listenerscomo las personas que la sala muestra por casualidad, no como una lista de asistencia: X solo muestra a algunos oyentes, y los oyentes sin sesión iniciada nunca aparecen. Para el tamaño de la audiencia, leestats.total_live_listeners, que cuenta a todos.
Los administradores y oradores llegan con un nombre de usuario, un nombre y un indicador de verificación, mientras que el anfitrión llega con un perfil completo. Cuando necesites los seguidores y la biografía de todos los que están en el escenario, pasa sus nombres de usuario a GET /info-batch (se abre en una pestaña nueva): hasta 100 perfiles en una solicitud, desde $0.014 por 1,000.
#Encuentra Spaces para consultar: busca los posts que los enlazan
Consultar un Space requiere un ID, y el lugar para encontrar IDs es X mismo: los anfitriones anuncian sus Spaces en posts, y cada uno de esos posts lleva el enlace del Space. POST /search-tweets (se abre en una pestaña nueva) de Sorsa API con el operador filter:spaces devuelve solo posts que contienen un enlace a un Space, unos 20 por solicitud, en todo el archivo hasta 2006.
Arma la consulta con los operadores que ya conoces de la guía de operadores de búsqueda de Twitter:
from:harbor_founders_live filter:spacesencuentra todos los Spaces que compartió un anfitrión."hardware" filter:spaces since:2026-10-01encuentra Spaces sobre un tema desde octubre.(from:host_one_on_stage OR from:host_two_on_stage) filter:spacesvigila una lista corta de anfitriones.
El siguiente script recorre los resultados con next_cursor, extrae los IDs de Spaces del texto y los enlaces de cada post, y consulta cada uno con get_space() del paso anterior:
import re
import requests
API = "https://api.sorsa.io/v3"
HEADERS = {"ApiKey": "YOUR_API_KEY"}
SPACE_LINK = re.compile(r"/i/spaces/([A-Za-z0-9]{1,13})")
def find_space_ids(query, max_pages=5):
ids, cursor = set(), None
for _ in range(max_pages):
body = {"query": query, "order": "latest"}
if cursor:
body["next_cursor"] = cursor
r = requests.post(f"{API}/search-tweets", headers=HEADERS,
json=body, timeout=30)
r.raise_for_status()
page = r.json()
for post in page.get("tweets", []):
links = [e.get("link") or "" for e in post.get("entities", [])]
for text in [post["full_text"], *links]:
ids.update(SPACE_LINK.findall(text))
cursor = page.get("next_cursor")
if not cursor:
break
return ids
for space_id in find_space_ids("from:harbor_founders_live filter:spaces"):
space = get_space(space_id)
print(space_id, space["state"], space["title"],
space["stats"]["total_live_listeners"])
Cada página de búsqueda y cada consulta es una solicitud. Cinco páginas de búsqueda que descubren 30 Spaces cuestan 35 solicitudes en total, y a 20 solicitudes por segundo toda la ejecución termina en unos segundos.
#Sigue un Space en vivo: oyentes a lo largo del tiempo
Para ver cómo crece y se desvanece la audiencia de un Space, consulta el mismo Space con una frecuencia fija mientras está en vivo y guarda cada lectura. Cada consulta devuelve el state actual, la cantidad de oyentes en vivo y las personas en el escenario, así que una lista de lecturas es la curva de audiencia del Space.
import time
from datetime import datetime, timezone
def track(space_id, every_seconds=180, checks=30):
for _ in range(checks):
space = get_space(space_id)
now = datetime.now(timezone.utc).strftime("%H:%M")
stage = len(space["participants"]["speakers"])
print(now, space["state"],
space["stats"]["total_live_listeners"], stage)
time.sleep(every_seconds)
track("1yNxaYzQkPwKj")
Un Space de 90 minutos revisado cada 3 minutos requiere 30 solicitudes, unos $0.06 con los $1.99 por 1,000 del plan Pro. Cada solicitud a Sorsa API se responde en vivo, así que cada revisión muestra la sala tal como está en ese momento. La calculadora convierte tus Spaces y revisiones en solicitudes y en el plan que las cubre:
- Solicitudes al mes
- 3,000
- Plan que lo cubre
- Starter
- $49 al mes, 10K solicitudes
- Por Space monitoreado
- $0.15
- a $4.90 por cada 1,000
- Las 100 solicitudes gratis cubren
- 3 Spaces
Una revisión es una solicitud, así que el costo de un trabajo de monitoreo es Spaces por revisiones; elige el plan más pequeño que cubra el total.
Para recibir alertas cuando una cuenta vigilada publica, incluido el post que abre un Space, la guía de monitoreo de Twitter en tiempo real muestra el ciclo de consulta a escala, y una Lista pública de X permite que una sola solicitud lea los posts más recientes de hasta 5,000 anfitriones, como explica la guía de la API de listas de Twitter.
#Cuánto cuestan los datos de Spaces de X: Sorsa API frente a la API oficial de X
La consulta de un Space en Sorsa API cuesta una solicitud sin importar lo que contenga el Space, desde $1.40 por 1,000 Spaces con el perfil completo del anfitrión incluido. En la API oficial de X el mismo Space con el perfil de su anfitrión cuesta $0.015 a partir del 22 de noviembre de 2026, es decir $15.00 por 1,000.
API oficial de X
$150
para 10K Spaces
$0.015 por Space con el perfil de su anfitrión
Sorsa API
desde$14
para 10K Spaces
desde $1.40 por 1,000 Spaces
10 veces más barato
En la API oficial de X, cada coanfitrión y orador que expandes suma otros $0.010, de modo que un Space con cinco personas en el escenario cuesta $0.055 allí; Sorsa API devuelve a las mismas personas en la misma solicitud. El precio es una de las cinco cosas que deciden un proyecto con Spaces, y la respuesta de Sorsa API a cada una es un número:
- Precio por 1,000 Spaces: desde $1.40 en Sorsa API, frente a $5.00 por el Space sin más y $15.00 con su anfitrión en la API oficial de X.
- Personas: el perfil completo del anfitrión, los coanfitriones y los oradores en la misma respuesta; perfiles completos de todos los que están en el escenario a 100 por solicitud adicional.
- Cifras de audiencia: oyentes en vivo, participantes totales y reproducciones de la repetición, frente a un solo conteo de participantes.
- Cómo encontrar Spaces: búsqueda con
filter:spacesentre posts hasta 2006, así que nunca dependes solo de los enlaces que alguien te envió. - Configuración y velocidad: una clave API en un encabezado, sin cuenta de desarrollador ni OAuth, y 20 solicitudes por segundo en todos los planes, de modo que 1,000 Spaces toman menos de un minuto.
Sorsa API es de solo lectura por diseño y nunca te pide tu inicio de sesión de X, así que tu propia cuenta de X nunca corre riesgo. Para crear o presentar Spaces, usa las apps de X; para publicar sobre ellos, combina Sorsa API con la API oficial de X.
#Consulta tu primer Space
Los anfitriones, los oradores y la cantidad de oyentes de un Space de X salen de una sola consulta con el ID de su enlace, y la API oficial de X no devuelve nada una vez que el Space terminó. Sorsa API lee el mismo Space con el perfil completo del anfitrión y los conteos en vivo y de la repetición en una sola solicitud, desde $1.40 por 1,000 Spaces, y encuentra Spaces por ti mediante la búsqueda. Tus 100 solicitudes gratis consultan 100 Spaces: pega el enlace de un Space en la solicitud de arriba y ejecútala.
#Preguntas frecuentes
¿Todavía existen los Spaces de Twitter?
Sí. Los Spaces de X, llamados Twitter Spaces antes del cambio de nombre de 2023, siguen funcionando en 2026 como salas de audio en vivo públicas a las que cualquiera puede entrar para escuchar. Los anfitriones los inician o los programan en las apps de X para iOS y Android, y los oyentes también pueden entrar desde la web. Los desarrolladores los leen con los endpoints de Spaces de la API oficial de X o con GET /spaces de Sorsa API.
¿Dónde encuentro el ID de un Space?
El ID de un Space es el código del final de su enlace: en x.com/i/spaces/1yNxaYzQkPwKj es 1yNxaYzQkPwKj, letras y dígitos, de 13 caracteres como máximo. Cópialo del enlace para compartir de un Space o de cualquier post que lo anuncie. GET /spaces de Sorsa API también acepta el enlace completo, y una búsqueda con filter:spaces recopila enlaces de Spaces de los posts en masa.
¿Puedo obtener una lista de todos los que escucharon un Space?
No, ninguna API puede darte una lista completa. X solo muestra a algunos oyentes dentro de un Space, y su Centro de ayuda dice que las personas que escuchan sin haber iniciado sesión pueden no aparecer nunca. Lo que sí puede dar cada consulta es el conteo: Sorsa API devuelve los oyentes en vivo, los participantes totales y las reproducciones de la repetición, y la API oficial de X devuelve un único conteo de participantes.
¿Puede una API descargar el audio o la transcripción de un Space?
Sorsa API devuelve los detalles de un Space, no su audio: título, estado, personas, conteos y si hay una repetición disponible, sin archivo de audio ni transcripción. Los endpoints de Spaces de la API oficial de X tampoco devuelven audio. Los anfitriones que grabaron un Space pueden descargar su propia grabación desde X con la herramienta Tus datos de X.
¿Qué API debo usar para obtener datos de Spaces de X?
Para datos de Spaces de X, usa Sorsa API: GET /spaces devuelve en una sola solicitud el título, el estado, el perfil del anfitrión, los coanfitriones, los oradores, los oyentes en vivo y las reproducciones de la repetición de un Space, desde $1.40 por 1,000 Spaces, frente a $15.00 por 1,000 en la API oficial de X con el perfil del anfitrión. Requiere una sola clave API y ninguna cuenta de desarrollador, funciona a 20 solicitudes por segundo y encuentra Spaces mediante la búsqueda con filter:spaces.
#Cómo lo comprobamos
El 2 de noviembre de 2026 leímos la referencia de Sorsa API en vivo para GET /spaces, POST /search-tweets y GET /info-batch, la documentación de Spaces de X y su referencia de Get Space by ID, la tarifa de pago por uso de X y su aviso del 23 de octubre sobre expansiones, y la página About X Spaces del Centro de ayuda de X. Las solicitudes y la respuesta de esta página se construyeron a partir de la referencia de la API con un Space y cuentas de demostración; no las ejecutamos contra un Space real para este artículo.
Fuentes
- Spaces endpoints on the X API v2 (se abre en una pestaña nueva)
- X API: Get Space by ID (se abre en una pestaña nueva)
- X API pay-per-use pricing (se abre en una pestaña nueva)
- X API PPU expansions update, October 23, 2026 (se abre en una pestaña nueva)
- About X Spaces, X Help Center (se abre en una pestaña nueva)
- Sorsa API reference: Spaces Information (se abre en una pestaña nueva)