Skip to main content
Todo objeto na X API — posts, usuários, listas, DMs, spaces — tem um ID único. Entender como esses IDs funcionam ajuda você a construir integrações confiáveis.

Formato do ID

Os X IDs são inteiros não assinados de 64 bits gerados usando um sistema chamado “Snowflake.” Cada ID codifica:
  • Timestamp — Quando o objeto foi criado
  • Número do worker — Qual servidor gerou o ID
  • Número de sequência — Ordem dentro daquele milissegundo
Isso significa que os IDs são aproximadamente ordenados por tempo: IDs maiores geralmente representam objetos mais novos.
Os IDs são globalmente únicos em todo o X, não apenas dentro de um único tipo de objeto.

Representação como string vs. inteiro

Sempre use IDs como string no seu código. Algumas linguagens de programação (como JavaScript) não conseguem representar inteiros de 64 bits com precisão.
Em JavaScript, os inteiros são limitados a 53 bits. Isso causa perda de precisão com IDs grandes:
// This loses precision!
const id = 10765432100123456789;
console.log(id.toString()); // "10765432100123458000" — wrong!

// Use strings instead
const id = "10765432100123456789";
console.log(id); // "10765432100123456789" — correct!

Versões da API

VersãoFormato do ID
X API v2IDs são retornados como strings por padrão
X API v1.1Retorna tanto id (inteiro) quanto id_str (string) — sempre use id_str

Trabalhando com IDs

Armazenando IDs

Armazene IDs como strings ou inteiros de 64 bits no seu banco de dados:
Banco de dadosTipo recomendado
PostgreSQLBIGINT ou TEXT
MySQLBIGINT UNSIGNED ou VARCHAR(20)
MongoDBString
SQLiteTEXT (inteiros do SQLite têm máximo de 63 bits)

Comparando IDs

Ao comparar IDs para ordenação cronológica:
# Python - safe for 64-bit integers
if int(id1) > int(id2):
    print("id1 is newer")

# JavaScript - compare as strings (lexicographically works for same-length IDs)
# Or use BigInt
if (BigInt(id1) > BigInt(id2)) {
    console.log("id1 is newer");
}

Tipos comuns de ID

ObjetoExemplo de IDObservações
Post (Tweet)1234567890123456789Também chamado de Tweet ID
User2244994945Contas mais antigas têm IDs mais curtos
List1234567890
Space1YqGodQbNXDxvAlfanumérico, não no formato Snowflake
DM Event1234567890123456789

Recursos relacionados

Dicionário de Dados

Veja os campos de ID para cada tipo de objeto.

Post Lookup

Recupere posts por ID.