Ir al contenido

Cómo obtener una clave de la API de Twitter (X)

Para obtener una clave de la API de Twitter (X), inicia sesión en console.x.com con tu cuenta de X, acepta el Developer Agreement, crea una app y guarda sus claves y el Bearer token, y luego compra créditos: cada post leído cuesta $0.005.

Respuesta corta: La consola emite la clave de API, su secreto, un Bearer token y credenciales OAuth cuando se crea la app, y muestra cada una una sola vez. Mientras no compres créditos, cada solicitud responde HTTP 402 CreditsDepleted. Para leer datos públicos de X con una sola clave, usa Sorsa API: tweets desde $0.014 por 1,000, y 100 solicitudes gratis sin tarjeta.

ApiKey: YOUR_API_KEY
una clave, sin OAuth
Precio
desde $0.014 por 1K tweets

#Cómo obtener una clave oficial de la API de X, paso a paso

Una clave oficial de la API de X sale del X Developer Console en console.x.com, el sitio donde X emite todas las credenciales de su API, y el camino tiene seis pasos. La guía Getting Access (se abre en una pestaña nueva) de X enumera los primeros cuatro. Los créditos del paso 5 están en su página de precios, y la solicitud del paso 6 falla sin ellos.

Abrir una cuenta de desarrollador y crear una app no cuesta nada. Leer sí: X cobra $0.005 por cada post que devuelve una respuesta y $0.010 por cada perfil o seguidor, con un saldo que recargas por adelantado. Nuestro desglose de precios de la API de X lista cada tarifa.

  1. Inicia sesión en console.x.com. Usa la cuenta de X que debe ser dueña de la app; no hay un login de desarrollador aparte.

  2. Acepta el Developer Agreement. Lee y acepta el Developer Agreement and Policy de X, y describe con palabras sencillas qué vas a construir y qué datos lee. X no publica cuánto tarda esta revisión.

  3. Crea una app. Haz clic en New App e ingresa un nombre, una descripción y un caso de uso. La consola genera las credenciales de la app en cuanto existe.

  4. Guarda las credenciales. Copia la clave de API y su secreto, y el Bearer token. Si la app va a publicar o actuar por otras personas, copia también el access token y su secreto, o el client ID y el secreto de OAuth 2.0. Cada valor se muestra una sola vez.

  5. Compra créditos. En la consola, agrega una tarjeta y compra créditos. Fija un límite de gasto mientras pruebas; la recarga automática puede esperar a que un trabajo no deba detenerse nunca.

  6. Envía una solicitud de prueba. Consulta una cuenta pública con el Bearer token en el header Authorization. Un objeto JSON con id, name y username significa que la clave funciona, y la consulta cuesta $0.010, el precio de una lectura de usuario.

    Terminal
    curl "https://api.x.com/2/users/by/username/XDevelopers" \
      -H "Authorization: Bearer $X_BEARER_TOKEN"
    
    01 Inicia sesión en console.x.com Con la cuenta de X que será dueña de la app 02 Acepta el Developer Agreement Luego describe con palabras simples qué harás 03 Crea una app con New App Nombre, descripción, caso de uso; credenciales al instante 04 Guarda las credenciales Key, secret, Bearer token: cada una se muestra una vez ¿Perdiste una? Regenera 05 Compra créditos prepago $0.005 por post leído; sin créditos, cada llamada devuelve 402 CreditsDepleted 06 Envía una solicitud de prueba Bearer token en el header; una app antigua puede devolver 403 client-not-enrolled
    Seis pasos de console.x.com a una clave oficial que funciona. El paso 5, los créditos, es el que la guía Getting Access de X omite.

Para leer posts y perfiles públicos, el Bearer token es la única credencial que envía tu código. Los access tokens y el par de OAuth 2.0 importan cuando la app publica o actúa por otras personas, y la tabla de credenciales de abajo muestra cuál es cuál.

#Obtén una clave de Sorsa API en unos 3 minutos

