Configurar um proxy 4G no Puppeteer é uma das formas mais eficazes de evitar bloqueios durante automação e scraping. Se você já tentou raspar dados do Google, Amazon ou Instagram com proxies comuns e foi bloqueado após algumas dezenas de requisições, você sabe exatamente a dor de que estamos falando. Proxies 4G móveis resolvem esse problema porque os IPs vêm de modems LTE reais, fazendo seu tráfego parecer o de um usuário comum com smartphone. Neste guia, você vai aprender:
- Como passar credenciais de proxy 4G diretamente no Puppeteer
- Como autenticar proxies com usuário e senha no browser headless
- Como rotacionar IPs 4G via API durante a execução do script
- Como verificar se seu proxy está funcionando corretamente
Em poucos minutos, você terá um setup funcional e pronto para produção.

Por que usar proxy 4G com Puppeteer em vez de proxies comuns
O Puppeteer é uma biblioteca Node.js que controla o Chrome ou Chromium via protocolo DevTools. Ele é muito usado para scraping, testes automatizados e automação de tarefas repetitivas. Mas mesmo com um browser headless real, se o seu IP for de um datacenter, os sites vão te bloquear.
Sites como Google, Amazon, Cloudflare e redes sociais classificam IPs de datacenter como suspeitos automaticamente. Eles sabem que nenhum usuário real navega a partir de um servidor AWS ou DigitalOcean. É por isso que proxies residenciais e, principalmente, proxies 4G móveis têm uma taxa de sucesso muito maior.
Key takeaway: IPs 4G aparecem como conexões de celular via operadora. Eles ficam dentro de blocos CGNAT compartilhados, o que significa que milhões de usuários reais usam o mesmo range de IP. Isso torna quase impossível para um site bloquear seu IP sem bloquear usuários legítimos também.
Na infraestrutura da Proxy Poland, cada porta é um modem físico LTE 4G/5G com um SIM real de operadora polonesa. O resultado prático: taxa de detecção próxima de zero, mesmo em sites com proteções avançadas como Datadome ou PerimeterX.
Pré-requisitos antes de começar a configuração do proxy 4G no Puppeteer
Antes de escrever qualquer código, você precisa ter alguns itens em ordem. Pular essa etapa é a razão número um pela qual a configuração falha na primeira tentativa.
Software necessário
- Node.js instalado (versão 18 ou superior recomendada)
- Puppeteer instalado via npm:
npm install puppeteer - Um editor de código como VSCode
Dados do seu proxy 4G
Você precisará das seguintes informações do seu provedor de proxy 4G:
- Host: endereço do servidor proxy (ex:
pl.proxy-poland.com) - Porta: número da porta atribuída ao seu modem (ex:
10001) - Usuário: seu nome de usuário para autenticação
- Senha: sua senha de acesso
- Protocolo: HTTP ou SOCKS5 (ambos funcionam com Puppeteer)
Se você ainda não tem um proxy 4G, a Proxy Poland oferece um trial gratuito de 1 hora sem precisar de cartão de crédito. É o suficiente para testar todo o setup descrito neste guia.
Como passar o proxy 4G no Puppeteer: configuração básica
A forma mais direta de configurar um proxy no Puppeteer é passando o argumento --proxy-server na inicialização do browser. Veja o exemplo abaixo com um proxy HTTP:
- Crie um arquivo chamado
scraper.jsno seu projeto - Importe o Puppeteer e defina as configurações do proxy
- Passe o servidor proxy como argumento ao lançar o browser
- Abra a página desejada e execute suas ações
O código básico ficaria assim:
const puppeteer = require('puppeteer');
const PROXY_HOST = 'pl.proxy-poland.com';const PROXY_PORT = '10001';
(async () => { const browser = await puppeteer.launch({ args: [`--proxy-server=http://${PROXY_HOST}:${PROXY_PORT}`] }); const page = await browser.newPage(); await page.goto('https://httpbin.org/ip'); const content = await page.content(); console.log(content); await browser.close();})();
Para usar SOCKS5 em vez de HTTP, basta trocar o prefixo: --proxy-server=socks5://pl.proxy-poland.com:10001. O SOCKS5 é geralmente mais estável para sessões longas e suporta qualquer tipo de tráfego TCP.
Key takeaway: O argumento --proxy-server no Puppeteer se aplica a todo o browser. Todas as abas abertas nessa instância vão usar o mesmo proxy 4G automaticamente.

