What is the best screenshot API?

Published on

If you are one of the competitors mentioned in the comparison and you see a typo, or I described your API wrong, please, contact me as soon as possible. I want to provide the most objective comparison to choose the best screenshot API.

I want to make ScreenshotOne the best screenshot API possible in the market that will allow you to render HTML or URL into the image or PDF easily and cheaply.

While writing this screenshot comparison, I was curious if my product — ScreenshotOne screenshot API, is the best screenshot API and, if not, what is the best product in the market, and how I can beat it.

But how can I do it without comparing it to alternatives and checking that it is the best?

It is hard to find the proper comparison angle. Some products might lack features but have excellent product support, or I found products with pricing models that are not comparable.

I went with the straightforward approach. I analyzed all the features provided by the APIs and their pricing models. The best screenshot API is simply the one with the most features, and the average screenshot price is the cheapest.

I searched for “screenshot API”. And each API I found, I will review and compare each API thoroughly to determine the best one.

These are the best site screenshot APIs:

The best screenshot API

The best API is thum.io because it has the most features and the cheapest pricing in terms of average price per 1000 screenshots — $5.33.

I try to make the comparison objectively, and the best one might or not be my product. But if you see any feature lacking in my API, feel free to send a feature request.

The best API and how it is compared by basic features to the ScreenshotOne API:

Feature / API

ScreenshotOnethum.io

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

The best API and how it is compared by advanced features to the ScreenshotOne API:

Feature / API

ScreenshotOnethum.io

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

The best API and how it is compared by supported formats to the ScreenshotOne API:

Feature / API

ScreenshotOnethum.io

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

And comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne $2.85 $14 per 1500 100
thum.io

$5.33

$1 per 1000

Comparison by basic features

I gathered all the basic required features from most screenshot API users and sorted all APIs by core feature support. I decided not to render all APIs since it barely makes sense. And as a result, you can see the top 5 screenshot APIs by core features support:

Feature / API

Urlbox.ioScreenshotOneApiFlashScreenshotAPIAdd Screenshots

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

A short explanation of each core feature:

  • URL: Specify the URL of the site. Some APIs also allow rendering of HTML, not only URL.
  • HTML: Specify HTML to render as an image.
  • Selector: Specify the target element for the screenshot based on an element with a matching CSS selector. If the element is not found, some APIs can return an error, some can produce a full page screenshot, and some can allow you to configure the behavior.
  • Viewport size: Change the browser window size.
  • Device scale factor: Render screenshot with higher pixel density. It is suitable when screenshots might be displayed on Apple Retina displays or other high-definition equivalents.
  • Full page: Take the full page screenshot of a website versus the area visible in the viewport upon rendering. Usually, this feature is accompanied by scrolling to the bottom and back to trigger a load of lazy loading elements like images.
  • Lazy load: To lazy load images and other elements hidden from the viewport, a screenshot API will usually scroll down the entire page and scroll up.
  • Cache: Cache screenshot rendering. It allows rendering the same URL or HTML faster. It is usually implemented by using CDN and is usually not billed. But should be checked on a per API basis.
  • Cache ttl: Specify the time of how long the cached screenshot can be stored in the cache.
  • Cache ignore: Ignore caching and force taking a fresh screenshot.
  • Wait for event: Wait for page events like “idle network” or “DOM content loaded” before taking a screenshot.
  • User agent: Set custom User-Agent header. It is not always supported by screenshot APIs as a separated feature and usually can be emulated with custom headers.
  • Authentication: Set Authorization header, which allows bypassing basic authentication or authentication by tokens.
  • Accept languages: Set the Accept-Language header before taking a screenshot. It is suitable for multilingual sites to force them to render in the requested language.
  • Custom cookies: Set custom cookies for the request to a specified URL. You might want to specify credentials to bypass the login page.
  • Custom headers: Set custom headers for the request to the specified URL. You might want to specify credentials if required by the site or headers like Accept-Language if screenshot API does not support setting this header separately.
  • Custom css: Inject custom CSS code to change visuals before taking a screenshot.
  • Custom js: Inject custom JavaScript code to inject behavior before taking a screenshot.