Para leer datos públicos de X, usa Sorsa API, una API y scraper de Twitter (X): una clave reemplaza la app, sus credenciales y el saldo de créditos, y los tweets cuestan desde $0.014 por 1,000. Eso es 250 veces menos que la API oficial de X. No interviene ninguna cuenta tuya de X, así que tu cuenta corre cero riesgo, y la clave funciona a 20 solicitudes por segundo en todos los planes, cuentas gratis incluidas.

  1. Regístrate. Regístrate con Google o con un correo electrónico. No hay tarjeta, ni cuenta de X, ni revisión, y la cuenta empieza con 100 solicitudes gratis que nunca vencen.

  2. Copia la clave. La página de resumen del dashboard muestra tu clave API. Guárdala en una variable de entorno en tu servidor, como SORSA_API_KEY.

  3. Verifica la clave gratis. Llama a GET /key-usage-info (se abre en una pestaña nueva) con la clave en el header ApiKey. Esta llamada nunca descuenta de tus solicitudes, así que probar una clave no cuesta nada.

    Terminal
    curl "https://api.sorsa.io/v3/key-usage-info" \
      -H "ApiKey: YOUR_API_KEY"
    
    Response200 OK
    {
      "key_requests": 100,
      "remaining_requests": 100,
      "total_requests": 0
    }
    

remaining_requests es lo que la clave aún puede gastar. En un plan de pago la respuesta incluye además valid_until, la fecha en que vence el saldo actual de solicitudes; las 100 solicitudes gratis no tienen esa fecha. A partir de aquí, cada endpoint de Sorsa API, 45 en total, usa el mismo header: GET /info (se abre en una pestaña nueva) devuelve un perfil, y la búsqueda, los timelines, los seguidores y los lotes de 100 tweets funcionan igual.

Lado a lado, la clave de Sorsa API necesita menos piezas, no cuesta nada verificarla y lee tweets por una pequeña fracción del precio oficial:

Qué se necesitaClave de Sorsa APIClave de la API oficial de X
Registro conCorreo o GoogleTu cuenta de X
Antes de que aparezca la claveSolo el registroDeveloper Agreement, descripción de uso, una app
Qué guardas1 clave APIHasta 7 valores: clave y secreto, Bearer token, access token y secreto, client ID y secreto
Header en cada solicitudApiKey: <key>Authorization: Bearer <token>
Antes de la primera lectura100 solicitudes gratis, sin tarjetaCréditos prepagados, o HTTP 402
Verificar que la clave funcionaGET /key-usage-info, gratisUna lectura cobrada, como $0.010 por un perfil
Tasa de solicitudes20 solicitudes por segundo en todos los planesVentanas separadas de 15 minutos para cada endpoint
1,000 tweetsDesde $0.014$5.00
  • Registro con

    Clave de Sorsa API
    Correo o Google
    Clave de la API oficial de X
    Tu cuenta de X
  • Antes de que aparezca la clave

    Clave de Sorsa API
    Solo el registro
    Clave de la API oficial de X
    Developer Agreement, descripción de uso, una app
  • Qué guardas

    Clave de Sorsa API
    1 clave API
    Clave de la API oficial de X
    Hasta 7 valores: clave y secreto, Bearer token, access token y secreto, client ID y secreto
  • Header en cada solicitud

    Clave de Sorsa API
    ApiKey: <key>
    Clave de la API oficial de X
    Authorization: Bearer <token>
  • Antes de la primera lectura

    Clave de Sorsa API
    100 solicitudes gratis, sin tarjeta
    Clave de la API oficial de X
    Créditos prepagados, o HTTP 402
  • Verificar que la clave funciona

    Clave de Sorsa API
    GET /key-usage-info, gratis
    Clave de la API oficial de X
    Una lectura cobrada, como $0.010 por un perfil
  • Tasa de solicitudes

    Clave de Sorsa API
    20 solicitudes por segundo en todos los planes
    Clave de la API oficial de X
    Ventanas separadas de 15 minutos para cada endpoint
  • 1,000 tweets

    Clave de Sorsa API
    Desde $0.014
    Clave de la API oficial de X
    $5.00