Como autenticar proxy com usuário e senha no Puppeteer
Proxies 4G com autenticação por IP whitelist são raros. A maioria usa usuário e senha, e o Puppeteer não passa essas credenciais automaticamente pelo argumento --proxy-server. Você precisa interceptar o desafio de autenticação.
O método correto é usar o evento page.authenticate() logo após criar a página. Veja como fazer:
const page = await browser.newPage();await page.authenticate({ username: 'seu_usuario', password: 'sua_senha'});await page.goto('https://httpbin.org/ip');
Esse método funciona para proxies HTTP. Para SOCKS5 com autenticação, a abordagem muda um pouco. Você precisa passar as credenciais diretamente na URL do proxy:
--proxy-server=socks5://seu_usuario:sua_senha@pl.proxy-poland.com:10001
Usando variáveis de ambiente para proteger credenciais
Nunca coloque usuário e senha direto no código-fonte, especialmente se você usa Git. Use variáveis de ambiente com um arquivo .env:
- Instale o pacote:
npm install dotenv - Crie o arquivo
.envcomPROXY_USER=seu_usuarioePROXY_PASS=sua_senha - Adicione
.envao seu.gitignore - No código, use
require('dotenv').config()e acesse comprocess.env.PROXY_USER
Isso é especialmente importante em ambientes de produção ou quando você compartilha o código com um time.
Rotação de IP 4G via API durante o scraping com Puppeteer
Uma das maiores vantagens dos proxies 4G da Proxy Poland é a rotação de IP em 2 segundos via chamada de API. Você não precisa fechar e abrir o browser para trocar de IP. Isso é fundamental para scraping em escala.
O fluxo funciona assim: você faz uma requisição HTTP para o endpoint de rotação da Proxy Poland, e o modem físico troca de IP imediatamente. O Puppeteer continua usando a mesma porta, mas agora com um IP diferente na rede da operadora.
Exemplo de rotação integrada ao Puppeteer
Você pode usar o módulo nativo https do Node.js ou instalar o axios para fazer a chamada de rotação:
const axios = require('axios');
async function rotateIP() { await axios.get('https://api.proxy-poland.com/rotate?port=10001&token=SEU_TOKEN'); await new Promise(r => setTimeout(r, 3000)); // aguarda 3s console.log('IP rotacionado com sucesso');}
Chame rotateIP() a cada N requisições ou quando detectar um erro 403/429. Por exemplo, a cada 50 páginas raspadas, rotacione o IP para manter um perfil de uso similar ao de um usuário humano real.
Key takeaway: Combinar Puppeteer com rotação automática de IP 4G te dá uma capacidade de scraping muito maior do que qualquer proxy de datacenter, com latência média de 300ms e sem limites de banda.
Verificando se o proxy 4G está ativo no Puppeteer
Antes de rodar seu scraper em produção, você precisa confirmar que o Puppeteer está de fato usando o proxy 4G e não seu IP real. Há duas formas de fazer isso.
Método 1: checar via httpbin ou ferramenta de IP
Acesse https://httpbin.org/ip ou use a ferramenta verificador de IP da Proxy Poland dentro do Puppeteer e leia o conteúdo da página. O IP retornado deve ser diferente do seu IP real e pertencer a uma operadora móvel polonesa.
Método 2: verificar headers HTTP
Acesse https://httpbin.org/headers para ver os headers que o Puppeteer está enviando. Você pode também usar a ferramenta de análise de headers para verificar se não há headers que revelem o uso de proxy. Um proxy 4G de qualidade não adiciona headers como X-Forwarded-For ou Via, que denunciam o uso de intermediário.
- IP retornado deve ser de operadora móvel (não de datacenter)
- Nenhum header
X-Forwarded-Fordeve aparecer - A geolocalização deve apontar para a Polônia
- Teste também em verificador de DNS leak para garantir que não há vazamento
Se tudo estiver certo, seu setup está pronto para uso em produção.
Erros comuns e como resolver na configuração do proxy 4G no Puppeteer
Mesmo seguindo o passo a passo corretamente, alguns problemas aparecem. Aqui estão os mais frequentes e como resolver cada um.
ERR_NO_SUPPORTED_PROXIES
Esse erro acontece quando você passa o protocolo errado. Verifique se está usando http:// ou socks5:// corretamente no argumento. O Puppeteer não aceita https:// como prefixo de proxy.
Timeout na conexão
Se a página não carrega e dá timeout, verifique se a porta do proxy está correta e se o seu IP está na whitelist do provedor (se aplicável). Teste a conexão com curl primeiro: curl -x http://usuario:senha@host:porta https://httpbin.org/ip.
Autenticação falha silenciosamente
Se o page.authenticate() não funcionar, pode ser que o proxy exija autenticação por IP. Nesse caso, adicione seu IP de saída à whitelist no painel do provedor.
- Confirme host e porta com o provedor
- Teste credenciais via curl antes de usar no Puppeteer
- Use
headless: falsetemporariamente para ver o que acontece visualmente - Adicione logs de erros com
page.on('requestfailed', ...)
Você pode monitorar a velocidade da sua conexão proxy com a ferramenta de teste de velocidade para descartar problemas de latência alta.

Perguntas Frequentes
Proxy 4G funciona com Puppeteer em modo headless?
Sim. O modo headless é o padrão do Puppeteer e funciona perfeitamente com proxies 4G. O argumento --proxy-server e o método page.authenticate() funcionam independentemente de o browser estar visível ou não.
Qual é a diferença entre usar HTTP e SOCKS5 no Puppeteer?
HTTP proxy funciona na camada de aplicação e é mais simples de configurar com autenticação via page.authenticate(). SOCKS5 opera na camada de transporte, suporta qualquer protocolo TCP/UDP e tende a ser mais estável para sessões longas. Para scraping intensivo, SOCKS5 é geralmente a melhor escolha.
Posso usar múltiplos proxies 4G em instâncias paralelas do Puppeteer?
Sim. Basta lançar múltiplas instâncias do browser, cada uma com um proxy diferente. Cada instância fica isolada e usa seu próprio IP 4G. A Proxy Poland permite contratar múltiplas portas, cada uma com seu próprio modem e IP independente.
O proxy 4G aguenta o volume de requisições do Puppeteer?
Proxies 4G têm banda ilimitada na Proxy Poland, sem cobrança por GB. A limitação prática é a velocidade da conexão LTE, que fica em torno de 20-50 Mbps por modem. Para scraping de HTML, isso é mais do que suficiente para centenas de páginas por hora por porta.
Conclusão
Configurar um proxy 4G no Puppeteer não é complicado, mas cada detalhe importa: passar o argumento correto, autenticar com usuário e senha, verificar o IP antes de escalar e integrar a rotação via API. Com esses quatro pilares, você tem um setup de scraping que funciona mesmo em sites com proteções avançadas. Os pontos principais do guia são: use page.authenticate() para passar credenciais, rotacione o IP a cada ciclo de requisições, e sempre valide o proxy antes de rodar em produção. IPs 4G de modems reais são a única forma de aparecer como um usuário humano legítimo para os algoritmos antibot modernos. Se você quer começar agora sem risco, a Proxy Poland oferece um trial gratuito de 1 hora. Veja os planos e comece seu trial gratuito hoje mesmo e teste o setup completo descrito neste guia.
