Ir al contenido

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_count cuenta 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.

  1. Consigue una clave. Crea una cuenta y copia tu clave API del panel. Tus 100 solicitudes gratis consultan 100 Spaces.

  2. 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: en x.com/i/spaces/1yNxaYzQkPwKj es 1yNxaYzQkPwKj. X lo limita a 13 caracteres, y no es el número largo que lleva un post.

  3. Envía la solicitud. Llama a GET /spaces (se abre en una pestaña nueva) con el ID como id, o con el enlace completo como link, y tu clave en el encabezado ApiKey.

    Terminal
    curl -G "https://api.sorsa.io/v3/spaces" \
      -H "ApiKey: YOUR_API_KEY" \
      --data-urlencode "id=1yNxaYzQkPwKj"
    
  4. Lee la respuesta. Llega un solo objeto JSON: los campos del Space arriba, creator con el perfil completo del anfitrión, participants con las personas por rol, stats con las cifras de audiencia y settings con 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.

GET /spaces?id=1yNxaYzQkPwKj una solicitud, un objeto JSON El Space Qué es y cuándo title state scheduled_start created_at, updated_at Timestamps Unix, no fechas ISO Quién lo conduce Anfitrión, coanfitriones, ponentes creator perfil completo participants.admins participants.speakers username, name, marca de verificado de cada persona en el escenario Cuántos escuchan Conteos de todos en la sala stats.total_live_listeners stats.total_participants stats.total_replay_watched participants.total un conteo, nunca la lista completa Ajustes Repetición, clips y acceso is_space_available_for_replay is_space_available_for_clipping is_locked disallow_join todo dentro de settings
Una solicitud responde quién dirige un Space, quién habla y cuántos escuchan; los perfiles de las demás personas además del anfitrión requieren una solicitud por lotes más.

Si estás migrando código desde la API oficial de X, los campos se corresponden así:

PreguntaCampo de Sorsa APICampo de la API oficial de X
Quién inició el Spacecreator, un perfil completocreator_id, un perfil solo mediante expansions
Anfitrión y coanfitrionesadmins en participants, con nombre de usuario y nombrehost_ids
Oradoresspeakers en participants, con nombre de usuario y nombrespeaker_ids
Tamaño de la audienciatotal_live_listeners y total_participants en statsparticipant_count
Reproducciones de la repeticióntotal_replay_watched en statsninguno
Programado o en vivostate, scheduled_startstate, scheduled_start, started_at
Repetición y clips permitidosdos indicadores en settingsninguno
  • 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 mediante expansions
  • Anfitrión y coanfitriones

    Campo de Sorsa API
    admins en participants, con nombre de usuario y nombre
    Campo de la API oficial de X
    host_ids
  • Oradores

    Campo de Sorsa API
    speakers en participants, 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_listeners y total_participants en stats
    Campo de la API oficial de X
    participant_count
  • Reproducciones de la repetición

    Campo de Sorsa API
    total_replay_watched en stats
    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.listeners como 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, lee stats.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.

Consulta from:harbor_founders_live filter:spaces 1 Buscar posts POST /search-tweets posts con un enlace de Space, unos 20 por página 2 Extraer los IDs /i/spaces/ 1yNxaYzQkPwKj del texto y los enlaces de cada post 3 Consultar cada uno GET /spaces una solicitud por Space 4 Tu tabla título y estado anfitrión y ponentes oyentes en vivo vistas de la repetición
La búsqueda encuentra los posts que enlazan a Spaces, los enlaces dan los IDs y una consulta por ID llena la tabla.

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:spaces encuentra todos los Spaces que compartió un anfitrión.
  • "hardware" filter:spaces since:2026-10-01 encuentra Spaces sobre un tema desde octubre.
  • (from:host_one_on_stage OR from:host_two_on_stage) filter:spaces vigila 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:

Python
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.

Python
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:

100
Revisiones por Space
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.

Spaces consultados

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:spaces entre 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.

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ó
  • Primera publicación.