En código, lee la clave de una variable de entorno, o pégala en lugar de YOUR_API_KEY para una primera prueba, y detente ante cualquier estado distinto de 200; el message del JSON dice qué salió mal.

import os
import requests

key = os.environ.get("SORSA_API_KEY", "YOUR_API_KEY")
r = requests.get("https://api.sorsa.io/v3/key-usage-info",
                 headers={"ApiKey": key}, timeout=30)
if r.status_code != 200:
    raise SystemExit(f"{r.status_code}: {r.json()['message']}")
print("requests left:", r.json()["remaining_requests"])

Si viniste para evitar por completo la consola de X, la guía de la API de Twitter sin cuenta de desarrollador recorre las primeras lecturas: tweets, búsqueda y listas de seguidores.

#Qué hace cada credencial de X

La API oficial de X emite cuatro tipos de credenciales, y leer datos públicos solo necesita una de ellas, el Bearer token. La clave de API y su secreto, también llamados consumer key y secret, identifican tu app y funcionan como su usuario y contraseña. La página API Key and Secret (se abre en una pestaña nueva) de X lo dice con esas palabras. Las demás credenciales se generan a partir de ellas, o para una persona que usa tu app.

Solo el Bearer token lee posts públicos por sí solo, así que un script que nunca publica puede ignorar las otras tres filas:

CredencialQué esPara qué sirveLee posts públicos por sí sola
Clave de API y secreto (consumer key y secret)La identidad de tu appFirmar solicitudes OAuth 1.0a, generar el Bearer tokenNo
Bearer tokenToken OAuth 2.0 solo de appLecturas públicas: posts, perfiles, búsquedaSí
Access token y secretoPar OAuth 1.0a de la cuenta dueña de la appPublicar y actuar como esa cuentaSí, como esa cuenta
Client ID y secreto de OAuth 2.0La identidad de tu app en el flujo de inicio de sesiónDejar que otras personas inicien sesión con X y actúen a través de tu appNo, producen tokens de usuario
  • Clave de API y secreto (consumer key y secret)

    Qué es
    La identidad de tu app
    Para qué sirve
    Firmar solicitudes OAuth 1.0a, generar el Bearer token
    Lee posts públicos por sí sola
    No
  • Bearer token

    Qué es
    Token OAuth 2.0 solo de app
    Para qué sirve
    Lecturas públicas: posts, perfiles, búsqueda
    Lee posts públicos por sí sola
    Sí
  • Access token y secreto

    Qué es
    Par OAuth 1.0a de la cuenta dueña de la app
    Para qué sirve
    Publicar y actuar como esa cuenta
    Lee posts públicos por sí sola
    Sí, como esa cuenta
  • Client ID y secreto de OAuth 2.0

    Qué es
    La identidad de tu app en el flujo de inicio de sesión
    Para qué sirve
    Dejar que otras personas inicien sesión con X y actúen a través de tu app
    Lee posts públicos por sí sola
    No, producen tokens de usuario

Un Bearer token perdido se puede generar de nuevo con la clave y el secreto. La guía del Bearer token (se abre en una pestaña nueva) de X los envía como un par de autenticación básica a oauth2/token, y el campo access_token del JSON que vuelve es el Bearer token:

Terminal
curl -u "$X_API_KEY:$X_API_SECRET" \
  --data "grant_type=client_credentials" \
  "https://api.x.com/oauth2/token"

Los permisos pertenecen a la app, no al token. Una app configurada en Read no puede publicar. Cámbiala a Read and write en sus ajustes de autenticación de usuario y luego genera de nuevo el access token y su secreto: un token conserva los permisos con los que se creó. Un token creado antes del cambio es una causa común de un 403 en el primer post.

Elige el trabajo que tu código debe hacer, y el selector te dice la credencial, el header y la primera solicitud:

¿Qué necesita hacer tu código?

Leer publicaciones y perfiles públicos

Sorsa API

Credencial
Una clave API
Dónde la obtienes
En el panel, justo después de registrarte
Encabezado
ApiKey: <key>
Primera solicitud
GET /v3/key-usage-info sin costo
1,000 tweets
desde $0.014

