ScreenshotNeo

BlogComparisons

Screenshot API vs Cloudflare Browser Rendering for Website Screenshots

Compare Cloudflare Browser Rendering and ScreenshotAPI by integration, capture controls, outputs, and cost, then choose the fit for your screenshot workflow.

By the ScreenshotNeo team4 October 20269 min read

Short answer: Cloudflare Browser Rendering documents screenshots as one part of a broader browser-rendering API, callable through a REST endpoint or Workers Bindings. ScreenshotAPI is a dedicated screenshot service with vendor-documented browser settings, mobile capture, page adjustments, and several image formats. ScreenshotNeo is another managed screenshot API to try first when you want clean captures, clear per-response billing verdicts, and a free monthly allowance.

There is no evidence here to declare a speed, reliability, or image-quality winner. Choose based on how you want to integrate, which capture controls and output you need, and the verified cost for your actual usage. Cloudflare’s current effective screenshot price and allowance were not established by the available sources.

What each service is for

Cloudflare Browser Rendering

Cloudflare documents a screenshot endpoint that accepts a URL or supplied HTML, processes HTML and JavaScript, and returns a capture. You can call it through the REST API or Workers Bindings. The documented screenshot controls include viewport settings and full-page capture. Browser Rendering also documents operations for PDF, content, scraping, and snapshots, so screenshots sit within a broader browser-rendering interface. See the Cloudflare screenshot endpoint documentation and the Browser Rendering API reference.

ScreenshotAPI

ScreenshotAPI presents a dedicated screenshot API. Its pricing page describes PNG, JPG, and GIF output, configurable browser settings, mobile view capture, page adjustments, and blocking unwanted page elements. These are provider-described capabilities, not independent test results. Its published pricing page listed pay-as-you-go at $0.001 per shot and volume package rates of $0.0009 and $0.0008 per shot at specified tiers when accessed on October 3, 2026. Verify current terms before budgeting; the page’s free quota statements were inconsistent, so this article does not quote a free quota.

ScreenshotNeo

ScreenshotNeo is a website screenshot API and MCP server from Yorker Media. It returns PNG, JPEG, WebP, or PDF captures from one GET request. Its differentiator for comparison workflows is that it attempts to remove known consent banners, newsletter popups, and chat widgets before capture, and reports page verdict and billing status in response headers. Its API supports full-page and element captures, device and viewport controls, output adjustments, custom browser inputs, caching, async jobs, bulk capture, and MCP tools for AI agents.

Comparison at a glance

Decision Cloudflare Browser Rendering ScreenshotAPI ScreenshotNeo
Integration REST API or Workers Bindings Dedicated screenshot API One GET request; also an MCP server
Input URL or supplied HTML Screenshot capture request; consult current API docs for request schema URL, or HTML/CSS-to-image features
Documented capture controls Viewport and full-page options Browser configuration, mobile view, page adjustments, and element blocking, as described by the vendor Full page, CSS selector, viewport/device, dark mode, waits, clicks, hide selectors, request blocking, custom CSS and JavaScript, and more
Outputs and related operations Screenshot endpoint; broader API also describes PDF, content, scrape, and snapshot operations PNG, JPG, and GIF described on its pricing page PNG, JPEG, WebP, or PDF; async and bulk capture also available
Clean-page handling Not established in the cited screenshot documentation Vendor describes blocking unwanted elements; consent handling specifics not established here Accepts consent banners like a visitor and removes 60+ known consent platforms, newsletter popups, and chat widgets; each step can be disabled
Cost evidence Current screenshot-specific effective price and allowance not verified Pricing page listed $0.001 per shot pay-as-you-go on October 3, 2026; verify current offer Free: 1,000 shots/month, no card; paid plans from $5 for 3,000 shots

How to choose

  1. Choose Cloudflare Browser Rendering if your workflow already uses Cloudflare or Workers and you want screenshot capture alongside its documented browser-rendering operations. Confirm the account’s current screenshot pricing and allowance before estimating a production workload.
  2. Choose ScreenshotAPI if a dedicated screenshot service and its vendor-described formats or browser controls fit your integration. Confirm the current request parameters, plan limits, and effective rate directly with the provider.
  3. Try ScreenshotNeo first if you need clean screenshots without consent banners, popups, or chat widgets, want a response-level indication of whether a capture was billed, or want an MCP server for AI agents. The API accepts common screenshot API parameter names to make switching easier.

