A resposta do endpoint de perfil sempre inclui o campo booleano is_private. Quando true, a maioria dos outros endpoints (posts, seguidores, stories) não vai retornar dados detalhados — exatamente como aconteceria ao visitar o perfil sem seguir a conta.
{
"username": "conta_privada",
"is_private": true,
"followers": 842
}
Tratando isso no seu código
Uma integração bem feita verifica is_private antes de tentar consultar posts ou seguidores de um perfil, evitando chamadas desnecessárias que retornariam vazias.
if perfil["is_private"]:
pular_coleta_detalhada()
else:
coletar_posts(perfil["username"])
Isso também é importante do ponto de vista de conformidade — veja o artigo sobre LGPD e scraping de redes sociais para entender por que respeitar essa barreira é o primeiro filtro de uso responsável.