ScreenshotRender
← Back to blog
API Guides

Best Screenshot API in 2026: Compared & Reviewed

Robert Belt·11 min read
Updated On :
Six screenshot APIs compared on price, Cloudflare handling, free tier, and billing

Every screenshot API looks identical on its landing page. Send a URL, get a PNG, three pricing tiers, a code snippet in the hero. The differences that decide which one survives in production are never on that page.

This guide compares the six screenshot APIs worth considering in 2026 (ScreenshotRender, ScreenshotOne, Urlbox, Scrapfly, ScrapingBee, and Browserless) on the five things that actually matter: Cloudflare handling, billing model, free tier, page cleanup, and price.

The best screenshot API at a glance

Quick picks

  • Best overall: ScreenshotRender. Lowest entry price, stealth on every paid plan, and you pay only for renders that succeed.
  • Best like-for-like alternative: ScreenshotOne. Same free tier and feature set, a little pricier.
  • Best free tier: ScreenshotRender. 100 renders a month, no card, refilled every month.
  • Best for Cloudflare: ScreenshotRender. Stealth bundled from $14 a month, while Urlbox locks it to a $99 a month tier.
  • Best for scraping plus screenshots: Scrapfly, when you already pay for the scraping platform.
  • Best for full browser control: Browserless, when screenshots are one step in a larger automation script.

The table below is the short version. Prices are billed annually, the free tier refills monthly unless noted, and stealth means built-in bot detection bypass with no extra flags.

Screenshot APIFree tierPrice fromCloudflare / stealthBilling model
ScreenshotRender100/mo, refills$14/moEvery planPer successful shot
ScreenshotOne100/mo$17/moEvery planPer successful shot
Urlbox7-day trial$19/moUltra tier, $99/moPer shot
Scrapfly1,000 credits, once$30/moOpt-in flag60 credits per shot
ScrapingBee1,000 credits, onceCredit-based25 to 75 credits/callPer credit
BrowserlessFree browser-timePer secondMetered add-onPer browser-second

Pricing verified June 2026.

The 6 best screenshot APIs in 2026

1. ScreenshotRender: best overall

ScreenshotRender is the default recommendation for most teams. It is a dedicated screenshot API built around one job: turn a URL into a clean image from a single GET request, with no setup overhead.

Cookie banner and ad removal are bundled on every plan, including the free one. Stealth Mode for Cloudflare protected pages is included from the Hobby plan at $14 a month, not gated behind a premium tier. Billing is per successful render only, so a failed or blocked page never uses a credit. The free tier is 100 screenshots a month, no credit card, and it refills every month.

The whole API is one GET URL with your key and the target page, so there is no SDK to install and no signing step, and it works from any language or plain cURL. The response is a JSON object with a hosted image URL at data.screenshot ready to use anywhere.

  • Free: 100 screenshots/mo, no card, 40 req/min
  • Hobby: $14/mo for 2,000 shots, 60 req/min, stealth included
  • Standard: $59/mo for 10,000 shots, 80 req/min
  • Growth: $239/mo for 50,000 shots, 150 req/min

2. ScreenshotOne: best like-for-like alternative

ScreenshotOne is the closest like-for-like alternative. It is a dedicated screenshot API with the same core capabilities: real Chromium rendering, cookie banner and ad removal, Cloudflare handling, and a REST interface with no SDK required.

The main difference is price. ScreenshotOne's entry plan is $17 a month for 2,000 screenshots against ScreenshotRender's $14, and the 10,000 screenshot tier is $79 a month against $59. Billed annually at 10,000 screenshots a month, that is $202 more per year for the same throughput. Rate limits at entry are 40 requests per minute against ScreenshotRender's 60, and the overage rate is $0.009 per screenshot against $0.007.

The free tier matches: 100 screenshots a month, no credit card. Choose ScreenshotOne if you are already integrated and the migration cost outweighs the price gap, or if you find its documentation or SDK wrappers a better fit for your stack.

One screenshot API, with the production work already done.

ScreenshotRender strips cookie banners and ads on every plan, free included, and clears Cloudflare with Stealth Mode from the Hobby tier. Pass a URL, get a clean PNG. No SDK, no proxy budget, no Chromium fleet.

Try a render

3. Urlbox: best for PDF and video thumbnails

Urlbox splits its product across three quality tiers (Lo-Fi, Hi-Fi, and Ultra), which means the capabilities you need for production screenshots are not always available at the price you are first quoted.

Lo-Fi at $19 a month is designed for thumbnails of sites you own and cannot reliably render full third-party sites. Stealth mode and full bot bypass are locked to the Ultra tier at $99 a month, so if you need Cloudflare handling you are comparing Urlbox's $99 tier against ScreenshotRender's $14 Hobby plan. There is also no permanent free tier. Urlbox runs a 7-day trial that ends on a clock no matter how many screenshots you have used.

