Website Screenshot API

The Screenshot API You Can Depend On

Since 2012, Urlbox has replaced unreliable, inaccurate and inconsistent screenshot APIs for developers like you.

No credit card required.

import Urlbox from 'urlbox'
const urlbox = Urlbox(
  URLBOX_API_KEY,
  URLBOX_API_SECRET
)
const renderLink = urlbox.generateRenderLink({
  url: 'stripe.com',
  width: 1440,
  height: 840
})
return <img src={renderLink} />
Stripe Website Screenshot

Trusted by over 500 active customers

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.

Jānis Peisenieks

Jā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.

Andy Croll

Andy Croll

CTO

How hard could it be?

You Already Built Your Own Puppeteer Microservice

Finding the right combination of rendering libraries, ensuring browser isolation and planning security updates was the easy bit. The never ending list of glitches and unexpected AWS bills were too much.

Security

Running headless browsers in production on your own network is not for the faint hearted. Server side request forgery (SSRF) is the tip of the iceberg of vulnerabilities.

Maintenance

Do your SRE engineers want another 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. Enough to keep a team of engineers busy for a decade.

Costs

Most rendering issues can be resolved with more memory, more CPU and (increasingly) some GPU too. That's no problem in your dev environment. In production it's another story. The bills can grow faster than developers' salaries.

Infrastructure done for You

Screenshots without the Stress

Urlbox has more image rendering options than you'll ever need. Focus on the things that really matter to your users and your business.

Responsive Screenshots

Screenshot your website at different widths and heights to simulate different devices and situations.

Stripe Website Screenshot
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
const options = {
  url: 'stripe.com',
  width: 1440,
  height: 1080
}
Stripe Website Screenshot
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
const options = {
  url: 'stripe.com',
  width: 400,
  height: 800
}

Full Page Screenshots

Go beyond the limits of a browser's viewport and capture everything in an HTML document.

Stripe Website Screenshot
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
const options = {
  url: 'stripe.com',
  width: 1440,
  full_page: true
}

Element Screenshots

Only need one part of a page? Capture just the element you need with a CSS selector.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
const options = {
  url: 'stripe.com',
  width: 1440,
  selector: '.UserLogoGrid'
}
Stripe Website Screenshot

Hide Cookie Banners & Popups

They're even more annoying when they photobomb your screenshots. We'll take care of them for you.

Vectary Website Screenshot
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
const options = {
  url: 'vectary.com',
  width: 1440,
  height: 1080
}
Vectary Website Screenshot
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
const options = {
  url: 'vectary.com',
  width: 1440,
  height: 1080
  hide_cookie_banners: true
}

Attention to detail

What You See is What You Get

Scroll hijacking, sticky positioning and viewport-dependent css units likeheight:100vhare just a few of the things that try to sabotage your screenshots. We've got you covered.

Webfonts & Emoji

Render them like they're on your designer's XDR Display.

Video

Capture animations the way users were meant to experience them.

Block Ads & Popups

Remove ugly distractions you're not interested in.

Bypass Captchas

Manually solving captchas is even worse than manually taking a screenshot.

Auto-Accept Cookies

Our rendering engine eats them for breakfast.

urlhtml
html
jpeg
webp
mp4
webm

Output Formats

Every Filetype You Need...

Instead of just rendering in just one or two formats, Urlbox provides you with multiple different output formats to fit your needs.

API Methods

... Exactly How You Need Them

Make API calls that fit with your infrastructure and workflow. Render while you wait or get a webhook when your screenshot is ready.

  • GET or POST Request

    Make a GET request and your screenshot will be rendered by simply visiting a URL. Alternatively POST your request from backend code to process it server-side.

  • Sync or Async

  • JSON or Binary Data

Integrations

No code. No problem.

Render images and screenshots from all your favorite tools.

Try for free

No credit card required.

API

Perfectly Fits Your Stack

Whichever language or framework you're using, Ruby/Rails, Python/Django, PHP/Laravel, or something else, we have example code to get you started.

  • Node.js
  • Ruby
  • PHP
  • Python
  • Java
  • C#
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
// npm install urlbox --save

import Urlbox from 'urlbox';

// Plugin your API key and secret
const urlbox = Urlbox(YOUR_API_KEY, YOUR_API_SECRET);

// Set your options
const options = {
  url: 'github.com',
  thumb_width: 600,
  format: 'jpg',
  quality: 80
};

const imgUrl = urlbox.generateRenderLink(options);
// https://api.urlbox.io/v1/YOUR_API_KEY/TOKEN/jpg?url=github.com&thumb_width=600&quality=80

// Now set it as the src in an img tag to render the screenshot
<img src={imgUrl} />

Play with it

Rendering

https://
px
px

Render Mode

Advanced

px
ms

FAQs

Frequently Asked 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?

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.