Todo dado que entra no seu sistema vindo de uma fonte externa — mesmo uma API confiável — merece validação antes de ser usado, especialmente se for exibido para outros usuários.
O que validar
- Tipos de dado: confirme que
followersrealmente veio como número, não como string ou nulo inesperado; - Campos ausentes: nem todo perfil retorna todos os campos (bio vazia, sem link externo) — trate como opcional, não obrigatório;
- Conteúdo de texto (bio, legendas): se esse texto for exibido na sua interface, escape adequadamente para evitar XSS, mesmo vindo de uma API confiável.
Exemplo de validação simples
def validar_perfil(dados):
return {
"username": str(dados.get("username", "")).strip(),
"followers": int(dados.get("followers") or 0),
"bio": html.escape(dados.get("biography", "")),
}
Por que isso importa mesmo com fonte confiável
A bio de um perfil do Instagram é escrita por um usuário final — ela pode conter qualquer caractere, incluindo tentativas (intencionais ou não) de quebrar a formatação da sua interface. Tratar todo dado externo como não confiável por padrão é uma prática de segurança básica, não desconfiança da API em si.