API oficial de X

Credencial
Bearer token
Dónde la obtienes
La pestaña Keys and tokens de tu app
Encabezado
Authorization: Bearer <token>
Primera solicitud
GET /2/users/by/username/… a $0.010
1,000 tweets
$5.00

Publicar como mi propia cuenta

API oficial de X

Credencial
Access token y secret, firmados con la API key y el secret
Dónde la obtienes
Keys and tokens, después de configurar la app en Read and write
Encabezado
Authorization: OAuth … con una firma OAuth 1.0a
Primera solicitud
POST /2/tweets
Cada publicación
$0.015

Una publicación con un enlace cuesta $0.20. Sorsa API es de solo lectura por diseño: nunca publica, así que tu cuenta de X queda fuera.

Dejar que otras personas inicien sesión con X

API oficial de X

Credencial
Client ID y secret de OAuth 2.0
Dónde la obtienes
Los ajustes de autenticación de usuario de la app, con una URL de callback
Encabezado
Authorization: Bearer <user token> para cada persona
Primera solicitud
El flujo de inicio de sesión: código de autorización con PKCE
Lecturas y publicaciones
tarifas oficiales

Cada persona que inicia sesión recibe su propio token, y cada lectura o publicación con él se cobra de tus créditos.

Una tarea, una credencial: el selector muestra de dónde sale, qué encabezado la lleva y cuánto cuesta la primera solicitud.

#X-API-Key, Bearer o ApiKey: qué header usar

La API oficial de X lee su token solo del header Authorization: Bearer, y Sorsa API lee su clave solo del header ApiKey. Ninguna lee X-API-Key, un nombre de header que muchas otras API usan para sus claves. El nombre confunde porque suena a "clave de la API de X", pero no tiene relación con X. Los API gateways y muchos productos SaaS lo usan, y una clave puesta ahí llega a los servidores de X como si no hubiera clave.

Sorsa API GET /v3/key-usage-info Host: api.sorsa.io ApiKey: YOUR_API_KEY Revisión de key gratis, no se cuenta API oficial de X GET /2/users/by/username/XDevelopers Host: api.x.com Authorization: Bearer AAAA… Se cobra como lectura de usuario, $0.010 Enviada como X-API-Key X-API-Key: YOUR_API_KEY Un header genérico: ninguna API lo lee Sorsa API responde 403 falta la key en el header La API oficial de X responde 401 Unauthorized
Sorsa API lee su clave de ApiKey, la API oficial de X lee un Bearer token de Authorization, y ninguna lee X-API-Key.

El 2 de noviembre de 2026 enviamos las mismas solicitudes a ambas API, con claves inventadas, y cada respuesta de abajo es lo que volvió:

Qué enviamosRespuesta de Sorsa APIRespuesta de la API oficial de X
Ninguna clave403 missing key in request header401 Unauthorized
Una clave inventada en el header correcto401 invalid api key401 Unauthorized
La clave en un header X-API-Key403 missing key in request header401 Unauthorized
La clave como Authorization: Bearer403 missing key in request header401 Unauthorized
  • Ninguna clave

    Respuesta de Sorsa API
    403 missing key in request header
    Respuesta de la API oficial de X
    401 Unauthorized
  • Una clave inventada en el header correcto

    Respuesta de Sorsa API
    401 invalid api key
    Respuesta de la API oficial de X
    401 Unauthorized
  • La clave en un header X-API-Key

    Respuesta de Sorsa API
    403 missing key in request header
    Respuesta de la API oficial de X
    401 Unauthorized
  • La clave como Authorization: Bearer

    Respuesta de Sorsa API
    403 missing key in request header
    Respuesta de la API oficial de X
    401 Unauthorized

Así que un 401 de la API oficial de X significa que el token es incorrecto, falta o se envió de forma equivocada, y no dice cuál. Sorsa API distingue los dos casos: 401 invalid api key significa que el valor es incorrecto, y 403 missing key in request header significa que el nombre del header lo es.