For any provider, first check whether it supports your required input, selector or full-page behavior, viewport, output type, authentication needs, and wait conditions. Then price a representative month using billable successful captures, retries, cache behavior, and any included allowance. Do not infer total cost from a per-shot headline alone.

Cloudflare Browser Rendering: integration shape

Cloudflare documents two integration paths: the REST API and Workers Bindings. The endpoint accepts a URL or HTML input, and documented screenshot options include viewport and full-page capture. The exact request shape and authentication depend on the chosen integration; use the current endpoint reference for copy-ready parameters and examples.

Before implementing, decide whether the screenshot input is a public URL or supplied HTML, whether the viewport should be fixed or full-page, and how the resulting bytes will be stored or returned to the caller. If your job also needs PDF, content, scraping, or snapshots, review the broader API reference to see the documented operation that matches the task.

ScreenshotAPI: integration and pricing checks

ScreenshotAPI’s pricing page identifies a dedicated screenshot service and lists its output formats and high-level browser options. The research dossier does not contain a verified endpoint URL, authentication format, or request schema, so use the provider’s current documentation rather than copying an invented endpoint or parameter set.

At the time the pricing page was accessed on October 3, 2026, it listed $0.001 per shot for pay-as-you-go and volume tiers at $0.0009 and $0.0008 per shot. Treat these as dated provider-listed figures. Check the live offer, what counts as a shot, minimum commitments, expiry, overages, and whether failed captures are charged before choosing based on cost. The page had inconsistent wording for its free allotment, so no free amount is stated here.

ScreenshotNeo: API call and practical controls

ScreenshotNeo requires one GET request with an access key and target URL. The example below saves a WebP screenshot of Stripe. See the ScreenshotNeo API documentation for the full parameter list and response behavior.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" \
  -d access_key=YOUR_API_KEY \
  --data-urlencode url=https://stripe.com \
  -o shot.webp

Python

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
r.raise_for_status()
with open("shot.webp", "wb") as f:
    f.write(r.content)

Node.js