Comparison by advanced features

Most of the APIs have basic core features, but each API might provide a set of different, sometimes unique features. The top 5 screenshot APIs by advanced features support:

Feature / API

Add ScreenshotsScreenshotAPIUrlbox.ioScreenshotOneApiFlash

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

A short explanation of each advanced feature:

  • Omit background: Omit background feature removes the background from websites with a basic white background and makes it transparent. It is applicable only for formats that support transparency, like PNG.
  • Fail on status: If the target site responds with HTTP status code 400-599 inclusively, you can take screenshot of the sites’s error page or return an error from the screenshot API.
  • Geolocation: The feature emulates accuracy and coordinates (longitude and latitude) for the browser’s Geolocation API.
  • Custom proxy: Using proxy for proxing all requests to the target website. You should provide proxy address and credentials. It is not provided by the screenshot API for free.
  • Block cookie banners: Block or hide cookie banners on websites before taking a screenshot. It makes a screenshot looks cleaner.
  • Block ads: Block and hide ads from common and popular ad networks to make screenshots cleaner, and if it is applicable, don’t spend advertiser budgets.
  • Scroll to element: Target a specific element for the browser to scroll to before taking a screenshot. It might be useful if a given element is lazy loaded but fully loaded in the viewport.
  • Custom html: Instead of providing an URL of a site, you can render any HTML.
  • Custom css url: Inject the custom CSS code URL to change visuals before taking a screenshot.
  • Delay: The time delay before taking a screenshot. It is helpful when the screenshot you took is half-rendered and you want to wait until it is fully loaded.
  • Thumbnail width: Generate a thumbnail of the screenshot — a miniature of the full-size screenshot. The height of the screenshot thumbnail is usually computed automatically.
  • Thumbnail height: The height of the screenshot thumbnail.
  • Markdown: Specify Markdown to render as an HTML text or an image.
  • Signed links: If you share links to screenshots in public with your API keys, you can sign them to ensure that nobody else can use your API key without (usually) knowing the secret key.
  • Click by selector: Click on the element by described CSS selector. It might help close annoying banners and popups.
  • Hide by selector: Hide or remove elements by a selector. It is usable to hide annoying details and make screenshots look cleaner.
  • Clip: Take a screenshot of the area, usually by specifying coordinates of the “screenshotting” rectangle.
  • Custom renders on errors: Instead of returning an error, an API can produce an image placeholder if it has failed to take a screenshot.
  • Uptime sla: Some APIs could guarantee SLA and compensation if they failed to deliver the guaranteed SLA.
  • Custom js url: Inject the custom JavaScript code URL to inject behavior before taking a screenshot.
  • Grayscale: Apply grayscale filter to the screenshot.
  • Extract html: In addition to the screenshot, extract and attach the HTML of the page. Usually, it is served as a JSON response.
  • Extract text: In addition to the screenshot, extract and attach the text of the page. Usually, it is served as a JSON response.
  • Dark mode: Hint the browser to render the page in the dark mode.
  • Block tracking: Block trackers to speed up the page load and take screenshots faster.
  • Placeholder: While a screenshot is being taken, you can ask an API to return a placeholder.
  • Export to ftp: Export a screenshot to FTP.
  • Export to s3: Export a screenshot to Amazon S3 or S3-compatible storage.
  • Image quality: Specify the image quality. Usually, the lower the image quality, the faster screenshot is rendered.
  • Block chats: Hide or remove chat widgets to make screenshots look cleaner.
  • Dedicated workers: Some APIs can provide dedicated workers to take screenhots. But usually, it is too ambiguous to understand what that means.
  • Highlight: You can highlight a custom word or phrase. Some APIs also allow customizing the text and background colors of the highlight.
  • Wait for selector: Wait until the provided CSS selector matches an element present on the page before taking a screenshot.
  • Block requests: Block requests triggered by the site. Usually, it helps to block ad providers or to speed up taking screenshots.
  • Ip location: Take screenshots from a specified location, usually done through proxies provided by an API. And it might allow bypassing bot blockers.
  • Email: Send a screenshot to email.
  • Webhook: Send a screenshot to an HTTP endpoint.
  • No js: Do not execute JavaScript.
  • Timeout: The request must fail if a screenshot is not taken in the specified timeout time.
  • Zapier: Integration with Zapier — a rich automation platform that allows combining APIs, tools, and mostly everything.
  • Sdk: API might support native SDKs for programming languages.
  • Schedule: Scheduling taking screenshots.
  • Metadata: Store any metadata associated with a screenshot.
  • Custom domain: Serve screenshots from the custom domain.
  • Timezone: Emulate time zone for browser.
  • Stealth mode: Steal tries to hide the fact the request is sent under an automated browser. But usually without any guarantee from the API side.
  • Gpu rendering: Use GPU for rendering screenshots.
  • Export to azure: Export screenshot to Microsoft Azure Cloud.
  • Bplogin: Execute a request to sign in to a site before taking a screenshot.
  • Fail on redirect: You can force API to return an error if the target URL triggers a redirect.
  • Emulate touch screen: Emulate the device with a touch screen.
  • Emulate mobile: Emulate a mobile device.
  • Emulate landscape: Renders page in landscape mode, usually valid for mobile emulation.
  • Download: Request triggering a download of the screenshot or PDF in the browser instead of rendering.
  • Hover: Hover an element by CSS selector.
  • Brightness: Change the brightness of the screenshot.
  • Blur: Make the screenshot blurred.
  • Contrast: Change the contrast of the screenshot.
  • Emulate media: Emulate CSS media for print or screen.
  • File name: Specify the filename of the screenshot. Sometimes, it is limited to generating a filename from the URL.
  • Track changes: Track and notify about screenshot changes.
  • Reduced motion: Request emulation of reduced motion.
  • Viewport device: A fixed list of devices to use for viewport settings.
  • Rotate flip: Rotate or flip the resulted screenshot.
  • Pdf landscape: Render PDF in the landscape format.
  • Pdf print background: Print the background of the site in PDF.
  • Pdf to image: Render PDF as a set of images.
  • Pdf format: Page format like A0-A6 and so on.
  • Pdf media: Optimize a PDF for printing or render it exactly as the HTML or website is rendered.
  • Element overlap: When taking a screenshot of the element by CSS selector, take the screenshot of the elements that overlap the element.

