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 followers realmente 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.