Tarifs et trafic
Les navigateurs hébergés se paient au Go de trafic, sur un solde prépayé. Ce que cela inclut, ce qui compte comme trafic et comment en consommer moins.
Tarifs
- €1.00 par Go, proxy résidentiel inclus. Par défaut, chaque session sort sur internet par une IP résidentielle : une vraie connexion domestique chez un fournisseur d’accès grand public, pas une adresse de datacenter ou d’hébergeur. C’est ce trafic que vous payez €1.00 ; il n’y a pas de facture de proxy séparée.
- Le trafic est mesuré entre le navigateur et internet, envoi et réception cumulés (1 Go = 109 octets). Voir ce qui est compté comme trafic.
- Rien n’est facturé au temps, à la session ni au message CDP.
- Le service de résolution de défis avec notre clé (désactivé sauf si vous l’utilisez) : chaque défi résolu au prix du service de résolution lui-même × 1.5, prélevé sur votre solde.
- Prépayé : rechargez votre solde dans le tableau de bord. Un navigateur a besoin d’au moins €0.50 pour démarrer, et chaque session est plafonnée à ce que le solde peut payer au moment où elle démarre, montant réparti entre les navigateurs en cours d’exécution (votre propre
maxGbs’applique s’il est plus bas). Un navigateur en cours d’exécution est arrêté quand le solde atteint zéro (la consommation est remontée environ toutes les 15 secondes, si bien que le dernier relevé peut le faire passer légèrement sous zéro).
Ce qui est compté comme trafic
Chaque octet que le navigateur envoie à un site web ou en reçoit est compté tel qu’il passe sur le réseau, exactement comme le compte un fournisseur de proxy. Pour une page typique, cela donne :
- Compté : la page elle-même et tout ce qu’elle charge : scripts, feuilles de style, images, polices, vidéos, appels d’API, publicités et trackers, WebSockets, plus les en-têtes de requête, les cookies et le surcoût du chiffrement (TLS) de chaque connexion. Les pages continuent de se charger pendant que vous attendez : le polling en arrière-plan et les outils d’analytics comptent donc aussi.
- Non compté : la connexion CDP entre votre code et le navigateur (commandes, résultats, captures d’écran, PDF, contenu de page que vous récupérez), la vue en direct du tableau de bord, et tout ce que le navigateur ne télécharge jamais (requêtes que vous bloquez, fichiers qu’il sert depuis son propre cache).
À titre indicatif, une page de texte légère pèse bien moins de 1 Mo, une page d’actualité ou de boutique typique 2 à 5 Mo, et une single-page app lourde, ou tout ce qui contient de la vidéo, 10 Mo ou plus. À €1.00 le Go, 1000 pages de 3 Mo chacune représentent environ 3 Go. Votre propre session affiche ses chiffres réels : le tableau de bord indique le trafic de chaque session et ses 20 sites les plus gourmands en octets, et maxGb plafonne une session pour qu’une page qui s’emballe ne puisse pas engloutir votre solde.
Réduire le trafic
L’essentiel du poids d’une page correspond généralement à des éléments dont un script n’a pas besoin. Les plus grosses économies, par ordre d’importance :
- Bloquez images, médias et polices. C’est souvent la moitié d’une page, voire plus. Bloquez-les par motif d’URL dans le navigateur : ces requêtes n’en sortent jamais, elles ne sont donc jamais facturées — et le navigateur conserve son cache :
// 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"] });Évitez page.route() / context.route() et l’interception de requêtes de Puppeteer pour simplement abandonner des requêtes : ces mécanismes désactivent le cache du navigateur, si bien que chaque page retélécharge ses scripts et ses styles, ce qui coûte plus cher que les images économisées. Réservez-les aux cas où vous devez modifier des requêtes. L’option adblock bloque aussi les publicités et les trackers pour vous.
- Bloquez publicités, analytics et trackers. Annulez les requêtes vers les domaines tiers dont vous n’avez pas besoin. Dans le tableau de bord, la liste des sites les plus consommateurs de la session montre lesquels vous coûtent le plus.
- N’attendez pas plus que nécessaire.
waitUntil: "networkidle"attend tout ce que charge la page, publicités comprises. Préférez"domcontentloaded", puis attendez le seul élément dont vous avez réellement besoin. - Fermez le navigateur dès que vous avez terminé. Une page ouverte continue de faire du polling en arrière-plan. Réduisez
idleTimeoutSecpour qu’une session oubliée se ferme d’elle-même. - Réutilisez un même navigateur pour de nombreuses pages. Grâce à son cache, les scripts et les styles partagés entre les pages d’un même site ne sont téléchargés qu’une fois, et non à chaque page. Naviguez dans la même session plutôt que d’en démarrer une nouvelle pour chaque URL.
- Appelez l’API du site quand c’est possible. Une fois que le navigateur a une session fonctionnelle, un
fetch()lancé depuis la page pour récupérer le JSON dont vous avez besoin ne pèse qu’une fraction d’un nouveau chargement de la page. - Plafonnez. Définissez
maxGbsur chaque session pour qu’une page plus lourde que prévu s’arrête au lieu de vider votre solde.
Le blocage fonctionne sur la plupart des sites, mais quelques-uns vérifient que les images ou les polices ont bien été chargées. Si un site se comporte différemment quand le blocage est actif, réautorisez ce type de ressource pour ce site.
Envie de le voir fonctionner d’abord ? Le Playground exécute un script dans un navigateur cloud directement depuis votre tableau de bord, avec la vue en direct, la sortie de la console et les captures d’écran côte à côte.