Comparison by supported formats

You might find helpful the short guide on how you can take screenshots with Puppeteer in GIF, JP2, TIFF, AVIF, HEIF, or SVG format.

A comparison table for the top 5 screenshot APIs by output formats that API supports:

Feature / API

ScreenshotOneUrlbox.ioscreendotRestpackScreenshotAPI

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

A short description of the formats:

  • JPG (JPEG): A most common format which contains compressed image data
  • PNG: A format which supports lossless data compression
  • WebP: An image format that provides superior lossless and lossy compression primarily for images on the web
  • PDF: A file format developed to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems
  • GIF: A bitmap image format that supports animations
  • JSON: JSON containing Base64-encoded data or URL of the rendered image
  • Base64: A Base64-encoded image
  • SVG: A web-friendly vector file format
  • AVIF: An open-sourced and royalty free optimised image format which supports any image codec
  • HEIF: A container format for storing individual digital images and image sequences
  • TIFF: An image file format for storing raster graphics images, popular among graphic artists, the publishing industry, and photographers
  • JP2 (JPEG 2000): An image compression standard and coding system. It was developed with the intention of superseding the original JPEG standard.
  • HTML: A markup text that can be rendered by APIs from URL.

Comparison by pricing

The APIs are sorted from cheapest to the most expensive by normalized average price per 1000 screenshots:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

Geekflare

$0.37

$10 per 10000

500
NoCodeAPI

$0.46

$12 per 10000

60
ScrapingBee

$0.48

$49 per 20000

screendot

$0.57

$20 per 10000

1000
GetScreenshot

$1.03

$7.99 per 2500

screenshotlayer API

$1.17

$19.99 per 10000

100
ProxyCrawl

