Desenvolvendo extensões chrome para Instagram e linkedin: APIs internas, manifest V3 e aprovação na loja
Voltar para blog

Desenvolvendo extensões chrome para Instagram e linkedin: APIs internas, manifest V3 e aprovação na loja

07/06/2026 · 3 min · Infraestrutura

Trabalho com TI há mais de 10 anos (atualmente como Analista N2 e focado em infra e cibersegurança) e recentemente me enfiei em um desafio massa: desenvolver extensões para o Chrome usando Vibecode e mapeamento de APIs internas.

Muita gente acha que criar extensão é só jogar um HTML num popup, mas quando você mexe com Instagram e LinkedIn (que são verdadeiras "fortalezas"), o buraco é mais embaixo. Vou compartilhar com vocês o que aprendi nessa jornada de aprovação, erros de código e como sobreviver ao Manifest V3.

O objetivo era criar duas ferramentas: uma para listar quem não te segue de volta no Instagram e outra para gerir contatos no LinkedIn por afinidade (tags de headline), com exportação para CSV/JSON.

O primeiro grande aprendizado: não use APIs públicas se elas não existem ou são limitadas. Eu mapeei as chamadas internas que o próprio navegador faz. É "engenharia reversa" pura. Se você intercepta o tráfego, entende o JSON que volta e replica isso na sua ferramenta, você ganha um poder absurdo.

No começo, eu queria que a extensão lesse tudo de uma vez. Erro fatal. O Instagram e o LinkedIn detectam padrões de repetição. Se você faz 50 requisições em 2 segundos, sua conta vai para o "limbo".

A Solução: Implementar o que chamo de Human-like delay.

"Não adianta ser rápido se você for banido. O segredo é simular a lerdeza humana."

Se você está começando agora, esqueça o Manifest V2. O Google matou ele. Tudo agora é V3, o que significa que não podemos mais carregar código remoto (tchau, CDNs externas) e tudo precisa ser declarado no manifest.json.

Aqui está um exemplo genérico de como estruturei as permissões para não ser barrado na revisão manual do Google:

{
  "manifest_version": 3,
  "name": "Social Network Manager - Export & Stats",
  "version": "1.0.0",
  "permissions": ["storage", "downloads", "scripting"],
  "host_permissions": [
"https://*.domain.com/*"
  ],
  "action": {
"default_popup": "popup.html"
  },
  "background": {
"service_worker": "background.js"
  }
}

Um erro que tive foi tentar disparar o download direto do Service Worker. No V3, ele não tem acesso ao DOM. Tive que usar um offscreen document ou fazer a lógica de criação do Blob direto no popup.js:

// Exemplo de como gerei o CSV localmente sem servidor externo
const exportToCSV = (data) => {
  const csvContent = "data:text/csv;charset=utf-8," 
+ data.map(e => `${e.name},${e.headline}`).join("\n");
  const encodedUri = encodeURI(csvContent);
  const link = document.createElement("a");
  link.setAttribute("href", encodedUri);
  link.setAttribute("download", "my_leads.csv");
  document.body.appendChild(link);
  link.click();
};

Se você enviar uma extensão que diz "Automação de LinkedIn", você será rejeitado em 24 horas. O Google odeia o termo "automação" para redes sociais.

O que eu fiz para passar:

  1. Mude o foco: Venda a ferramenta como "Produtividade" ou "Gestão de Dados Pessoais".
  1. Privacidade em primeiro lugar: No formulário de revisão, deixei claro: "A extensão não envia dados para servidores externos. O processamento é 100% local." Isso reduz o risco de segurança absurdamente.
  1. Vídeo de demonstração: Gravei um vídeo mostrando a ferramenta funcionando. Isso evita que o revisor ache que seu código é um malware escondido.

Muita gente pergunta: "Pra que o trabalho de aprovar na loja se posso usar em modo desenvolvedor?".

Cara, o ganho de autoridade é imenso.

Portfólio: Ter um link da domain.com apontando para o seu site ([email protected]) é um backlink de ouro para SEO.

Confiança: Quando um cliente vê que você domina APIs complexas e passou pelo crivo da Google, o valor do seu freela sobe.

Estudo de Caso: Usei essas extensões como base para o meu SaaS de gestão de estudos e carreira. É tudo um ecossistema.

Desenvolver extensões em 2026 exige paciência com as APIs e respeito aos limites de taxa (rate limiting). Se você for ético, mantiver os dados locais e souber "conversar" com as APIs internas, as possibilidades de criar ferramentas úteis são infinitas.

Este artigo foi útil?

Deixe uma reação rápida para apoiar o conteúdo:

CC BY-NC

Este post está licenciado sob CC BY-NC.

Comentários

Participe da discussão abaixo.

0 comentários