jsonscraper

Como medir a dinâmica do conteúdo dos concorrentes no IG: pipeline de API em Python

Colete publicações públicas de forma programada, calcule métricas com seus próprios dados e envie à equipe um resumo verificável.

Política editorial Comunique um erro

Uma equipe de marketing pode ver as publicações dos concorrentes no feed, mas a observação manual não responde bem a uma pergunta específica: quais formatos e temas recebem reações com regularidade e quais só chamaram atenção uma vez? A solução é salvar diariamente os dados de publicações públicas e compará-los ao longo do tempo, por formato e pelos contadores disponíveis.

Artigo: Como medir a dinâmica do conteúdo dos concorrentes no IG: pipeline de API em Python
Resumo: Um método prático para monitorar publicações públicas do IG: fazer solicitações à IG Scraper API, normalizar JSON, salvar snapshots diários e calcular tendências sem confundir reações acumuladas com novas.
Função da imagem: capa — ideia central
Seção: 
Tema visual: Um painel de análise digital que visualiza uma linha do tempo de cartões de conteúdo público no estilo do IG, contadores de engajamento e snapshots diários de dados, cl
© jsonscraper · Ilustração gerada por IA

A seguir, apresentamos um pipeline básico em Python e com a IG Scraper API. Ele obtém publicações de uma conta selecionada, salva as respostas em JSONL e gera um resumo dos novos conteúdos. As métricas de reação desse relatório refletem os valores retornados pela API no momento da coleta; snapshots de datas diferentes permitem analisar separadamente as mudanças.

Primeiro, defina o que comparar

Para uma pequena seleção de concorrentes, basta manter uma lista de contas públicas e coletar suas publicações em uma programação regular. Comece com perguntas que os dados possam responder: com que frequência o conteúdo é publicado, quais publicações são Reels ou de outros formatos, quais temas se repetem e como mudam os contadores disponíveis de curtidas e comentários.

Armazene dois conceitos separadamente: a publicação e seu snapshot. Identifique a publicação por um ID persistente, se houver na resposta; salve cada nova execução como um registro separado, com o horário da coleta. Assim, você poderá acompanhar a mudança nos contadores disponíveis, em vez de substituir o valor de ontem pelo de hoje.

Use a rota documentada

A documentação da jsonscraper indica o endereço https://ig.jsonscraper.com e a rota GET /v1/user/by/username para uma solicitação básica. Para obter publicações, o mapa da API também lista GET /v1/user/medias/chunk. Confira os parâmetros exatos e os campos da resposta na coleção Postman vinculada ao produto: não configure o processador com base em uma estrutura presumida antes de examinar a resposta real da sua solicitação.

Para uma verificação inicial, use o exemplo documentado de solicitação de perfil; passe a chave por uma variável de ambiente, em vez de gravá-la no código-fonte:

curl -G "https://ig.jsonscraper.com/v1/user/by/username" \
  --data-urlencode "username=apple" \
  --data-urlencode "license_key=$JSONSCRAPER_LICENSE_KEY" \
  --data-urlencode "cache_timeout=60"

O exemplo na página do produto mostra username, license_key e cache_timeout para a rota de perfil. Use o parâmetro em outras rotas somente se a documentação também o especificar para elas. Para solicitar publicações, obtenha os nomes atuais dos parâmetros na especificação dessa rota.

Salve as respostas como snapshots temporais

O script a seguir é um esqueleto para execução em produção: o URL e os parâmetros da rota de publicações ficam na configuração, para que possam ser preenchidos estritamente conforme a documentação do Postman. O processador salva o JSON original e o horário da coleta; acrescente a normalização dos campos depois de verificar a resposta real.

import json
import os
from datetime import datetime, timezone
from pathlib import Path

import requests

BASE_URL = "https://ig.jsonscraper.com"
USERNAME = os.environ["IG_USERNAME"]
LICENSE_KEY = os.environ["JSONSCRAPER_LICENSE_KEY"]
OUTPUT = Path("instagram_snapshots.jsonl")

# Preencha o endpoint e os parâmetros conforme a documentação da rota
# GET /v1/user/medias/chunk na coleção Postman.
MEDIA_PATH = os.environ["IG_MEDIA_PATH"]
MEDIA_PARAMS = json.loads(os.environ["IG_MEDIA_PARAMS_JSON"])

params = {
    **MEDIA_PARAMS,
    "username": USERNAME,
    "license_key": LICENSE_KEY,
}

response = requests.get(
    f"{BASE_URL}{MEDIA_PATH}", params=params, timeout=30
)
response.raise_for_status()
payload = response.json()

record = {
    "collected_at": datetime.now(timezone.utc).isoformat(),
    "username": USERNAME,
    "response": payload,
}
with OUTPUT.open("a", encoding="utf-8") as file:
    file.write(json.dumps(record, ensure_ascii=False) + "\n")

Não incluímos parâmetros de paginação nem nomes de campos inventados de propósito: eles devem ser copiados da especificação específica e verificados na resposta da API. Solicitações com timeout e raise_for_status() ajudam a detectar erros de rede antes de registrar o resultado como dados comuns. Para a execução automática, acrescente validação do JSON e um registro de erros.

Adicione agendamento e métricas

Execute a coleta uma vez por dia com cron ou o agendador da sua ferramenta de automação. Para várias contas, percorra uma lista de configuração, salve um snapshot separado para cada uma e preveja uma nova tentativa após erros temporários. Guarde a chave em uma variável de ambiente ou em um gerenciador de segredos; a página da API também recomenda não incorporá-la ao código do cliente.

Depois de verificar a resposta, normalize os registros em uma tabela com campos como username, media_id, collected_at, tipo de conteúdo e contadores disponíveis. Não exclua o JSON original: ele será útil se o formato da resposta mudar ou se for necessário conferir um cálculo.

Na camada analítica, calcule o número de novas publicações por período, a mediana das reações disponíveis por formato e a variação do contador da mesma publicação entre snapshots. A mediana reduz a influência de uma única publicação viral no resumo. Compare as contas em intervalos de tempo iguais e mostre o tamanho da amostra ao lado do valor agregado.

O que você obterá

A equipe terá uma tabela de publicações reproduzível e um resumo diário: frequência de publicação, distribuição por formato e dinâmica das reações disponíveis. Essas informações ajudam a formular hipóteses para o próprio calendário editorial, em vez de apenas acumular capturas de tela do feed.

O próximo passo é enviar os registros normalizados para o Google Sheets, um banco de dados ou um sistema de visualização e gerar o resumo em texto em uma etapa separada. Se usar IA, forneça dados agregados e peça que ela descreva padrões observáveis, indicando o período e o número de publicações; deixe as decisões estratégicas a cargo do editor.

Comece com uma conta e uma rota: confira os parâmetros e a estrutura da resposta na descrição da IG Scraper API e, em seguida, fixe essa configuração no agendamento. Assim, o monitoramento dos concorrentes deixa de ser uma consulta manual pontual e se torna um pipeline claro, com histórico preservado.

People

No people listed for this article yet.

Keep readingComo fazer scraping de IG com Python
Read the next article

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