$1.2

$39 per 10000

Abstract

$1.22

$9 per 3000

100
Pikwy

$1.89

$3 per 1000

ApiFlash

$2.05

$7 per 1000

100
URL To Screenshot

$2.08

$9.99 per 5000

1000
ScreenshotOne $2.85 $14 per 1500 100
Screenshot Machine

$2.92

$9 per 2500

100
purplescreenshots.com

$3.45

$29 per 5000

Add Screenshots

$3.88

$9 per 2500

100
Restpack

$4.54

$9.95 per 1000

URL2PNG

$4.96

$29 per 5000

thum.io

$5.33

$1 per 1000

Bannerbear

$5.67

$49 per 1000

Urlbox.io

$5.68

$10 per 1000

ScreenshotAPI

$6.11

$9 per 1000

100
WhoisXMLAPI

$6.87

$19 per 1000

500
GeoScreenshot

$36.85

$49 per 2500

The average price is a normalized average place per screenshot for each plan.

For example, consider an API with two plans: plan A with 1000 screenshots for $10 and plan B with 2000 screenshots for $50.

Plan A’s average price per screenshot is $10/1000 = $0.01. And the average per screenshot for plan B is $50/2000 = $0.025.

The average of the average is ($0.01 + $0.025) / 2 = $0.0175. But to simplify the number reading, I multiply it by 1000 to represent the average price for 1000 screenshots $0.0175 * 1000 = $17.5.

Complete review of best screenshot APIs

In case you are interested, one by one, I review each screenshot API and compare its features and pricing to ScreenshotOne API.

ScreenshotOne

URL: https://screenshotone.com/

ScreenshotOne is one of the best screenshot APIs on the market, made by Dmytro Krasun (it is me 😉), perfected to near excellence, and because of optimized operating costs, provides one of the most affordable pricing structures on the market.

Basic features:

Feature / API

ScreenshotOne

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Advanced features:

Feature / API

ScreenshotOne

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Supported formats:

Feature / API

ScreenshotOne

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne

$2.85

$14 per 1500

100

Urlbox.io

URL: https://www.urlbox.io/

Urlbox was founded in 2012 to turn HTML into images and URLs into screenshots. It is a solid company that fixed the most complicated issues on taking screenshots and has a good trek record of customers — one of the best in the screenshot API niches.

Comparison by basic features:

Feature / API

Urlbox.ioScreenshotOne

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

Urlbox.ioScreenshotOne

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOneUrlbox.io

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne $2.85 $14 per 1500 100
Urlbox.io

$5.68

$10 per 1000

thum.io

URL: https://www.thum.io/

thum.io is focused on screenshot API, and they have an exciting feature — rendering PDF as images. But the solution is built on PhantomJS, a discontinued headless browser for automating web page interaction.

Comparison by basic features:

Feature / API

ScreenshotOnethum.io

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOnethum.io

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOnethum.io

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne $2.85 $14 per 1500 100
thum.io

$5.33

$1 per 1000

ProxyCrawl

URL: https://proxycrawl.com/screenshots-api

ProxyCrawl is a company developed around crawling and scrapping, but they also support taking screenshots. They provide native SDKs and have good experience working with headless browsers, but screenshot API capabilities are a bit limited.

Comparison by basic features:

Feature / API

ScreenshotOneProxyCrawl

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOneProxyCrawl

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOneProxyCrawl

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ProxyCrawl

$1.2

$39 per 10000

ScreenshotOne $2.85 $14 per 1500 100

Add Screenshots

URL: https://www.addscreenshots.com/

Add Screenshots is a mature API that can be used as a product without an API. It allows export to a variety of file storage, scheduling, and screenshot comparisons.

Comparison by basic features:

Feature / API

ScreenshotOneAdd Screenshots

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

Add ScreenshotsScreenshotOne

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOneAdd Screenshots

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne $2.85 $14 per 1500 100
Add Screenshots

$3.88

$9 per 2500

100

WhoisXMLAPI

URL: https://website-screenshot.whoisxmlapi.com/api

