jsonscraper
Mercados
Voltar ao jornal

Compare um perfil do IG com o briefing da campanha usando campos verificáveis

Como transformar uma lista de contas em uma verificação reproduzível com a IG Scraper API e Python

Política editorial Comunique um erro

Antes do lançamento de uma campanha, é possível comparar automaticamente cada conta do IG incluída no briefing com os dados públicos do perfil. Essa verificação identifica divergências de username, status privado, alterações no nome ou na biografia e diferenças entre o número de publicações e o intervalo esperado. O resultado é uma tabela de verificações para o profissional de marketing, não uma decisão automática sobre a adequação do criador.

Artigo: Compare um perfil do IG com o briefing da campanha usando campos verificáveis
Resumo: Verifique perfis públicos do IG antes do lançamento da campanha: obtenha dados por username, compare-os com o briefing e gere um relatório de divergências sem substituir dados ausentes por zeros.
Função da imagem: capa — ideia central
Seção: 
Tema visual: Foto editorial: briefing impresso de campanha de influenciadores e um relatório compacto de validação CSV sobre uma mesa; dados de perfil representados por cartões neutros simples
A verificação compara os requisitos do briefing com campos públicos específicos do perfil.© jsonscraper · criado com IA

O problema: o briefing fica desatualizado mais rápido que a planilha

A lista da campanha pode conter o nome da conta, um link, uma estimativa de seguidores e requisitos para o perfil público. Essas informações podem divergir facilmente: a conta muda de username, o perfil passa a ser privado e os números do briefing continuam os mesmos. Verificar um perfil manualmente é simples; repetir o processo para uma lista de contas antes de cada campanha é mais difícil de controlar e reproduzir.

Uma solução útil é definir regras explícitas para cada linha, obter os campos públicos disponíveis no momento da verificação e registrar lado a lado os valores previstos e os observados. Nesse caso, «corresponde» significa apenas que um campo específico atende a uma regra específica; a decisão sobre a adequação da audiência ou a qualidade do conteúdo continua a cargo do profissional.

Quais dados solicitar

O guia de endpoints da IG API descreve a rota GET /v1/user/by/username, que exige o parâmetro username. Na resposta verificada, os dados do perfil ficam no objeto ig: ali estão o username, o nome completo, a biografia, os indicadores de privacidade e verificação e as contagens de publicações, seguidores e contas seguidas. Esses campos descrevem uma captura dos dados do perfil disponível naquele momento.

Isso basta para uma verificação preliminar de nome da conta, privacidade e limites numéricos. A biografia pode ser exibida para análise do operador ou verificada segundo uma regra simples, como a presença de um termo obrigatório. Esse filtro textual encontra uma correspondência na string, mas, por si só, não avalia o significado nem confirma o cumprimento de condições contratuais.

Como integrar a solicitação ao Python

Primeiro, salve a chave de licença na variável de ambiente JSONSCRAPER_INSTAGRAM_LICENSE_KEY. O exemplo usa o endereço-base, a rota, o parâmetro username e o nome da chave license_key, todos confirmados. O CSV contém os campos username,min_followers,max_followers,require_public; para cada conta, o script compara a resposta com as regras e sinaliza as linhas que precisam de análise.

import csv
import os
import sys
import requests

BASE_URL = "https://ig.jsonscraper.com"
API_KEY = os.environ.get("JSONSCRAPER_INSTAGRAM_LICENSE_KEY")
if not API_KEY:
    raise SystemExit("Set JSONSCRAPER_INSTAGRAM_LICENSE_KEY")

# brief.csv: username,min_followers,max_followers,require_public
with open("brief.csv", newline="", encoding="utf-8") as source:
    brief = list(csv.DictReader(source))

