Skip to main content
Cada objeto en la X API —posts, usuarios, listas, DMs, spaces— tiene un ID único. Entender cómo funcionan estos IDs te ayuda a crear integraciones confiables.

Formato de ID

Los IDs de X son enteros sin signo de 64 bits generados con un sistema llamado “Snowflake”. Cada ID codifica:
  • Marca de tiempo — Cuándo se creó el objeto
  • Número de trabajador — Qué servidor generó el ID
  • Número de secuencia — Orden dentro de ese milisegundo
Esto significa que los IDs están ordenados aproximadamente en el tiempo: los IDs más altos generalmente representan objetos más nuevos.
Los IDs son únicos a nivel global en toda X, no solo dentro de un mismo tipo de objeto.

Representación como cadena vs. entero

Usa siempre IDs como cadenas 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 causa pérdida de precisión con IDs grandes:
// ¡Esto pierde precisión!
const id = 10765432100123456789;
console.log(id.toString()); // "10765432100123458000" — ¡incorrecto!

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

Versiones de la API

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

Trabajar con IDs

Almacenar IDs

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

Comparar IDs

Al comparar IDs para orden cronológico:
# Python - seguro para enteros de 64 bits
if int(id1) > int(id2):
    print("id1 is newer")

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

Tipos de ID comunes

ObjetoEjemplo de IDNotas
Post (Tweet)1234567890123456789También llamado Tweet ID
Usuario2244994945Las cuentas más antiguas tienen IDs más cortos
Lista1234567890
Space1YqGodQbNXDxvAlfanumérico, no en formato Snowflake
Evento de DM1234567890123456789

Recursos relacionados

Diccionario de datos

Consulta los campos de ID para cada tipo de objeto.

Post Lookup

Recupera posts por ID.