WhoisXMLApi is mostly centered around domain & IP data intelligence, but as a bonus, they provide a screenshot API. It is not their primary focus.

Comparison by basic features:

Feature / API

ScreenshotOneWhoisXMLAPI

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOneWhoisXMLAPI

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOneWhoisXMLAPI

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne $2.85 $14 per 1500 100
WhoisXMLAPI

$6.87

$19 per 1000

500

Pikwy

URL: https://pikwy.com/

Pikwy has reasonable pricing, and it is not expensive. But they don’t support blocking ads and cookie banners, which might be an essential feature for many customers.

Comparison by basic features:

Feature / API

ScreenshotOnePikwy

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOnePikwy

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOnePikwy

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

Pikwy

$1.89

$3 per 1000

ScreenshotOne $2.85 $14 per 1500 100

purplescreenshots.com

URL: https://purplescreenshots.com/

purplescreenshots is a new kid in the town but currently has a limited set of features — only basic ones.

Comparison by basic features:

Feature / API

ScreenshotOnepurplescreenshots.com

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOnepurplescreenshots.com

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOnepurplescreenshots.com

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne $2.85 $14 per 1500 100
purplescreenshots.com

$3.45

$29 per 5000

Bannerbear

URL: https://www.bannerbear.com/use-cases/scenarios/auto-generate-screenshots-via-api/

Bannerbear is a marketing automation API that allows creating templates and generating images from them. Screenshot API is not the central area of focus, but it has a limited set of features.

Comparison by basic features:

Feature / API

ScreenshotOneBannerbear

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOneBannerbear

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOneBannerbear

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

ScreenshotOne $2.85 $14 per 1500 100
Bannerbear

$5.67

$49 per 1000

screendot

URL: https://screendot.io/

screendot is a new kid in the town with moderate pricing (not expensive) and supports essential features to take screenshots.

Comparison by basic features:

Feature / API

ScreenshotOnescreendot

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOnescreendot

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download

Hover

Brightness

Blur

Contrast

Emulate media

File name

Track changes

Reduced motion

Viewport device

Rotate flip

Pdf landscape

Pdf print background

Pdf to image

Pdf format

Pdf media

Element overlap

Comparison by supported formats:

Feature / API

ScreenshotOnescreendot

JPG (JPEG)

PNG

WebP

PDF

GIF

JSON

Base64

SVG

AVIF

HEIF

TIFF

JP2 (JPEG 2000)

HTML

Comparison by pricing:

API

Average price per 1000 screenshots

The cheapest paid monthly plan per # of screenshots

Free option

Free screenshots

screendot

$0.57

$20 per 10000

1000
ScreenshotOne $2.85 $14 per 1500 100

GeoScreenshot

URL: https://www.geoscreenshot.com/

GeoScreenshot is a product that emphasizes UI testing from different geo locations, but as a bonus, they have a screenshot API.

Comparison by basic features:

Feature / API

ScreenshotOneGeoScreenshot

URL

HTML

Selector

Viewport size

Device scale factor

Full page

Lazy load

Cache

Cache ttl

Cache ignore

Wait for event

User agent

Authentication

Accept languages

Custom cookies

Custom headers

Custom css

Custom js

Comparison by advanced features:

Feature / API

ScreenshotOneGeoScreenshot

Omit background

Fail on status

Geolocation

Custom proxy

Block cookie banners

Block ads

Scroll to element

Custom html

Custom css url

Delay

Thumbnail width

Thumbnail height

Markdown

Signed links

Click by selector

Hide by selector

Clip

Custom renders on errors

Uptime sla

Custom js url

Grayscale

Extract html

Extract text

Dark mode

Block tracking

Placeholder

Export to ftp

Export to s3

Image quality

Block chats

Dedicated workers

Highlight

Wait for selector

Block requests

Ip location

Email

Webhook

No js

Timeout

Zapier

Sdk

Schedule

Metadata

Custom domain

Timezone

Stealth mode

Gpu rendering

Export to azure

Bplogin

Fail on redirect

Emulate touch screen

Emulate mobile

Emulate landscape

Download