Pular para o conteúdo

Preços e tráfego

Os navegadores hospedados são cobrados por GB de tráfego, a partir de um saldo pré-pago. O que isso inclui, o que conta como tráfego e como gastar menos.

Preços

  • €1.00 por GB, proxy residencial incluído. Por padrão, toda sessão sai para a internet por um IP residencial: uma conexão doméstica real de um provedor de internet para consumidores, e não um endereço de datacenter ou de hospedagem. É esse tráfego que os €1.00 pagam; não existe cobrança separada de proxy.
  • O tráfego é medido entre o navegador e a internet, somando upload e download (1 GB = 109 bytes). Veja o que conta como tráfego.
  • Não há cobrança por tempo, por sessão nem por mensagem CDP.
  • O serviço de resolução de desafios com a nossa chave (desativado a menos que você o use): cada desafio resolvido pelo preço do próprio serviço de resolução × 1.5, descontado do seu saldo.
  • Pré-pago: adicione saldo no painel. Um navegador precisa de pelo menos €0.50 para iniciar, e cada sessão tem como teto o que o saldo consegue pagar no momento em que ela inicia, dividido entre os navegadores que você tem em execução (o seu próprio maxGb vale se for menor). Um navegador em execução é encerrado quando o saldo chega a zero (o uso é reportado a cada 15 segundos, mais ou menos, então o último relatório pode deixar o saldo um pouco abaixo de zero).

O que conta como tráfego

Cada byte que o navegador envia a um site ou recebe dele é contado na rede, do mesmo jeito que um provedor de proxy conta. Numa página típica, isso significa:

  • Conta: a própria página e tudo o que ela carrega: scripts, folhas de estilo, imagens, fontes, vídeo, chamadas de API, anúncios e rastreadores, WebSockets, além dos cabeçalhos das requisições, dos cookies e do overhead de criptografia (TLS) de cada conexão. As páginas continuam carregando enquanto você espera, então polling em segundo plano e analytics também contam.
  • Não conta: a conexão CDP entre o seu código e o navegador (comandos, resultados, screenshots, PDFs, conteúdo da página que você extrai), a visualização ao vivo no painel e tudo o que o navegador nunca chega a buscar (requisições que você bloqueia, arquivos que ele serve do próprio cache).

Como referência aproximada: uma página leve, só de texto, fica bem abaixo de 1 MB; uma página típica de notícias ou de loja, entre 2 e 5 MB; e uma single-page app pesada ou qualquer coisa com vídeo, 10 MB ou mais. A €1.00 por GB, 1.000 páginas de 3 MB cada dão cerca de 3 GB. A sua própria sessão mostra os números reais: o painel lista o tráfego de cada sessão e os 20 sites que mais consumiram bytes nela, e o maxGb limita uma sessão para que uma página descontrolada não consuma todo o seu saldo.

Como reduzir o tráfego

A maior parte do peso de uma página costuma ser coisa de que um script não precisa. As maiores economias, em ordem:

  1. Bloqueie imagens, mídia e fontes. Muitas vezes são metade da página ou mais. Bloqueie-as por padrão de URL no navegador e elas nem saem dele, então nunca são cobradas — e o navegador mantém o cache:
javascript
// Playwright: block by URL pattern over CDP (keeps the browser cache on)
const cdp = await context.newCDPSession(page);
await cdp.send("Network.enable");
await cdp.send("Network.setBlockedURLs", {
  urls: ["*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.svg", "*.woff", "*.woff2", "*.ttf", "*.mp4", "*.webm"],
});

// Puppeteer: the same, through its CDP session
const client = await page.createCDPSession();
await client.send("Network.enable");
await client.send("Network.setBlockedURLs", { urls: ["*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.woff2"] });

Evite page.route() / context.route() e a interceptação de requisições do Puppeteer só para descartar requisições: elas desligam o cache do navegador, então cada página baixa os scripts e estilos de novo, o que custa mais do que as imagens que você economizou. Use-as só quando precisar alterar requisições. A opção adblock também bloqueia anúncios e rastreadores para você.

  1. Bloqueie anúncios, analytics e rastreadores. Aborte as requisições para domínios de terceiros de que você não precisa. A lista dos principais sites da sessão, no painel, mostra quais custam mais.
  2. Não espere mais do que o necessário. waitUntil: "networkidle" espera tudo o que a página carrega, inclusive anúncios. Prefira "domcontentloaded" e depois espere só pelo elemento de que você realmente precisa.
  3. Feche o navegador assim que terminar. Uma página aberta continua fazendo polling em segundo plano. Diminua o idleTimeoutSec para que uma sessão esquecida feche sozinha.
  4. Reutilize um navegador para muitas páginas. Graças ao cache, scripts e estilos compartilhados entre páginas do mesmo site são baixados uma vez só, e não a cada página. Navegue na mesma sessão em vez de abrir uma nova para cada URL.
  5. Chame a API do site quando puder. Depois que o navegador tem uma sessão funcionando, um fetch() de dentro da página para buscar o JSON de que você precisa pesa uma fração do que pesa carregar a página de novo.
  6. Defina um teto. Configure maxGb em toda sessão para que uma página inesperadamente pesada pare em vez de drenar o seu saldo.

O bloqueio funciona na maioria dos sites, mas alguns verificam se as imagens ou as fontes realmente carregaram. Se um site se comportar de outro jeito com o bloqueio ativado, libere de novo aquele tipo de recurso para esse site.

Quer ver funcionando antes? O Playground roda um script num navegador na nuvem direto do seu painel, com a visualização ao vivo, a saída do console e os screenshots lado a lado.