Where Urlbox genuinely wins is PDF export, video thumbnail capture, and format breadth (WebP, JPEG, PNG, PDF, GIF). If your workflow needs rendered PDFs or video thumbnails and you are already on the Ultra tier, Urlbox is worth evaluating. For standard screenshot API work it is the most expensive option here once you account for the tier where stealth is actually available.

4. Scrapfly: best if you already pay for their scraping platform

Scrapfly is a five-product web scraping platform where screenshots are one of five APIs drawing from a shared credit pool. A single screenshot costs 60 credits from that pool. Cloudflare handling requires the asp=true flag and cookie banner removal requires block_banners=true. Both are opt-in rather than defaults, and while neither flag adds credits, they do require you to remember them on every call.

The cheapest paid plan is $30 a month, more than double ScreenshotRender's entry price. The free allowance is 1,000 credits granted once on signup, not a recurring monthly refill, and with Cloudflare handling on that covers about 16 screenshots before it runs out.

The right time to pick Scrapfly is when you already use the platform for HTML scraping and want to fold screenshots into the same credit pool and billing relationship. If screenshots are your primary need, the dedicated APIs are simpler to set up, cheaper to start, and more predictable to budget.

5. ScrapingBee: best for teams already on their scraping plan

ScrapingBee is a general web scraping API where screenshots are a side feature. A screenshot runs through the headless browser and costs a minimum of 5 credits for a plain page, while a page behind Cloudflare or another bot protection layer costs 25 to 75 credits through premium or stealth proxies. Cookie banner and ad removal are not automatic, so you script them yourself.

The free allowance is 1,000 credits one-time on signup. At 5 credits a plain screenshot that is 200 test renders, and at 75 credits for a protected page it is 13. There is no recurring free tier.

Like Scrapfly, ScrapingBee makes sense when you already pay for its HTML scraping and want to add an occasional screenshot without a second vendor. For screenshot heavy workflows the variable credit cost of protected pages makes monthly budgeting unpredictable in a way that flat per-success pricing does not.

6. Browserless: best when screenshots are part of a larger automation

Browserless is not a screenshot API. It is a hosted headless browser platform that rents you a real Chromium to drive with your own Puppeteer, Playwright, or BrowserQL code. You write the session management, the waiting logic, and the capture call yourself. Browserless provides the browser.

Billing is by browser-second in 30-second increments. CAPTCHA solving and residential proxies are metered add-ons that stack extra units on every call to a protected page, and cookie banner and ad removal are not built in, so you handle them in your automation script.

Browserless is the right choice when screenshots are one step in a larger browser automation: filling forms, clicking through auth flows, or running visual regression tests across a real browser session. If the job is simply to turn a URL into a clean image with no scripting overhead, a dedicated screenshot API removes several layers of work.

How to choose the best screenshot API

Every option here renders with a real Chromium and returns a PNG, so the screenshot call is not where they differ. Five things around it decide which screenshot API is right for you:

  • Bot detection handling. Many production URLs sit behind Cloudflare, DataDome, or a similar layer. A vanilla headless Chromium gets a 403 or a challenge interstitial and captures the wrong page silently, so the API has to handle this without you setting flags.
  • Page cleanup before capture. A real screenshot is the page with the cookie banner, chat widget, and ad overlay gone. APIs that leave those in produce screenshots you cannot ship to a customer.
  • Full page capture reliability. Capturing the entire scrollable document sounds trivial until you meet lazy-loaded images, sticky headers, and pages that re-layout as they scroll. Full page capture is its own minefield, and not every API gets it right.
  • Billing model, not headline price. Do failed captures bill you? Do cached captures bill you? What happens when you go over? Those answers matter more than the cost per screenshot.
  • A free tier you can finish on. A 25-image free tier runs out before you finish wiring it into one workflow. You want enough headroom to ship the integration before you pay.

Can it get past Cloudflare and bot detection?

This is the one criterion that fails silently in production, which makes it the most important to check before you commit. A page that does not render returns no obvious error. Instead it returns the challenge page rendered as a screenshot, and the failure does not surface until a customer asks why every G2 or Capterra capture says "Checking your browser."

Cloudflare's Bot Management documentation describes what gets flagged. A stock headless Chromium fingerprints as automation on at least four signals: navigator.webdriver set to true, an empty plugins array, an off-the-shelf TLS fingerprint, and the default Puppeteer launch flags. Beat those by hand and you sign up for a maintenance loop every time Cloudflare ships a new rule. A stealth layer that actually beats Cloudflare is what separates a screenshot API you can put in a customer-facing workflow from one you cannot. ScreenshotRender and ScreenshotOne include it on every paid plan, Urlbox gates it to its $99 tier, Scrapfly and ScrapingBee charge for it per call, and Browserless leaves it for you to build.