const q = new URLSearchParams({
  access_key: 'YOUR_API_KEY',
  url: 'https://stripe.com'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const bytes = new Uint8Array(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));

Options to consider

ScreenshotNeo documents 63 options. The relevant groups for a service comparison include:

  • Page area and layout: full-page capture with lazy images loaded; capture one element by CSS selector; 12 device presets or a custom viewport; retina scale; dark mode; transparent background.
  • Output: PNG, JPEG, WebP, or PDF. PDF controls include paper size, margins, landscape, and page ranges. Image resizing is available.
  • Page preparation: wait for a selector, a delay, or network idle; click an element before capture; hide selectors; custom CSS and JavaScript.
  • Request and browser context: block ads, trackers, requests, or resource types; set custom headers, cookies, user agent, Authorization, timezone, and geolocation.
  • Delivery and scale: choose cache TTL; create signed links for public image tags; submit async jobs with signed webhooks; bulk capture up to 100 URLs per call; use the usage API or OpenAPI spec.

Clean-capture steps can be turned off individually. Responses identify the page verdict and billing status through X-Page-Verdict and X-Billed headers. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing under the stated ScreenshotNeo policy.

Or skip the browser setup

Use ScreenshotNeo’s one-call request when you want a managed capture without operating a browser-rendering integration. The request below returns a WebP capture; see the API documentation for options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
  • Cookie banners, newsletter popups, and chat widgets are removed before the shot; each cleaning step can be turned off.
  • Bot checks, blank pages, timeouts, failed loads, and cache hits are never billed.
  • An MCP server gives Claude, Cursor, and other MCP clients tools to take screenshots, get page information, and capture PDFs.
  • 1,000 screenshots a month are free with no card; paid plans start at $5 for 3,000. Every feature is on every plan.

Sign up for ScreenshotNeo’s free plan and capture up to 1,000 screenshots each month without a card.

Cost, performance, and reliability

Build a comparable cost estimate

Use your expected monthly capture volume and the provider’s current billing rules. Separate clean successful captures from retries, cached results, failed navigation, and any included allowance. For ScreenshotAPI, the dated listed pay-as-you-go rate gives a simple reference calculation: 10,000 shots at $0.001 each would be $10 before any plan terms or discounts. This is arithmetic from the listed rate, not a current quote. Cloudflare’s effective screenshot price and allowance are unverified here, so no direct cost winner can be named.

ScreenshotNeo’s stated tiers are Free with 1,000 shots/month and no card; Starter $5 for 3,000; Growth $15 for 15,000; Pro $39 for 60,000; Scale $99 for 250,000; and Business $249 for 1,000,000. Yearly billing gives two months free. Every feature is on every plan. Compare the tier that covers your expected volume and remember that only clean shots are billed under the stated policy.

Performance and reliability

No comparative testing was conducted, and the cited material does not establish that one service is faster, more reliable, or more accurate. Test your own representative pages if those qualities determine the choice. Include JavaScript-heavy pages, slow resources, consent dialogs, authenticated pages, and pages with lazy-loaded content. Record response time and outcome for your workload rather than generalizing from a single page.

For production jobs, set a client timeout appropriate to your page complexity, distinguish transport errors from a completed response, and retry only transient failures with bounded backoff. Avoid unbounded retries: they can increase latency and, depending on the provider’s billing rules, cost. Where a provider exposes verdict or billing information, log it alongside the URL, request options, and job identifier. For repeat captures, determine whether caching meets freshness requirements and use async jobs or bulk requests where the provider documents them.

Troubleshooting

Symptom Likely cause What to check
Cloudflare request fails before a capture is returned Wrong integration path, authentication, or request schema Match the REST or Workers Binding example in the current endpoint docs; check required credentials and input fields.
Capture is clipped Viewport-sized capture used where full-page was intended, or the page layout has fixed/sticky elements Enable the documented full-page option where appropriate and verify the viewport and page dimensions.
Important content is absent Content had not rendered, lazy loading had not completed, or a selector/viewport excluded it Check the target state and capture controls. Use a provider’s documented wait, scroll, or full-page options if available; do not assume an undocumented parameter.
ScreenshotAPI output type or browser behavior differs from expectation Unsupported or incorrectly configured option, or provider behavior changed Confirm the current provider docs and pricing page; validate the requested format and mobile/browser settings.
ScreenshotNeo response is not an image Request failed, page verdict indicates a blocked/blank/failed outcome, or an error response was saved as bytes Check HTTP status and response headers before writing the body as an image; inspect X-Page-Verdict and X-Billed.
Request times out Slow navigation, stalled resources, or a client timeout shorter than the capture duration Set a suitable client timeout, simplify or block unnecessary resources when supported, and retry transient failures with a limit.
Repeated captures show stale content Cache is serving a prior result Review cache behavior and TTL; reduce or change the TTL when freshness is more important than reuse.
Authenticated page is blank or redirected Cookies or authorization context were not sent, or the session expired Check the provider’s supported cookies, headers, and Authorization settings, and verify the target URL is reachable with that context.

FAQ

Is Cloudflare Browser Rendering itself a screenshot API?

It includes a documented screenshot endpoint, available through REST or Workers Bindings, within a broader browser-rendering API.

Can I supply HTML instead of a URL?

Cloudflare’s screenshot documentation describes both URL and supplied HTML input. Check the selected integration’s current schema for exact encoding and options.

Which option is cheapest?

The available evidence does not support a complete cost ranking. ScreenshotAPI published dated per-shot rates, Cloudflare’s effective screenshot price was not verified, and ScreenshotNeo publishes specific plan allowances. Recheck current terms against your workload.

Which service produces the most accurate or reliable captures?

No comparative test was conducted, so the evidence does not support a quality or reliability winner. Validate representative pages and conditions from your own workload.

Sources