#Cuando una clave nueva falla: 401, 402, 403, 429

Una clave nueva de la API oficial de X falla por cuatro motivos, cada uno con su propio código de estado. 401 indica un token incorrecto o regenerado, 402 un saldo de créditos vacío, 403 un permiso faltante o una app fuera de un proyecto, y 429 una ventana de límite de tasa agotada. Los mismos números significan cosas distintas en Sorsa API, y la solución sale del mensaje:

EstadoSorsa APIAPI oficial de X
401La clave es incorrecta o se eliminó (invalid api key)El token es incorrecto, falta o se regeneró
402No se usaCreditsDepleted: la cuenta no tiene créditos
403No hay clave en el header ApiKey, o se agotaron las solicitudesLa app no tiene el permiso, o no está en un proyecto (client-not-enrolled)
429Más de 20 solicitudes en un segundoSe agotó la ventana de 15 minutos del endpoint
  • 401

    Sorsa API
    La clave es incorrecta o se eliminó (invalid api key)
    API oficial de X
    El token es incorrecto, falta o se regeneró
  • 402

    Sorsa API
    No se usa
    API oficial de X
    CreditsDepleted: la cuenta no tiene créditos
  • 403

    Sorsa API
    No hay clave en el header ApiKey, o se agotaron las solicitudes
    API oficial de X
    La app no tiene el permiso, o no está en un proyecto (client-not-enrolled)
  • 429

    Sorsa API
    Más de 20 solicitudes en un segundo
    API oficial de X
    Se agotó la ventana de 15 minutos del endpoint

El 402 es el error que la guía Getting Access de X nunca menciona. Su cuerpo trae el título CreditsDepleted y la línea "Your enrolled account does not have any credits to fulfill this request." (tu cuenta inscrita no tiene créditos para cumplir esta solicitud), como han publicado desarrolladores en el foro de desarrolladores de X (se abre en una pestaña nueva), y comprar créditos lo resuelve. Un saldo también puede caer un poco por debajo de cero, y entonces las solicitudes siguen bloqueadas hasta que una recarga lo cubra.

El 403 client-not-enrolled dice que las claves deben venir de una app de desarrollador "attached to a Project" (asociada a un proyecto). Aparece en apps independientes más antiguas; asociar la app a un proyecto en la consola, o crear una app nueva ahí, lo resuelve. Los límites de tasa de la API oficial de X difieren en cada endpoint, y la guía de límites de tasa de la API de X los lista. En Sorsa API un 429 se despeja en menos de un segundo, y las solicitudes fallidas nunca se cobran, así que el reintento no cuesta nada.

#Mantén la clave en secreto y reemplázala si se filtra

Trata cada clave API como una contraseña: guárdala en una variable de entorno o en un gestor de secretos en tu servidor, nunca en código del front-end ni en un repositorio de Git. Pon el archivo .env que contiene X_BEARER_TOKEN o SORSA_API_KEY en .gitignore antes del primer commit, porque hay bots que buscan claves en repositorios públicos.

Una clave filtrada te cuesta en ambas API. En la API oficial de X, la página de buenas prácticas (se abre en una pestaña nueva) de X advierte que una clave robada puede agotar tu acceso de pago o hacer que suspendan la app. En Sorsa API, gasta tus solicitudes.

  • API oficial de X: abre la pestaña Keys and tokens de la app y haz clic en Regenerate junto a la credencial filtrada. El valor anterior deja de funcionar al instante, así que actualiza cada servidor que lo usaba. Un Bearer token también se puede invalidar con oauth2/invalidate_token y generar de nuevo.
  • Sorsa API: en la página API Keys del dashboard, crea una clave nueva y elimina la filtrada. La clave anterior se detiene al instante y responde 401.

Las claves de Sorsa API van solo en código del lado del servidor: los navegadores no pueden llamar a la API directamente, y una clave en JavaScript del front-end la puede leer cualquiera que abra la página.

Para tener en cuenta

X muestra cada credencial una sola vez, en el momento en que se genera. Pégala directo en tu gestor de contraseñas o de secretos. Si cierras la página antes, la única forma de recuperarla es regenerarla, lo que rompe todos los scripts que aún tengan el valor anterior.