What does a screenshot API actually cost?

Less than you would guess for a working integration, and the headline price matters less than the billing model underneath. Three things decide whether you actually pay the published rate.

  • Pay only for successful requests. A failed render that bills you is the worst kind of bug because it scales with your traffic. ScreenshotRender only deducts a credit after a successful response, on every plan including the free one. ScrapingBee and Browserless bill by usage whether the render succeeds or not.
  • Caching counts, or it does not. ScreenshotRender caches results on an edge CDN and only counts unique screenshots against your quota, so two requests for the same URL with the same options do not double-bill you.
  • Overage rate matters more than the base rate. Most teams that grow into a screenshot API hit the overage rate every month. ScreenshotRender's overage is $0.007 per extra screenshot on Hobby, $0.005 on Standard, and $0.004 on Growth, against ScreenshotOne's $0.009 on its entry plan. Compare the overage rate, not the headline price.

The full pricing page has the breakdown: 100 free screenshots a month, then $14 a month for 2,000, $59 for 10,000, and $239 for 50,000, all billed annually with stealth included.

When is a screenshot API the wrong choice?

Three cases where a hosted screenshot API is not the right tool. No honest comparison post claims a method with no edges.

  • Internal URLs not reachable from the public internet. A hosted screenshot API cannot render http://localhost, http://10.0.0.5, or a dashboard inside your VPC. For that you need a self-hosted headless browser inside the same network, or a tunnel that exposes the page publicly with auth.
  • Login-gated pages. The public API takes a URL, not a session cookie. If the page sits behind authentication, generate a signed share URL on the source app and screenshot that, or host the browser yourself inside the authenticated session. The same trade-off applies to every screenshot API in this list.
  • Screenshots are the core of your product. If your product is a screenshot service, you eventually want to own the rendering layer so you can ship features the API does not expose. Self-hosting Chromium with Puppeteer or Playwright is real work, but for that one case it pays back.

For the other 90 percent of cases, whether that is a marketing thumbnail, an OG image, a competitor monitoring snapshot, a vision model input, or an automated visual regression check, a hosted screenshot API is the right answer, and the five criteria above are the lens to pick one.

Frequently asked questions about screenshot APIs

Is there a free screenshot API?

Yes. ScreenshotRender's free plan includes 100 screenshots per month with no credit card required, full page capture, ad and cookie banner removal, and 40 requests per minute. That is enough to wire a screenshot API into a small app end to end before paying for more volume. Most other screenshot APIs also publish some kind of free tier, so pick one with enough volume to finish your integration before you pay.

What is the best screenshot API for developers?

For most developers the best screenshot API is the one that returns a clean, real page render on the first call with no extra flags. That means cookie banners and ads removed before capture, a real Chromium under the hood so JavaScript heavy sites render correctly, and a bot detection workaround so Cloudflare protected pages do not silently fail. ScreenshotRender bundles all three on a single REST GET, with no SDK to install.

Which screenshot API is cheapest?

ScreenshotRender is the cheapest dedicated screenshot API at $14 a month billed annually for 2,000 screenshots, with stealth, page cleanup, and per-success billing included on every paid plan. ScreenshotOne is $17 a month and Urlbox is $19 a month, with stealth on Urlbox only available at $99 a month. Scrapfly and ScrapingBee use shared credit pools that are harder to compare directly, but a Cloudflare protected page on ScrapingBee can cost 25 to 75 credits per call.

Do I need an SDK to use a screenshot API?

No. The best screenshot APIs expose a single REST endpoint you can call from any language that speaks HTTP, on top of the standard HTTP semantics MDN documents. ScreenshotRender's API is one GET request with the URL and your API key in the query string, so it works identically from Python, Node.js, cURL, or any other HTTP client because there is no SDK in the loop.

What is the difference between a screenshot API and a scraping API?

A screenshot API returns a rendered image of a web page. A scraping API returns the structured text or HTML of the page. The two often share a headless browser under the hood, which is why Scrapfly and ScrapingBee offer a screenshot endpoint as one feature among many. If your job is feeding a vision model, generating an OG image, or archiving a visual snapshot, pick the screenshot API. If your job is extracting fields from the page, pick the scraping API.

The honest verdict: the best screenshot API in 2026 is the one that handles Cloudflare without you setting flags, strips the cookie banner before the capture, full-pages a long document without stitching artifacts, bills you only when the render works, and gives you enough free volume to ship the integration. ScreenshotRender is the default recommendation on those five criteria, and the free tier is enough to confirm it on your own pages before you spend a cent.

Keep reading