Website Screenshot API
The Screenshot API
You Can Depend On
Haunted by headless browser hacks? Urlbox improves your security posture and helps on-call engineers sleep soundly.
- URL to PNG with hydrated HTML, markdown and metadata
- 100+ browser rendering options that put accuracy first
- HTML, SVG, CSS & JS to flawless image, PDF or video
7 day free trial.No credit card required.
Over 650 active customers capturing the web for research, compliance, design, and more:
How hard could it be?
Your Team Already Built A Screenshot API Microservice.
Headless Chrome with Selenium, Puppeteer or Playwright on AWS Lambda, Google Cloud Run or Cloudflare Workers. Maybe simply PhantomJS on your own bare metal server. You hoped they'd just work after a few hours of setup. Three weeks absolute max.
Then you discover unmaintained dependencies are the least of your worries.
Security
Running headless browsers in production on your own network is not for the faint hearted. You don't let random people use a web browser on your company network do you? Server side request forgery (SSRF) is the tip of the iceberg of vulnerabilities.
Maintenance
Headless browsers/Puppeteer instances are extremely resource intensive. Requests freeze, processes crash and constantly need rebooting Do your SRE engineers appreciate the new source of Pager Duty notifications? Browsers were not built for server environments - they need constant care and attention.
Edge Cases
You will be amazed by all the weird and wonderful ways HTML & CSS renders in various server-side scenarios. Do you miss the joys of debugging CSS like it's 2003? These kinds of issues provide a never ending list of distractions from your core product.
Costs
Many rendering issues can be resolved with more memory, more CPU, longer timeouts and (increasingly) some GPU too. That's no problem in your dev environment. In production, and especially when using serverless, it's another story. The bills can grow faster than developers' salaries.
How brilliant could it be?
Imagine Spending A Decade Perfecting A Screenshot API?
Finally you'd be free from all those distractions to focus on your core product. Right? Right?
Improved Security Posture
Headless browsers completely isolated from your network. No data stored on infrastructure you don't control. Penetration tests and certifications pass with flying colors.
Truely Low Maintenance
Globally distributed, self-healing Kubernetes clusters with autoscaling and monitoring. A stable dependency tree you're comfortable with from top to bottom. A status page with a steady stream of good news.
Edge Cases Covered
Your team relishes the challenge of resolving new rendering glitches when they're discovered. They're experts in the nuances of font rendering on Linux. They eagerly anticipate the release of every new browser version and set of emoji glyphs.
Costs Optimized
You've found the perfect balance of cost and performance. You can predict your server bill to the penny for every batch of 1,000 screenshots rendered.
Website Screenshot API
A Screenshot API You Can Depend On.
A single API call to screenshot any URL or chunk of HTML.
Generate PNGs along with with fully hydrated HTML, markdown and metadata. Over 100 rendering options including custom JS. Wide format support including HTML, SVG, CSS & JS to image, PDF or video.
Get renders like they're straight from your designer.
No credit card required.
Javascript
Get accurate website screenshots with fewer dependencies.
PHP
Get more website screenshots faster, without security risks.
Python
Get reliable website screenshots with less code.
Ruby
Get flawless screenshots as a service with specialist support.
Example Code
Get Started in Seconds
Ruby, Python and PHP developers depend on Urlbox to deliver fast, accurate screenshots, every time.
More recently they've been joined by developers using Clojure, Elixr, .NET, Classic ASP and all the flavours of JavaScript you can imagine.
GET or POST Request
GET requests (aka Render Links) work synchronously and allows you to configure your screenshot directly inside it’s URL. You can also use a POST request to call the API synchronously or asynchronously along with a large HTML payload.
Sync or Async
POST requests can receive responses asynchronously by polling or using a webhook. This allows you to render multiple screenshots in parallel. Using a POST request, you can also receive the response synchronously, which makes integration with no-code services seamless.
JSON or Binary Data
Calling the API synchronously via GET request, you will always receive the binary image data, so you can directly include the request URL inside your img tags. Using POST requests, you will receive a JSON blob containing the screenshots URL and (optionally) URLs to metadata, markdown text and fully-hydrated HTML.
Full Control
Screenshots without the Stress
With over 100 options Urlbox has more image rendering control than you'll ever need. Focus on the things that really matter.
Responsive Screenshots
Screenshot your website at different widths and heights to simulate different devices and situations.
Full Page Screenshots
Go beyond the limits of a browser's viewport and capture everything in an HTML document.
Element Screenshots
Only need one part of a page? Capture just the element you need with a CSS selector.
Hide What You Don't Need
Remove unsightly elements, overlays, popups or banners automatically or on demand.
Edge Cases Solved
What You See is What You Get
Urlbox ensures your screenshots will be accurately and consistently rendered at all times – even for cutting-edge web technologies
Webfonts & Emoji
Render emoji exactly as they appear on your Apple device.
Video
Capture animations as designers intended.
Block Ads & Popups
Don't let ads and popups ruin your screenshots.
Bypass Captchas
Get around captchas and other anti-bot measures.
Auto-Accept Cookies
No more cookie banners in your screenshots.
Custom Proxy
Use your own proxy to access websites behind a firewall.
Retina Images
Render images at 2x resolution.
SVG
Output SVG images.
Canvas
Render canvas elements.
Multi-Platform
Use with your favorite language.
Website Screenshot Services
The Trusted Source for Website Screenshots
Screenshots are our business. We've spent over a decade putting website screenshots first. Screenshots aren't a feature, side project or part of a suite of products for us. To us screenshots are everything. We've built a long-term profitable, 100% family owned business helping people like you to take better website screenshots.
Get improvements every month.
Enhance your security posture.
Accurate Screenshots
Screenshot automation like 250 web designers working for you at their Macs.
Over 100 Options
A single API call to capture any URL or chunk of HTML just the way you want.
High-Volume
Take one million screenshots before breakfast without breaking a sweat.
Specialist Support
UK based support team dedicated to solving all your screenshot problems.
Screenshot API Guides
Explore All The Ways To Programmatically Capture Screenshots
How to Take Screenshots of Web Pages Behind a Login
Maybe you want to accumulate some internal dashboards or gather your paywalled articles? There are a few different ways we can achieve this with Urlbox
Learn How to Configure a Proxy with Urlbox
When rendering certain sites, you may be blocked from rendering or scraping the content that they serve.
How to Block Image Requests with Puppeteer
Learn how to block image requests in puppeteer with request interception
Generate an image or PDF from HTML
Instead of sending in a URL to the API, send in a HTML snippet
How to Make Puppeteer Wait for Page to Load
Because sometimes it's not as easy as waiting for the Page load event!
7 Ways to Take Website Screenshots with Node.js/JavaScript
Learn how to take website screenshots with node.js and javascript. Use puppeteer, playwright, electron, nightmare, selenium, phantomjs and urlbox to take website screenshots with javascript
Using Python Scripts to Take Screenshots
It can be surprisingly tricky to take screenshots using Python, especially when JavaScript is involved.
How to Take a Screenshot of a Website Using PHP
We'll look at four different ways in which you can produce high-quality captures, including methods which require no JavaScript knowledge
How to block image requests with puppeteer
Learn how to block image requests in puppeteer with request interception
How to Convert HTML to PDF in Python
There are lots of tools on the market that make it relatively easy to convert your HTML documents and web pages to PDF.
Best Website Thumbnail APIs To Automatically Generate Webpage Previews
This article will cover four of the best website thumbnail APIs you can use to automatically generate high-quality webpage previews.
Scripts to Take Website Screenshots from the Command Line (Linux and macOS)
This article will show you how to take screenshots of webpages from the command line.
FAQs
Common Questions
If anything's not clear we're here to help. Email via [email protected] or use the chat widget in the bottom right corner. We'll try to get back to you within a few minutes and you'll always hear back from us within one working day.
No credit card required.
What counts as a unique screenshot?
A unique screenshot is any combination of URL and parameters that you have not requested before.
Do you cache screenshots?
Do requests to cached screenshots count against the monthly quota on the plan?
What happens if I go over my quota?
Do you send alerts when I am breaching or close to going over my monthly quota of screenshots?
Urlbox's support of emojis was a big signal that it could replace our own service. It was a simple replacement - a real success story for us.
Read the full storyJānis Peisenieks
HO Engineering
Using Urlbox, we've scaled our volume to over 5 times what we were. We’re confident that Urlbox will continue to produce great results as we grow.
Read the full storyAndy Croll
CTO
Free Trial
Ready to start rendering?
Designers, law firms and infrastructure engineers trust Urlbox to accurately and securely convert HTML to images at scale. Experience it for yourself.
7 day free trial.No credit card required.
Our $100 10K Guarantee
Not happy with your first 10,000 screenshots?