SnapStream API — v3.2 now live with WebP & PDF support
Programmatic Screenshots at Scale
Capture pixel-perfect screenshots of any URL in under 400 ms. Built for developers who need reliability, concurrency, and zero infrastructure to maintain.
No credit card required · 10 req/s included · SOC 2 Type II compliant
Why developers choose SnapStream
Everything you need to screenshot at production scale
From onboarding flows to visual regression pipelines, SnapStream handles the heavy lifting so your team can focus on product — not Puppeteer clusters.
⚡ Sub-Second Rendering
Average response time of 380 ms for standard viewport captures. Our edge-rendering fleet spans 14 regions so your screenshots are served from the nearest node.
🔀 1,000+ Concurrent Requests
Burst-friendly queue with intelligent back-pressure. No rate-limit surprises — our async pipeline absorbs traffic spikes without dropping a single request.
🖼️ PNG, JPEG, WebP & PDF
Return screenshots in any format your downstream services expect. PDF exports include full-page renders with correct pagination and print stylesheets.
🌐 Full-Page & Viewport Modes
Capture the entire scrollable document or a fixed viewport dimension. Set custom widths — from 320 px mobile to 3840 px ultrawide — in a single query parameter.
🎭 Custom User-Agents & Headers
Pass arbitrary HTTP headers, cookies, or user-agent strings to render pages exactly as your target audience sees them. Useful for mobile-specific layouts and A/B test URLs.
🔄 Automatic Retry & Error Handling
Built-in retry logic with exponential back-off for flaky resources. Structured error responses include the failed HTTP status, console logs, and a partial screenshot when available.
Trusted by engineering teams worldwide
Numbers that speak for themselves
2.4 Billion
Screenshots served since launch in February 2022
99.97 %
Uptime SLA measured over the last 12 months
380 ms
Average latency for viewport captures on the US-East edge
12,840
Active developer accounts across 63 countries
"We replaced a three-node Puppeteer cluster with a single SnapStream API call. Our screenshot pipeline went from 45 seconds per URL to under 500 ms, and we cut our infrastructure bill by $3,200 a month."
— Priya Nair, Staff Engineer at Brightly (YC S21)
Developer experience
One API call. That's it.
No Docker containers to orchestrate. No headless Chrome to keep patched. Just a REST endpoint that returns a screenshot or a clear error.
curl -X POST "https://api.snapstream.io/v3/capture" \
-H "Authorization: Bearer sk_live_7f3a9c..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://docs.snapstream.io",
"viewport": { "width": 1440, "height": 900 },
"format": "png",
"fullPage": false,
"wait": 1200
}'
# → 200 OK · body: binary PNG image · 347 ms
SDKs available for Node.js, Python, Go, Ruby, and PHP. Webhook support for async captures of heavy single-page apps. All responses include a request_id for traceability.
What our customers say
"SnapStream's PDF export saved us from maintaining a separate wkhtmltopdf service. The print stylesheets render flawlessly and the pagination is exactly what we need for invoice generation."
— Marcus Chen, CTO at LedgerStack
"We run visual regression tests across 14,000 URLs nightly. SnapStream handles the concurrency without breaking a sweat — P99 latency stays under 800 ms even during peak runs."
— Anika Johansson, QA Lead at FigmaScale
"The webhook feature is a game-changer for our onboarding previews. We trigger captures for 200+ landing pages in parallel and get callbacks within seconds."
— David Okonkwo, Head of Growth at Parcelly
Frequently asked questions
What's included in the free tier?
5,000 screenshots per month, 10 requests per second, PNG and JPEG formats, and standard viewport capture. No credit card required to sign up. Free-tier accounts are rate-limited but never hard-capped — you'll get a polite 429 with a Retry-After header instead.
How does pricing scale?
After the free tier, plans start at $29/mo for 50,000 screenshots with 30 req/s. Volume pricing kicks in at 500,000+ captures/month — most enterprise customers pay around $0.002 per screenshot. Custom SLAs and dedicated rendering nodes are available on request.
Which browsers do you render with?
All captures use Chromium 124+ with up-to-date WebKit engines for CSS compatibility. We update our browser binaries weekly and maintain a Canary fleet for early adopters who need cutting-edge rendering.
Can I capture behind authentication?
Yes. Pass cookies, custom headers, or use our cookie-injection endpoint to authenticate before rendering. Many customers use this to capture user dashboards, admin panels, and protected SaaS interfaces.
What happens if a page fails to load?
SnapStream retries up to 3 times with exponential back-off. If the page still fails, you receive a structured JSON error with the HTTP status, console logs, and — when possible — a partial screenshot of whatever rendered. You can customize retry counts and timeout thresholds per request.
Do you store my screenshots?
Screenshots are streamed directly to your application and are not persisted on our servers. Optional blob storage (S3 or GCS) is available via webhook delivery. All data is encrypted in transit with TLS 1.3 and at rest with AES-256.
Ready to get started?
Stop managing headless browsers. Start shipping.
Join 12,840 developers who capture screenshots in milliseconds with zero infrastructure overhead. Your first 5,000 screenshots every month are free — forever.
SOC 2 Type II · GDPR compliant · 99.97% uptime SLA