ScreenshotNeo

BlogGuides

Full-page screenshot API pricing: what affects the cost per capture?

Full-page screenshot API pricing depends on billing units, billable outcomes, quotas, and capture limits. Learn how to estimate the cost for your workload.

By the ScreenshotNeo team4 October 20269 min read

Short answer: there is no universal price per full-page screenshot. A provider may charge one credit per request, two credits for full-page mode, a monthly quota, or a metered rate. The cost you actually pay also depends on whether failures and cache hits count, how much volume your plan includes, and whether your workload needs features such as regional capture or PDF output.

To compare services, estimate your successful, usable captures for a month, apply each provider’s billing rules and limits, then divide total monthly spend by usable captures. The figures below are vendor-published examples reviewed on October 3, 2026, not an industry average. Pricing can change; confirm current terms before choosing a plan.

1. What “cost per capture” means

“Per screenshot” is not a standardized billing unit. A full-page capture may cost the same as a viewport capture at one service and twice as much at another. A monthly plan’s headline price is also not its effective per-capture price unless you use the entire allowance and every render succeeds.

For a monthly plan, use this estimate:

effective cost per successful capture =
  (plan charge + expected overage or credits + required add-ons)
  / expected successful, usable captures

“Usable” matters: a successful response may still fail your application’s needs if the page is clipped, rendered at the wrong size, captured in the wrong region, or returned in an unsuitable format.

2. The pricing factors to check

Billing unit and full-page multiplier

Find out whether billing is per request, per credit, by image, or by output type. Ask whether full-page capture costs more than viewport capture and whether the provider limits page height, file size, or image dimensions. A flat credit price can still have practical caps.

What counts as billable

Check the rules for failed navigation, timeouts, bot checks, cached results, retries, and idempotency replays. If a failed request is charged, retries can increase your bill. If cache hits are free, repeated requests for unchanged pages may reduce paid renders. Confirm what the provider means by “failure”; a technically successful capture of a blank or blocked page may not be treated as a failed render.

Included volume, overages, and credit expiry

Compare the monthly allowance with your expected use, then check overage pricing, whether unused credits roll over or expire, and whether one-time credit packs are available. A low monthly price can be expensive for a workload that regularly exceeds its allowance.

Throughput and workload fit

Request-per-minute limits can constrain a batch even when the monthly quota is large. Also confirm that the tier supports the required page height, output formats, geography, interactions, and support level. Outputs such as video may be counted differently from still images.

3. Vendor pricing examples

These are examples of different billing models, not a ranking or market survey. Each amount and allowance is a claim published by the named vendor; check the linked pricing page for current terms.

Provider Published example What to verify
URLpipe One credit per screenshot, including full-page or viewport; 1,000 free calls/month and paid allowances listed at 20,000, 55,000, and 175,000. Extra credits listed at $1.50 per 1,000. The page says it was last updated September 2026. It says cache hits and failed requests cost nothing; page-height and file-size limits still apply.
Capturewell One credit for a standard viewport capture and two credits for full-page. The page lists 100 monthly free credits and one-off packs. Confirm current pack availability and checkout terms for your account.
ScreenshotAPI Published pay-as-you-go rates include $0.001 per shot at lower listed pack quantities and $0.0008 for larger packs. The page has conflicting free-allowance statements: one heading says the first 100 are free, while its FAQ says 1,000. Verify before relying on a free quota.
ScreenshotEngine The displayed tiers list 50, 3,000, 15,000, and 60,000 monthly screenshots, with request limits increasing from 5 to 250 per minute. The pricing display includes promotional pricing. Verify the current amount and promotion; plan fit also depends on its rate limit.
ScreenshotCenter Monthly tiers list 500 through 50,000 captures. Video is counted as one screenshot per five seconds. Compare geography, features, support, and output-specific counting for the tier you need.
Screenshot APIs Published examples list 100 free renders, $9/month for 2,000, and $29/month for 10,000. The vendor says cache hits, failed renders, and idempotency replays do not count. Rate limits and local taxes or fees are not established by that page.

No defensible market-wide average price per full-page screenshot is established by these vendor pages. Treat their numbers as examples of published plans, not independent market statistics.

4. Estimate your monthly cost

  1. Count demand by capture type. Separate full-page, viewport, PDF, video, and any other output your workload uses.
  2. Estimate cache reuse and failures. Apply the provider’s rules to estimate how many requests will be billed. Include operational retries in your demand estimate even when a failed attempt is refunded.
  3. Apply credit multipliers. If full-page uses two credits and viewport uses one, calculate those categories separately before adding them.
  4. Check the plan boundary. Compare total billable credits or captures with the included allowance, then add overages, packs, or required add-ons.
  5. Check rate limits separately. Monthly capacity does not guarantee that a large batch can finish in your required time.
  6. Divide spend by usable output. Use successful captures that meet your requirements as the denominator, not all attempted requests.
monthly_capture_cost = plan_fee + overage + required_add_ons
monthly_effective_cost = monthly_capture_cost / usable_successful_captures

