Usernames do Instagram não são permanentes — o dono da conta pode trocar a qualquer momento. Se o seu sistema usa username como chave primária, isso vira um problema de continuidade de dados.

O problema na prática

Você monitora @marca_antiga por meses. Um dia, o perfil vira @marca_nova. Se sua consulta busca literalmente por marca_antiga, ela passa a retornar 404 — parece que o perfil sumiu, quando na verdade só mudou de nome.

A solução: usar o ID interno como chave

Como descrito em diferença entre username e ID interno, o ID numérico de um perfil nunca muda. Salvar esse ID junto com o username na primeira coleta permite detectar a mudança depois.

Rotina de detecção de mudança

def verificar_mudanca_username(perfil_salvo):
    dados_atuais = buscar_perfil_por_id(perfil_salvo["instagram_id"])
    if dados_atuais["username"] != perfil_salvo["username"]:
        atualizar_username_no_banco(perfil_salvo["id"], dados_atuais["username"])
        notificar("Perfil mudou de @{} para @{}".format(
            perfil_salvo["username"], dados_atuais["username"]))

Rodar essa checagem periodicamente evita que seu histórico de monitoramento se perca silenciosamente.