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.