O username (o @usuario) é o identificador visível e pode ser trocado pelo dono da conta a qualquer momento. O ID numérico interno nunca muda, mesmo que o username seja alterado várias vezes.
Por que isso importa em coleta de dados recorrente
Se o seu sistema salva dados usando o username como chave, e o perfil monitorado troca de nome, seu histórico "quebra" — parece um perfil novo. Usar o ID interno como chave primária evita esse problema.
Na prática, na maioria dos endpoints
Os endpoints do ScrapeGram aceitam consulta por username diretamente — mais simples pro dia a dia — mas a resposta de perfil sempre inclui o ID interno, que vale a pena salvar junto se você monitora o mesmo conjunto de perfis ao longo do tempo.
Veja mais sobre esse tipo de instabilidade no artigo como lidar com perfis que mudam de username com frequência.