Saltar al contenido principal
Cada objeto en la X API —Publicaciones, usuarios, Listas, DMs, Spaces— tiene un ID único. Comprender cómo funcionan estos ID te ayuda a crear integraciones confiables.

Formato de ID

Los ID de X son enteros de 64 bits sin signo generados mediante un sistema llamado “Snowflake”. Cada ID codifica:
  • Marca de tiempo — Cuándo se creó el objeto
  • Número de servidor (worker) — Qué servidor generó el ID
  • Número de secuencia — Orden dentro de ese milisegundo
Esto significa que los ID se ordenan aproximadamente por tiempo: los ID más altos generalmente representan objetos más recientes.
Los ID son globalmente únicos en todo X, no solo dentro de un único tipo de objeto.

Representación de cadenas frente a enteros

Utiliza siempre id en formato string en tu código. Algunos lenguajes de programación (como JavaScript) no pueden representar con precisión enteros de 64 bits.
En JavaScript, los enteros están limitados a 53 bits. Esto provoca pérdida de precisión con id muy grandes:
// ¡Esto pierde precisión!
const id = 10765432100123456789;
console.log(id.toString()); // "10765432100123458000" — ¡incorrecto!

// Usa strings en su lugar
const id = "10765432100123456789";
console.log(id); // "10765432100123456789" — ¡correcto!

Versiones de la API

VersiónFormato de ID
X API v2Los ID se devuelven como cadenas de texto por defecto
X API v1.1Devuelve tanto id (entero) como id_str (cadena de texto); usa siempre id_str

Trabajar con id

Almacenar IDs

Almacena las IDs como cadenas de texto o enteros de 64 bits en tu base de datos:
Base de datosTipo recomendado
PostgreSQLBIGINT o TEXT
MySQLBIGINT UNSIGNED o VARCHAR(20)
MongoDBString
SQLiteTEXT (los enteros de SQLite alcanzan un máximo de 63 bits)

Comparación de IDs

Al comparar IDs para establecer un orden cronológico:
# Python - safe for 64-bit integers
if int(id1) > int(id2):
    print("id1 is newer")

# JavaScript - comparar como cadenas (lexicográficamente funciona para IDs de la misma longitud)
# O usar BigInt
if (BigInt(id1) > BigInt(id2)) {
    console.log("id1 is newer");
}

Tipos de id comunes

Objetoid de ejemploNotas
Publicación (Tweet)1234567890123456789También denominado id de Tweet
Usuario2244994945Las cuentas más antiguas tienen id más cortas
Lista1234567890
Space1YqGodQbNXDxvAlfanumérico, no está en formato Snowflake
Evento de DM1234567890123456789

Diccionario de datos

Consulta los campos de id para cada tipo de objeto.

Búsqueda de Publicaciones

Recupera publicaciones por id.