#Empieza con la clave que lee datos hoy

Una clave oficial de la API de X necesita seis pasos y un saldo de créditos antes de la primera respuesta, y cada post que lee cuesta $0.005. Para leer datos públicos de X, usa una clave de Sorsa API: un registro, un header y tweets desde $0.014 por 1,000. Copia la clave, verifícala gratis y gasta las 100 solicitudes gratis en hasta 10K tweets antes de pagar nada. Para publicar posts también, conserva una app oficial pequeña para escribir y lee todo con Sorsa API.

#Preguntas frecuentes

¿Dónde encuentro mi clave de la API de X y mi Bearer token?

En el X Developer Console en console.x.com: abre Apps en el menú lateral, elige tu app y ve a su pestaña Keys and tokens. La pestaña lista la clave de API y su secreto, el Bearer token y los access tokens, cada uno con un botón Regenerate. X muestra un secreto solo cuando se genera, así que un valor perdido no se puede volver a ver, solo reemplazar.

¿Es gratis una clave de la API de Twitter?

Crear una clave oficial de la API de X es gratis, pero usarla no. La API oficial de X no tiene nivel gratuito para desarrolladores nuevos, y cada lectura se descuenta de créditos prepagados: $0.005 por post y $0.010 por perfil. Una clave de Sorsa API viene con 100 solicitudes gratis, hasta 10K tweets, sin tarjeta. La respuesta completa a ¿es gratis la API de Twitter? cubre ambas.

¿Qué clave de la API de Twitter debo usar para leer tweets?

Usa una clave de Sorsa API. Obtenerla toma unos 3 minutos, sin app, sin OAuth y sin cuenta de X; un solo header ApiKey funciona en los 45 endpoints, y todos los planes corren a 20 solicitudes por segundo. Los tweets cuestan desde $0.014 por 1,000, 250 veces menos que los $5.00 de la API oficial de X, y las primeras 100 solicitudes son gratis. Sorsa API ha procesado más de 6 mil millones de solicitudes de datos de X desde 2022.

¿Cuánto tarda en obtenerse una clave de la API de X?

X no publica un tiempo de revisión. Su guía Getting Access lista tres pasos (iniciar sesión, aceptar el Developer Agreement, crear una app), y la consola genera las credenciales cuando se crea la app. La clave no lee nada hasta que compras créditos, así que cuenta también con el paso del pago. Una clave de Sorsa API toma unos 3 minutos desde el registro hasta la primera respuesta.

¿Qué clave necesito para publicar tweets?

Publicar necesita un token de usuario, no el Bearer token: el access token y su secreto de una app configurada en Read and write, o un token de usuario de OAuth 2.0 con permiso de escritura. X cobra $0.015 por post y $0.20 por un post con enlace. Sorsa API es de solo lectura por diseño, así que nunca publica y nunca toca tu cuenta de X; combina las dos cuando un bot lea y publique a la vez.

#Cómo lo verificamos

El 2 de noviembre de 2026 leímos las páginas de docs.x.com de X sobre cómo obtener acceso, la clave de API y su secreto, el Bearer token, las apps de desarrollador, los precios, los errores y la seguridad de las claves, además de hilos del foro de desarrolladores de X sobre los errores de configuración 402 y 403. Ese mismo día enviamos solicitudes sin clave, con una clave inventada y con claves en el header equivocado a ambas API; la tabla de headers muestra los códigos y mensajes que volvieron. Las solicitudes a Sorsa API siguen su referencia de API en vivo, y la respuesta de key-usage muestra los valores de una cuenta nueva, no una llamada capturada.

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. Los pasos oficiales se verificaron hoy en docs.x.com y suman el paso de los créditos y el error 402; secciones nuevas sobre las credenciales, el header (con nuestras propias pruebas de solicitudes) y los errores de configuración; una vía con clave de Sorsa API con verificación gratis de la clave; dos figuras y un selector de credenciales.
  • Primera publicación.