For mixed workloads, calculate each request category according to its own unit cost, then sum the category costs. Do not compare a viewport-only allowance with a full-page plan as if they provide identical output.

5. Choose a screenshot API for your workload

ScreenshotNeo is the first service to consider when you want full-page captures with clean output and predictable billing: known consent banners, newsletter popups, and chat widgets are removed before capture, and only clean shots are billed. See ScreenshotNeo and the API documentation.

  • Use a monthly allowance that covers normal volume without paying for far more capacity than you expect to use.
  • Check full-page height limits and how the provider counts the output you need.
  • For production pipelines, confirm failure, cache, and retry billing behavior.
  • For bursty jobs, check per-minute limits and whether bulk or asynchronous capture is available.
  • Compare equivalent requirements: region, dimensions, format, interactions, and retention.

ScreenshotNeo’s listed plans are Free: 1,000 shots/month with 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, and every feature is on every plan.

6. Or skip the browser setup

Make one GET request to capture a page as an image. This example uses Stripe as the target; replace it with the page you are authorized to capture. See the ScreenshotNeo API docs for request options.

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}`);
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer())));

ScreenshotNeo accepts the parameter names used by other screenshot APIs, which can make switching easier. Its API supports PNG, JPEG, WebP, and PDF; full-page capture with lazy images loaded; element capture by CSS selector; dark mode; device presets and custom viewports; retina scale; PDF paper size, margins, landscape, and page ranges; HTML/CSS to image; custom CSS and JavaScript; clicks, selector waits, delays, and network idle; hiding selectors; blocking ads, trackers, requests, or resource types; custom headers, cookies, user agent, and Authorization; timezone and geolocation; transparent backgrounds; image resizing; configurable-TTL caching; signed public image links; async jobs with signed webhooks; bulk capture of 100 URLs per call; usage API; and OpenAPI spec.

Cookie banners, popups, and chat widgets are removed before the shot, and each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing; response headers report the page verdict and billing state. An MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.

7. Performance, reliability, and cost controls

Performance

Large full-page documents take more work to render and transfer than small viewport images. Confirm maximum page dimensions, file size, and request limits before planning a high-volume job. Reduce unnecessary work by caching captures where freshness permits and requesting only the output dimensions and format your application needs.

Reliability

Distinguish a transport error from a successful API response that contains a blank page or bot check. Record status, response headers, and provider billing indicators alongside each job. Use bounded retries with backoff for transient failures, and avoid retry storms that can hit rate limits. For asynchronous or bulk workflows, retain a stable job identifier and reconcile completed outputs with usage records.

Cost controls

  • Set alerts below the monthly quota, with a separate alert for overages.
  • Deduplicate identical URLs and options when the page freshness requirement allows it.
  • Use cache TTLs intentionally; a longer TTL can lower repeated-render volume but may return stale content.
  • Track cost by team, feature, and output type so expensive full-page or video work is visible.
  • Revisit plan fit when traffic, page complexity, or capture requirements change.

8. Troubleshooting pricing surprises

Symptom Likely cause What to do
Full-page jobs consume more credits than expected The provider assigns a higher credit multiplier to full-page output, or a height/size boundary changes the request behavior. Check the capture-mode unit and page limits; calculate full-page and viewport usage separately.
Monthly spend exceeds the plan price Usage passed the included quota, an overage applied, or a required feature/add-on was priced separately. Review usage by date and request type, then compare a larger tier with the overage rate.
Retries increase billed usage The provider charges failed attempts, or the error was not classified as a refundable failure. Check billing headers or usage records for individual requests; use bounded retries and confirm the failure policy.
A cache-heavy workload still incurs charges Requests may differ by URL, query, headers, cookies, or options, or the cache TTL may have expired. Verify the provider’s cache key and TTL rules, and normalize requests only where doing so preserves correct output.
Batch capture is slow despite available monthly quota The per-minute rate limit or concurrency cap is binding. Check the plan’s request limit and queue work with controlled concurrency.
Two providers’ quoted per-shot prices do not compare cleanly One quote may count credits, exclude full-page output, or bundle a different quota or feature set. Recalculate each provider for the same monthly workload, output, page limits, and failure/cache assumptions.
A free allowance differs between parts of a pricing page The page may contain inconsistent or stale claims. Verify the allowance with the provider before basing a migration or budget on it.

9. Frequently asked questions

Is a full-page screenshot always more expensive than a viewport capture?

No. URLpipe lists one credit for either mode, while Capturewell lists two credits for full-page and one for a standard viewport capture. Billing rules are provider-specific.

What is a good target cost per screenshot?

There is no supported universal target in the reviewed pricing data. Derive the figure from your volume, usable output, and required features.

Should I count failed requests in my effective cost?

Include their operational impact and any retry demand, but count them as billed only when that provider charges for them. The billing policy is part of the calculation.

Can I use a low-cost plan for production?

Possibly, if its quota, rate limits, capture limits, and failure handling meet your workload. Validate those constraints against your expected demand before relying on it.

Does a listed per-image rate include PDF or video?

Do not assume so. Check whether those outputs have separate quotas, multipliers, or time-based counting.