11 ans d'API de capture : de Browshot, Blitapp et Thumbalizr à ScreenshotCenter
Nous avons passé 11 ans à construire, exploiter et tirer des leçons de trois produits d'API de capture. Voici tout ce que nous avons conservé — et pourquoi aucun autre service n'égale la richesse fonctionnelle de ScreenshotCenter.
Les débuts
En 2013, nous avons lancé Browshot — l'une des premières API de capture d'écran en tant que service. La promesse était simple : envoyez une URL, récupérez une capture. Pas de configuration de navigateur, pas de gestion de proxy, pas de configuration Puppeteer. Juste un appel API.
Browshot a fonctionné pendant des années et traité des dizaines de millions de captures. Nous avons énormément appris : quels paramètres les clients utilisaient réellement, quels modes de défaillance leur faisaient le plus mal, et quelles fonctionnalités ils demandaient encore et encore.
Pendant que Browshot grandissait, nous avons aussi développé Blitapp — un outil de capture planifiée destiné aux équipes faisant du monitoring de régression visuelle. Les clients de Blitapp avaient besoin d'un timing prévisible, de détection de changements et de la capacité à suivre l'apparence d'une page dans le temps. Cela nous a poussés à approfondir les contrôles de timing, le réglage des délais et la gestion de l'état d'applications monopage complexes.
En parallèle, Thumbalizr se concentrait sur la génération de miniatures à grande échelle. Les clients voulaient des images aux dimensions exactes en pixels, rapidement, pour les intégrer dans des applications web et des aperçus CMS. Cela nous a obligés à nous investir sérieusement dans les formats de sortie, les pipelines de redimensionnement et le rendu cohérent sur des centaines de domaines avec des hypothèses de viewport différentes.
Ce que nous avons appris en exploitant trois produits
Après plus d'une décennie, un schéma est devenu clair : chaque produit avait des éléments que les autres n'avaient pas. Browshot offrait la meilleure flexibilité API brute. Blitapp avait la meilleure ergonomie de timing et de planification. Thumbalizr disposait du meilleur pipeline de sortie. Les clients utilisant les trois construisaient en fait leur propre couche d'intégration pour obtenir une solution complète.
Nous avons décidé de construire cette solution complète nous-mêmes.
Construire ScreenshotCenter à partir de tout ce que nous savions
ScreenshotCenter n'est pas une réécriture pour le plaisir. Chaque fonctionnalité du produit correspond directement à un point de douleur que nous avons vu les clients rencontrer sur ces trois services. Voici un tour d'horizon de ce que nous avons construit — et pourquoi.
Routage par pays et région
L'une des fonctionnalités les plus demandées sur les trois produits. Les clients devaient vérifier comment une page apparaît pour les visiteurs en Allemagne, au Japon ou au Brésil — pas seulement depuis un serveur américain. ScreenshotCenter route chaque requête via un navigateur dans le pays que vous spécifiez. Plus de 30 pays sont disponibles, et des clients privés peuvent être placés dans n'importe quelle région.
Choix du navigateur
Browshot prenait en charge plusieurs navigateurs, mais les gérer était pénible. ScreenshotCenter abstrait cela proprement : choisissez Chrome, Firefox ou un autre dérivé Chromium par requête. La même URL peut être capturée dans plusieurs navigateurs en un seul lot.
Contrôle complet du viewport et des dimensions
Thumbalizr nous a appris que les clients ont des exigences très précises en pixels. ScreenshotCenter vous permet de définir indépendamment la largeur d'écran, la hauteur d'écran et le ratio de pixels de l'appareil. Vous pouvez aussi limiter la hauteur maximale capturée pour les pages avec défilement infini, et choisir parmi des presets de taille courants (1280 × 800, 1920 × 1080, etc.).
Blocage des publicités et popups
Chaque outil de monitoring construit sur Browshot finissait par demander cela. Les bannières de consentement aux cookies et les superpositions publicitaires ruinent les tests de régression visuelle. ScreenshotCenter inclut la suppression des popups et le blocage des publicités directement au niveau du navigateur, pas en post-traitement.
Contrôles de timing précis
Le problème le plus difficile de Blitapp était de savoir quand une page était « terminée ». ScreenshotCenter expose chaque réglage : un délai de rendu configurable, un temps d'attente maximum, un basculement de validation SSL stricte et une couche de cache pour servir les requêtes répétées sans re-rendu.
Captures multiples et intervalles
Une fonctionnalité unique à ScreenshotCenter dans l'espace API : demandez plusieurs captures séquentielles de la même page en un seul appel API. Combiné avec les intervalles de capture, c'est parfait pour capturer des animations, des carrousels ou des états de validation de formulaire sans construire votre propre boucle de polling.
Génération PDF
Le même navigateur qui capture une image peut aussi générer un PDF. La sortie PDF de ScreenshotCenter prend en charge le format de page (A4, Letter, etc.), les marges, l'orientation paysage, l'impression des arrière-plans et le mode page unique — toute la surface de l'API d'impression Chrome, exposée directement dans la requête de capture.
Enregistrement vidéo
Aucune autre API de capture ne propose cela. ScreenshotCenter peut enregistrer le chargement de la page en vidéo WebM ou MP4. Vous contrôlez la qualité (CRF), la vitesse de lecture et la durée d'enregistrement. Le même schéma d'endpoint de récupération utilisé pour les images fonctionne pour la vidéo — interrogez l'avancement, puis récupérez.
Étapes d'automatisation
Browshot avait une fonctionnalité basique de clic avant capture. ScreenshotCenter la remplace par un pipeline d'interaction complet : commandes de clic, saisie, survol, attente, défilement, glisser-déposer et sélection — le tout défini dans la requête. Les étapes s'exécutent en séquence dans le navigateur avant la capture. C'est ainsi que vous capturez les pages derrière des formulaires de connexion, des boîtes de dialogue modales ou tout état d'interface dynamique.
Ciblage par sélecteur CSS
Au lieu de capturer tout le viewport, vous pouvez passer un sélecteur CSS pour ne capturer que cet élément. Le navigateur défile jusqu'à lui, calcule sa boîte englobante et recadre la sortie exactement sur ce composant. Utile pour les captures de fiches produit, graphiques ou aperçus de partage social.
Émulation d'appareil
Choisissez parmi une bibliothèque de presets d'appareils (iPhone 15, Pixel 8, iPad Pro, etc.) ou configurez un appareil personnalisé avec un ratio de pixels exact, le support tactile et un user-agent mobile. Le mode paysage est aussi pris en charge. Combiné aux contrôles de viewport, cela couvre tous les scénarios de rendu mobile.
Simulation de locale et géolocalisation
Définissez l'en-tête Accept-Language du navigateur et le navigator.language JavaScript sur n'importe quelle locale, remplacez le fuseau horaire système et injectez une fausse position GPS. Essentiel pour tester le contenu localisé sans router le trafic via un VPN.
En-têtes HTTP personnalisés, cookies et requêtes POST
Passez un Referer, User-Agent personnalisé, un cookie de session ou des en-têtes arbitraires. Envoyez un corps POST au lieu d'un GET pour capturer des pages de confirmation de formulaire. Ces fonctionnalités étaient fragmentées dans Browshot et jamais correctement exposées — dans ScreenshotCenter, ce sont des paramètres de premier ordre.
Injection JavaScript
Injectez des scripts externes par URL ou écrivez du JavaScript inline qui s'exécute dans le contexte de la page avant la capture. Utilisez-le pour définir des valeurs localStorage, fermer des modales, insérer des données fictives ou exécuter toute configuration que les étapes d'automatisation ne peuvent pas gérer.
Trackers de données
Extrayez des valeurs structurées d'une page en même temps que la capture. Définissez un tracker avec un sélecteur CSS ou un extracteur prédéfini (classement de page, autorité de domaine, compteurs sociaux), et la valeur est renvoyée dans la réponse API avec l'URL de l'image. Pas de job de scraping supplémentaire nécessaire.
Intégrations d'applications et webhooks
Quand une capture est terminée, envoyez-la directement vers Google Drive, Dropbox, OneDrive, Box, SharePoint, AWS S3, tout stockage compatible S3 (Wasabi, Backblaze, MinIO, Cloudflare R2), Azure Blob, FTP, SFTP, Slack ou un webhook personnalisé. Zapier est aussi pris en charge pour l'automatisation sans code. Les modèles de chemin avec des variables comme {domain}, {yyyy} et {id} contrôlent exactement où les fichiers arrivent.
Captures par lots
Téléversez un fichier CSV ou TSV avec des centaines ou des milliers d'URL et chaque paramètre personnalisé, et ScreenshotCenter les traite en lot. Les résultats sont collectés et servis en téléchargement ZIP. Toutes les options disponibles pour les captures unitaires sont disponibles en lots — pays, navigateur, appareil, géolocalisation, étapes, trackers, tout.
Pourquoi aucun autre service n'égale cela
Il existe d'autres API de capture. La plupart couvrent les bases : URL, pays, peut-être viewport. Quelques-unes ajoutent des étapes d'automatisation. Nous ne connaissons aucune qui offre tout ce qui suit dans une seule API :
- Captures séquentielles multiples en une requête
- Sortie vidéo
- Émulation d'appareil avec simulation complète de locale et GPS
- Trackers de données en même temps que l'image
- Envoi direct vers plus de 14 intégrations de stockage et notification
- Traitement par lots via CSV/TSV avec paramètres par ligne
Cette ampleur est le résultat direct de 11 ans d'écoute de ce dont les clients avaient réellement besoin — pas de ce qui sonnait bien sur une page de fonctionnalités.
Et ensuite
Nous continuons à étendre la couverture pays, ajouter plus de presets de trackers et améliorer le débit des lots pour les clients à haut volume. La feuille de route est guidée par les demandes des clients, exactement comme elle l'était pour Browshot, Blitapp et Thumbalizr.
S'il vous manque une fonctionnalité, dites-le nous. Nous avons l'habitude de la construire.