results = []
for row in brief:
    username = row.get("username", "").strip()
    minimum_text = row.get("min_followers", "").strip()
    if not username or not minimum_text:
        results.append({
            "requested_username": username,
            "needs_review": True,
            "error": "Missing username or min_followers",
        })
        continue

    try:
        response = requests.get(
            f"{BASE_URL}/v1/user/by/username",
            params={"username": username, "license_key": API_KEY},
            timeout=30,
        )
        response.raise_for_status()
        payload = response.json()
        if payload.get("status") != "ok" or not isinstance(payload.get("ig"), dict):
            raise ValueError("Unexpected API response")
        profile = payload["ig"]

        followers = profile.get("follower_count")
        minimum = int(minimum_text)
        maximum_text = row.get("max_followers", "").strip()
        maximum = int(maximum_text) if maximum_text else None
        public_required = row.get("require_public", "").strip().lower() == "true"

        checks = {
            "username_matches": (
                isinstance(profile.get("username"), str)
                and profile["username"].lower() == username.lstrip("@").lower()
            ),
            "followers_in_range": (
                isinstance(followers, int)
                and followers >= minimum
                and (maximum is None or followers 

Para executar: python check_profiles.py. Instale a biblioteca requests, defina a variável de ambiente no ambiente de execução e coloque o arquivo brief.csv na mesma pasta. Não registre a chave no código-fonte nem no CSV de saída. O script processa a lista sequencialmente, o que facilita a verificação e a depuração de conjuntos pequenos de contas.

Por que os dados ausentes devem continuar visíveis

Nas regras de verificação, é importante distinguir um valor zero de um campo inexistente. No exemplo, o número de seguidores só é considerado adequado quando há um campo numérico; se o contador estiver ausente, a condição não foi confirmada e o registro é encaminhado para análise manual. Um limite min_followers vazio também é sinalizado como erro nos dados de entrada, em vez de ser convertido automaticamente em zero.

É recomendável manter a validação da resposta como parte do fluxo de trabalho. Primeiro, o script confirma que o status externo é ok e, depois, verifica se existe o objeto ig. Erros HTTP, JSON inesperado ou regras inválidas são registrados sem o texto da exceção, que poderia revelar a chave na URL. Assim, o operador consegue distinguir uma falha na solicitação de uma divergência no perfil, sem expor o segredo.

Como interpretar o resultado e automatizar a verificação

O arquivo profile_check.csv contém o username informado, o nome retornado, os campos públicos disponíveis, os resultados de cada condição e o indicador geral needs_review. A equipe pode filtrar as linhas por esse indicador, e o desenvolvedor pode armazenar o relatório ou encaminhá-lo à próxima etapa do processo ETL. Para programar a execução, use um agendador e armazene a data da execução separadamente, para poder comparar as capturas da campanha.

Artigo: Compare um perfil do IG com o briefing da campanha usando campos verificáveis
Resumo: Verifique perfis públicos do IG antes do lançamento da campanha: obtenha dados por username, compare-os com o briefing e gere um relatório de divergências sem substituir dados ausentes por zeros.
Função da imagem: ilustração de apoio 2 — um aspecto específico diferente
Seção: Como interpretar o resultado e automatizar a verificação
Tema visual: Infográfico em russo que mostra o fluxo: linhas do briefing em CSV → GET /v1/use
O diagrama mostra o percurso da linha do briefing até o relatório, incluindo a análise manual de dados ausentes.© jsonscraper · ilustração gerada por IA

Se uma regra mudar, mantenha-a no briefing em vez de incorporá-la ao código. Assim, os limites podem ser verificados: cada linha mostra qual intervalo de seguidores ou qual indicador de privacidade era esperado. É possível acrescentar uma verificação de texto específico na biografia, mas uma correspondência literal não substitui a avaliação de conteúdo feita por um profissional.

A página da IG Scraper API apresenta o endereço-base, um exemplo de solicitação e um link para o Postman. O cenário acima usa apenas a consulta de perfil por username, que está confirmada, e não pressupõe que essa solicitação retorne publicações.

O resultado prático é uma verificação preliminar reproduzível: em vez de analisar manualmente a lista inteira, a equipe recebe uma relação de correspondências e exceções associadas a campos específicos do briefing. Isso acelera a verificação antes do lançamento, mantendo a decisão sobre a adequação à campanha nas mãos do profissional responsável.

Pessoas

Nenhuma pessoa listada para este artigo ainda.

Continue lendoCompare perfis do IG com o briefing da campanha antes do lançamento: validação por API
Leia o próximo artigo

Transforme o que lê numa integração funcional

Explore as APIs de dados sociais da jsonscraper, teste pedidos e crie o seu próximo fluxo de trabalho.

Explorar APIs