In this Article
O Puppeteer controla o Chrome headless para scraping e automação — ele renderiza JavaScript, lida com logins e cliques, e alimenta uma enorme fatia das pilhas de scraping em Node.js em 2026. Mas aponte-o para um alvo real a partir de um único IP de datacenter e você será bloqueado ou limitado por taxa rápido. A correção é rotear o Puppeteer por proxies — idealmente residenciais — para que cada sessão pareça um usuário comum. O detalhe único do Puppeteer: o Chrome não aceita nome de usuário e senha na URL do proxy, então a autenticação precisa de uma etapa extra. Este guia mostra exatamente como configurar um proxy no Puppeteer (com código funcional), e então classifica os 8 melhores proxies para o Puppeteer em 2026 por preço, taxa de sucesso e integração.
Sou Andrii Byzov, um CMO Fracionário AI-Native que roda pipelines de dados baseados em Puppeteer diariamente. Abaixo: a configuração para copiar e colar incluindo a etapa de autenticação em que todos tropeçam, o padrão de rotação que escala, e os provedores que valem seu orçamento — com a DataImpulse residencial a $1/GB como a linha de base de valor.
Fatos Principais
- Defina o proxy com a flag de lançamento
--proxy-server. Passe-a emargsparapuppeteer.launch(); ela se aplica a toda página naquele navegador. - O Chrome ignora credenciais na URL do proxy. Para um proxy autenticado você deve chamar
page.authenticate({ username, password })antes depage.goto()— ou envolver o proxy com a bibliotecaproxy-chain, que cuida da autenticação para você. - A autenticação SOCKS5 não é suportada. O Chromium (e portanto o Puppeteer) não faz nome de usuário/senha sobre SOCKS5 — use o endpoint HTTP/HTTPS para proxies residenciais autenticados.
- Rotacione relançando ou com o proxy-chain. A flag
--proxy-serveré fixa por navegador, então rotação significa um novo navegador por proxy, ou um wrapper localproxy-chainapontado para um upstream rotativo — um gateway residencial rotativo dá um IP novo por conexão automaticamente. - A DataImpulse é a escolha de valor — residencial $1/GB pay-as-you-go, datacenter $0,50/GB, mobile $2/GB, 90M+ IPs em 195 países, HTTP/HTTPS/SOCKS5, segmentação por país/cidade/ASN — uma fração do preço corporativo por GB.
Como Configurar um Proxy no Puppeteer
Há dois padrões confiáveis: a flag embutida mais page.authenticate(), ou a biblioteca proxy-chain para autenticação e rotação mais limpas.
1. A flag --proxy-server + page.authenticate()
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
args: ['--proxy-server=http://gw.dataimpulse.com:823'], // DataImpulse gateway
});
const page = await browser.newPage();
// Chrome won't take credentials in the URL — authenticate separately,
// BEFORE the first navigation:
await page.authenticate({
username: 'YOUR_LOGIN__cr.us', // __cr.us = target the US
password: 'YOUR_PASSWORD',
});
await page.goto('https://httpbin.org/ip'); // verify the egress IP
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();
})();
2. A biblioteca proxy-chain (autenticação + rotação mais limpas)
O proxy-chain da Apify sobe um proxy local que mantém suas credenciais e encaminha para o gateway upstream, então você pula o page.authenticate() e pode trocar os upstreams para rotacionar:
const puppeteer = require('puppeteer');
const proxyChain = require('proxy-chain');
(async () => {
const upstream = 'http://YOUR_LOGIN__cr.us:[email protected]:823';
const newProxyUrl = await proxyChain.anonymizeProxy(upstream); // local, auth handled
const browser = await puppeteer.launch({ args: [`--proxy-server=${newProxyUrl}`] });
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();
await proxyChain.closeAnonymizedProxy(newProxyUrl, true);
})();
3. SOCKS5 e uma nota sobre rotação
O Puppeteer pode usar SOCKS5 (--proxy-server=socks5://gw.dataimpulse.com:824), mas o Chromium não suporta autenticação por nome de usuário/senha sobre SOCKS5 — então reserve o SOCKS5 para acesso com whitelist de IP e mantenha os proxies residenciais autenticados no endpoint HTTP/HTTPS. Como o --proxy-server é fixo durante a vida do navegador, você rotaciona lançando um novo navegador por proxy ou apontando o proxy-chain para um gateway rotativo, que entrega um IP novo em cada nova conexão. A DataImpulse mantém um tutorial de proxy para Puppeteer com a configuração atual.
Melhores Proxies para o Puppeteer num Relance
| Provedor | Melhor para Puppeteer | Preço residencial | Protocolos | Destaque |
|---|---|---|---|---|
| DataImpulse | Melhor valor, pipelines internos | $1/GB PAYG | HTTP/HTTPS/SOCKS5 | Pool de 90M+, tutorial oficial de Puppeteer, nunca expira |
| Bright Data | Corporativo + Scraping Browser | ~$2,50/GB promo; $5 normal | HTTP/HTTPS/SOCKS5 | “Scraping Browser” hospedado conecta via CDP, Web Unlocker |
| Oxylabs | SLA corporativo | a partir de $6/GB | HTTP/HTTPS/SOCKS5 | Pool de 175M+, Web Scraper API, guia oficial |
| Decodo | Médio mercado, grade geo completa | $3,75/GB starter; ~$2 a 1TB+ | HTTP/HTTPS/SOCKS5 | Pool de 115M+, sticky até 24h |
| IPRoyal | Sessões sticky longas | a partir de $7,35/GB | HTTP/HTTPS/SOCKS5 | Sticky até 7 dias; entrada PAYG barata |
| SOAX | Mix residencial + mobile | $3,60/GB Starter | HTTP/HTTPS/SOCKS5 | 155M+ res, 33M+ mobile |
| Webshare | Econômico / self-serve | a partir de $3,50/mês res; $2,99/mês DC | HTTP/SOCKS5 | Tier grátis, datacenter mais barato |
| NetNut | Estabilidade ISP-residencial | a partir de $3,53/GB | HTTP/HTTPS | IPs estáticos de ISP de consumidor, rotação rápida |

As escolhas, em resumo
A DataImpulse é a linha de base de valor para scraping com Puppeteer — residencial a $1/GB pay-as-you-go (datacenter $0,50/GB, mobile $2/GB), 90M+ IPs em 195 países, HTTP/HTTPS e SOCKS5, com segmentação por país/cidade/ASN via o nome de usuário e um tutorial oficial de Puppeteer. O tráfego nunca expira, então execuções de teste não queimam uma assinatura. O suporte é humano 24/7; a taxa de sucesso publicada é 99,51%; o G2 é 4,8/5. É o padrão quando você roda seu próprio pipeline de Puppeteer e quer o menor custo por página bem-sucedida.
A Bright Data é a escolha corporativa — além do residencial (~$2,50/GB promo, $5 normal), ela oferece um Scraping Browser hospedado ao qual você conecta via CDP (puppeteer.connect({ browserWSEndpoint })) que empacota proxies e anti-bot, além de um Web Unlocker. A Oxylabs (a partir de $6/GB, pool de 175M+) é a opção corporativa de nível SLA com um guia documentado de Puppeteer. A Decodo (a partir de $3,75/GB, sticky até 24h) é a escolha equilibrada de médio mercado. A IPRoyal (a partir de $7,35/GB, sticky até 7 dias) serve para fluxos longos e estáveis em sessão do Puppeteer. A SOAX ($3,60/GB, 155M+ residencial + 33M+ mobile) é forte quando você precisa de IPs mobile. A Webshare (tier grátis, datacenter a partir de $2,99/mês) é a entrada econômica self-serve, e a NetNut (a partir de $3,53/GB) é a escolha de estabilidade ISP-residencial.
Proxies Rotativos vs Sticky com o Puppeteer
Dois modos, dois trabalhos. Residencial rotativo — um IP novo por conexão — é o padrão para coleta ampla: fazer scraping de muitas páginas, listagens ou SERPs onde cada requisição é independente. Com um gateway rotativo você recebe um novo IP automaticamente; para rotacionar explicitamente no Puppeteer, lance um novo navegador por proxy ou aponte o proxy-chain para o endpoint rotativo. Sessões sticky — o mesmo IP mantido por minutos a dias — são o que os fluxos com estado precisam: fazer login, navegar por um funil multi-etapa ou manter um carrinho, onde rotacionar no meio do fluxo quebra a sessão e dispara o anti-bot. Mantenha um navegador (e um IP sticky) para todo o fluxo; o sticky de até 7 dias da IPRoyal é o mais longo. A maioria das pilhas de Puppeteer mistura os dois: rotativo para coleta, um pool sticky para o trabalho multi-etapa.
Erros Comuns de Proxy no Puppeteer
- Colocar credenciais na URL do proxy. O Chrome as ignora — use
page.authenticate()(antes depage.goto()) ouproxy-chain. - Chamar
page.authenticate()após a navegação. Ele precisa rodar antes do primeirogoto, ou a requisição falha com um 407. - Usar IPs de datacenter em alvos defendidos — eles são bloqueados rápido; use residencial ou mobile para qualquer coisa com anti-bot de verdade.
- Esquecer o fingerprint. Um proxy esconde seu IP, não seus sinais de bot — combine-o com user-agents realistas e o
puppeteer-extra-plugin-stealthpara que o Chrome headless não se entregue. - Esperar que o SOCKS5 autenticado funcione — não funciona no Chromium; use HTTP/HTTPS para proxies com nome de usuário/senha.
Qual Tipo de Proxy para o Puppeteer — Residencial, Datacenter ou Mobile?
Os três tipos mapeiam para três trabalhos:
- Residencial ($1/GB) — o cavalo de batalha padrão. IPs reais de ISP de consumidor para o grosso do scraping com Puppeteer: e-commerce, SERPs, conteúdo, qualquer coisa com anti-bot. Se você escolher um tipo, escolha este.
- Mobile ($2/GB) — IPs reais de operadora para os alvos mais duros e para superfícies de web mobile ou in-app. A classe de IP mais confiável, então reserve-a para endpoints que bloqueiam residencial.
- Datacenter ($0,50/GB) — o mais barato e rápido, para camadas desprotegidas: parsear páginas já coletadas, dados de referência abertos ou sua própria infraestrutura. Não o aponte para sites pesados em anti-bot.
Para a maioria do trabalho com Puppeteer o padrão é residencial para coleta, mobile para os poucos alvos defendidos ou exclusivos de app, e datacenter para trabalho desprotegido barato. A DataImpulse oferece os três numa única conta pay-as-you-go, então um único pipeline de Puppeteer pode rotear cada navegador para o tier certo.
Como Começar com a DataImpulse + Puppeteer
Passo 1. Crie uma conta DataImpulse e pegue suas credenciais residenciais. O intro de $5 / 5GB nunca expira — um orçamento de teste de verdade.
Passo 2. Adicione --proxy-server=http://gw.dataimpulse.com:823 aos seus args de lançamento, e então ou chame page.authenticate({ username: 'YOUR_LOGIN__cr.us', password: '...' }) antes de navegar, ou envolva a URL com credenciais com o proxy-chain. Adicione um código de país como __cr.us ao nome de usuário para segmentação geo. Mantenha os proxies autenticados em HTTP/HTTPS — o Puppeteer não faz autenticação sobre SOCKS5.
Passo 3. Relance (ou use o proxy-chain) para rotacionar, e mantenha um navegador sticky para fluxos com estado. Combine-o com o puppeteer-extra-plugin-stealth e um user-agent realista. Veja o tutorial de proxy para Puppeteer e a página de proxies residenciais para detalhes.
FAQ
Como uso um proxy no Puppeteer?
Passe --proxy-server=http://gw.dataimpulse.com:823 no array args de puppeteer.launch(). Para um proxy autenticado, chame page.authenticate({ username, password }) antes de page.goto() — o Chrome não lê credenciais da URL do proxy. Alternativamente, use a biblioteca proxy-chain, que mantém as credenciais em um proxy local e encaminha para o gateway.
Qual é o melhor proxy para o Puppeteer?
Proxies residenciais, porque a maioria dos alvos bloqueia IPs de datacenter. A DataImpulse a $1/GB é a escolha de valor (HTTP/HTTPS/SOCKS5, 90M+ IPs, tutorial oficial de Puppeteer); o Scraping Browser hospedado da Bright Data ou a Oxylabs servem para corporativo; SOAX e o mobile da DataImpulse ($2/GB) ajudam em superfícies de app. Sempre combine o proxy com um plugin stealth e um fingerprint realista.
Por que meu proxy do Puppeteer retorna um erro 407?
Um 407 (Proxy Authentication Required) significa que o proxy precisa de credenciais e o Puppeteer não as forneceu — geralmente porque foram colocadas na URL (o Chrome ignora isso) ou o page.authenticate() foi chamado após a primeira navegação. Chame page.authenticate({ username, password }) logo após o newPage() e antes de page.goto(), ou use o proxy-chain para cuidar da autenticação.
Como rotaciono proxies no Puppeteer?
A flag --proxy-server é fixa por navegador, então rotacione lançando um novo navegador por proxy, ou apontando a biblioteca proxy-chain para um gateway rotativo. Com um gateway residencial rotativo como a DataImpulse, cada nova conexão já recebe um IP novo, então você frequentemente não precisa gerenciar uma lista de IPs. Para fluxos com estado, mantenha um IP sticky para toda a sessão em vez de rotacionar.
O Puppeteer suporta SOCKS5 e proxies autenticados?
O Puppeteer suporta proxies HTTP/HTTPS autenticados via page.authenticate() ou proxy-chain. Ele pode usar SOCKS5 (--proxy-server=socks5://...) mas o Chromium não suporta autenticação por nome de usuário/senha sobre SOCKS5 — então use o endpoint HTTP/HTTPS para proxies residenciais autenticados e reserve o SOCKS5 para acesso com whitelist de IP.
Quanto custam os proxies para o Puppeteer?
O residencial bruto é precificado por GB — DataImpulse $1/GB (piso de valor), NetNut a partir de $3,53, SOAX $3,60, Decodo $3,75, Oxylabs a partir de $6, IPRoyal $7,35; a Webshare oferece assinaturas econômicas a partir de $3,50/mês. Uma página renderizada é uma pequena fração de um GB, então o residencial por GB é bem mais barato que APIs gerenciadas por registro para coleta de alto volume com Puppeteer; as opções gerenciadas servem para os alvos mais duros.
