Screenshot API Pricing Comparison: What You Actually Pay Per Shot
A real screenshot API pricing comparison across major providers, with cost-per-screenshot math, hidden fees, and tips to pick the cheapest fit.
Screenshot APIs look cheap on the landing page and expensive on the invoice. Plans get marketed in screenshots-per-month, but the real cost depends on rendering time, retries, image format, full-page captures, and whether you cache. This is a practical screenshot API pricing comparison built around how you'll actually use one in production.
How screenshot API pricing actually works
Almost every provider uses one of three billing models. Knowing which one you're signing up for matters more than the sticker price.
- Per-screenshot quota: A flat number of captures per month. Simple, but you pay for retries and failed renders on some providers.
- Credit-based: Each request consumes credits, with extras (full page, PDF, ad-blocking, geolocation) costing more.
- Compute-time: You're billed by rendering seconds. Cheap for fast static pages, brutal for JavaScript-heavy SPAs.
Before comparing dollar figures, list your workload: average page weight, format (PNG vs PDF), whether you need full-page or viewport, and your cache hit rate.
The major screenshot APIs side by side
Public pricing as of writing, rounded to the closest tier. Always confirm on the vendor's site before committing.
Urlbox
- Starter: $19/month for 1,000 renders
- Growth: $99/month for 10,000 renders
- Cost-per-screenshot: $0.0099 – $0.019
- Strengths: high-quality rendering, generous customization. Weakness: overage pricing is steep.
ApiFlash
- Basic: $9/month for 1,000 screenshots
- Pro: $39/month for 10,000 screenshots
- Cost-per-screenshot: $0.0039 – $0.009
- Strengths: cheap entry tier. Weakness: limited concurrency on lower plans.
ScreenshotOne
- Starter: $17/month for 2,000 screenshots
- Business: $129/month for 30,000 screenshots
- Cost-per-screenshot: $0.0043 – $0.0085
- Strengths: solid feature set including dark mode, ad blocking. Weakness: free tier is trial-only.
Browserless / Puppeteer-as-a-service
- Starts around $50/month for ~1,000 compute units
- Cost varies wildly — a heavy SPA can cost 3-5x a static page
- Strengths: full browser control. Weakness: you're effectively renting Chrome, not getting a screenshot product.
PxShot
- Free tier with no card required
- Paid plans priced per request with no penalty for retries on failed renders
- Supports PNG, JPEG, WebP, and PDF from the same endpoint
- Strengths: simple HTTP GET, predictable per-shot cost, format flexibility. Weakness: smaller ecosystem than older incumbents.
Calculate your real cost per screenshot
The sticker price assumes 100% success and no waste. Reality is messier. Use this formula:
real_cost = (plan_price / successful_captures_per_month)
+ overage_fees
+ storage_costs
+ engineering_time_on_retries
Worked example: you need 5,000 OG images per month for a content site.
- Pick a $39 plan covering 10,000 shots — feels like overkill.
- Roughly 8% of renders fail because of slow third-party fonts. You retry, burning another 400 requests.
- Effective cost per delivered screenshot: $39 / 5,000 = $0.0078, not the $0.0039 on the pricing page.
Now repeat that math for each candidate with your actual workload. A cheaper per-shot rate with stricter timeouts can end up more expensive than a slightly pricier plan that retries automatically.
Hidden fees to check before you sign up
- Full-page captures: Some providers charge 2x for full-page vs viewport.
- PDF generation: Often billed at 1.5x – 3x the PNG rate.
- Custom viewports or device emulation: Frequently locked behind higher tiers.
- Wait conditions:
wait_for_selectorand JS execution can count as additional render seconds. - Geolocation proxies: Almost always an upcharge, sometimes $0.01+ per shot.
- Caching: If the provider serves from cache, do they count it against your quota? Most do.
Pick the right plan by use case
Open Graph image generation
High cache hit rate, low concurrency needs. Optimize for cheap per-shot cost and aggressive caching. A 1,000–5,000 shot plan usually covers a content site indefinitely if you cache by URL hash. PxShot's predictable per-request pricing works well here because OG images are uniform and don't need exotic features.
Visual regression monitoring
You're capturing the same URLs on a schedule, often with multiple viewports. Look for providers that don't charge extra for viewport variants and offer reliable retries. Compute-time billing punishes you here because monitoring runs are predictable but constant.
PDF invoice or report generation
Volume is usually low but stakes are high. Pay for reliability, not the cheapest tier. Check whether PDFs are billed separately and whether the provider supports header/footer templates without hacks.
Link previews in a chat or social app
Latency matters more than per-shot cost. Pick a provider with edge or multi-region rendering and aggressive shared caching. A $0.001 saving per shot doesn't matter if previews take four seconds to appear.
A quick decision framework
- Estimate monthly volume in delivered screenshots, not requests.
- Multiply by 1.1 to account for retries and failures.
- List required features: full-page, PDF, wait conditions, geolocation.
- For each provider, calculate effective cost per delivered shot with those features enabled.
- Test with 100 real URLs from your application — not the provider's demo URLs.
- Measure p95 latency and failure rate, then divide cost by success rate.
Most teams that do this exercise end up switching providers within 30 days. The pricing page never matches reality.
Try before you commit
Run your top two candidates in parallel for a week. Send the same URLs to both, compare output quality, latency, and failure rate, then make the call. If you want a no-friction starting point, PxShot offers a free tier at pxshot.dev — no credit card, same endpoint for PNG, JPEG, WebP, and PDF, so you can benchmark it against whatever you're using today.