Puppeteer is an open source Node library which provides a high-level API to control headless Chrome or Chromium. Urlbox is the screenshot focused alternative to running and maintaining your own Puppeteer cluster.
Read the full storyBuilding our own solution left us with significant maintenance and support burden, and we could easily find enough work to need multiple engineers working on it full-time. We've chosen Chris and the Urlbox team to be our experts.
Read the full storyWe created our own hosted service using headless Chrome with a puppeteer based setup. There was effort involved in maintaining the cluster ourselves. We discovered a slew of security issues that meant we needed to write more of our own handler code.
If you're happy maintaining server-side JavaScript, it's easier than ever to create a DIY screenshot microservice with Puppeteer.
Urlbox has been through a few iterations over the years. We started off in 2012 using Node.js v0.6. Today it is still mostly written in JavaScript - and increasingly in TypeScript.
For the rendering engine, we started off using PhantomJS to generate screenshots, then moved through various projects - webkit2png, QtWebkit and Electron before settling down with headless Chrome/Chromium (via Puppeteer).
Urlbox's screenshots are considered the most accurate and high quality of any screenshot service.
The Urlbox team sweats the small stuff, ensuring that fonts and emojis render correctly. We cringe with you at full page website screenshots with repeating scrollbars and ugly horizontal seams. Other APIs struggle to handle newer CSS features such as Flexbox, Grid and slower loading WebGL pages.
Here are six ways that Urlbox outperforms Puppeteer:
Retina Images
Block Pop-ups
Click Accept
Block Ads
Bypass Captchas
Bring Your Own Proxy
Read the full storyIt would have been so cumbersome to implement a service of our own to take screenshots. Urlbox's API is so straightforward, and the live preview is cool. I can play around with the parameters and see it do what I need it to do.
Urlbox has figured out all the edge cases so you don't have to wade through StackOverflow.
With Urlbox, you can preview all available API options and check API usage on a modern dashboard
With Puppeteer, you'll need to hand code a solution for every one of your use cases
With Urlbox, you can render screenshots as PNG, JPEG, WEBP, AVIF, SVG, PDF, and even HTML
With Puppeteer, there's documented support PNG, JPEG and WEBP with a seperate API for PDF
With Urlbox, you can ensure a screenshot is only taken when a certain element is either in the DOM, or has left the DOM. Very useful if a web page has lazy loading, and you want to make sure spinners are gone before generating a screenshot
With Puppeteer, you'll need to figure out how to implement delays yourself
With Urlbox, you have all the power you need to set headers, proxies and user agents. You can even fail an API request if certain elements are present (or not present) in the DOM. That means they won't count against your monthly quota!
With Puppeteer, the power is there if you write your own code to handle it
StackOverflow, Github and various blog posts are brimming with advice on how to solve different problems with Puppeteer.
But it can take hours, sometimes days to figure out the right answer to your specific problem. Priority support really does mean priority support at Urlbox.
With Urlbox you'll have a team of screenshot experts waiting help you every step of the way - we'll usually get back to you within the hour!
Read the full storyI love the support that Urlbox provides. Normally when I have a new feature request like WebP images or blocking cookie pop-ups, I email support and get a response saying it's already possible - within minutes.
Read the full storyIt's so evident that Urlbox really cares and pays attention. It's rare that I need customer support but, when I do, I know one of the team will get right back to me.
Look up Urlbox's founder, Chris Roebuck, on LinkedIn.
While Urlbox is small and scrappy, you'll see he's been full-time on the business for over 5 years. Urlbox is proudly profitable. We plan to be in the screenshots business for the long term.
Too many customers have learned the hard way that the alternatives, including Puppeteer, stagnate once the founders move on.
Many of the options Puppeteer has are named the same with Urlbox. The only difference is you'll simply be forming a URL rather than managing a server cluster. So what are you waiting for?