500 free screenshots/month

Screenshot any website
with one API call

PNG, JPEG, WebP, or PDF. Custom viewports, device emulation, ad blocking, dark mode, and smart caching. Built for developers.

No credit card required

terminal
$ curl "https://app.snap-render.com/v1/screenshot?url=https://github.com" \
    -H "X-API-Key: sk_live_your_key_here" \
    --output screenshot.png

  % Total    % Received
  100  245k  100  245k    0     0   156k      0  0:00:01  0:00:01 --:--:--

$ open screenshot.png   # Done!

Everything you need

One API call to capture any website. Built for developers who need reliable screenshots at scale.

Multiple Formats

PNG, JPEG, WebP, and PDF output. Control quality, viewport size, and full-page capture with simple query params. One endpoint, four formats.

.png .jpeg .webp .pdf

Device Emulation

Capture as iPhone 15 Pro, iPad, Pixel 7, or any custom viewport. Perfect for responsive testing and social previews.

Smart Caching

R2-backed caching with configurable TTL. Cached responses in under 200ms. Skip redundant renders, save time and money.

Ad & Cookie Blocking

Automatically remove ads, cookie consent banners, and GDPR dialogs. Clean screenshots every time, no manual cleanup.

Dark Mode

Capture pages in dark mode with dark_mode=true. One parameter, no extra configuration needed.

SSRF Protected

Enterprise-grade URL validation. Blocks private IPs, localhost, cloud metadata, and internal endpoints. Safe by default.

HTML & Markdown Input

Render raw HTML or Markdown to screenshots via POST. Generate invoices, reports, previews, and documentation images without deploying a page.

Signed URLs

Generate pre-signed URLs that render screenshots without exposing your API key. Embed in emails, documents, or share with third parties. Tamper-proof with automatic expiry.

Learn more

Content Extraction

Extract structured content from any page: Markdown, plain text, HTML, article structure, links, or metadata (OG tags). Powered by headless Chrome with the same ad blocking and stealth patches as screenshots.

Learn more

Batch Screenshots

Submit up to 50 URLs in a single API call. Get presigned download URLs for each result. Failed URLs get credits rolled back automatically. Perfect for bulk monitoring, reporting, and archival workflows.

Webhook Notifications

Get notified when batch jobs complete or quota thresholds are reached. HMAC-SHA256 signed payloads, automatic retries with exponential backoff, and a test endpoint to verify your integration.

Learn more

AI & MCP Ready

Official MCP server for Claude Desktop & Claude Code. Connect instantly via https://app.snap-render.com/mcp (no install needed). Also available as npm package, OpenAPI spec, and JSON response mode for any AI integration.

Remote MCP Local MCP OpenAPI 3.1

Built for your use case

The same powerful API, tailored messaging for your specific workflow.

Integrated across the developer ecosystem

4

Output formats

5

Device presets

<3s

Avg render time

30d

Max cache TTL

Simple to integrate

A single HTTP request is all you need. Works with any language.

curl "https://app.snap-render.com/v1/screenshot?url=https://example.com&format=png" \
  -H "X-API-Key: sk_live_your_key_here" \
  --output screenshot.png

Simple, transparent pricing

Start free. Scale as you grow. No hidden fees.

Free

$0/mo

500 screenshots/mo

  • All features included
  • 10 req/min burst
  • 1-day cache
Get started free

Starter

$9/mo

2,000 screenshots/mo

  • All features included
  • 30 req/min burst
  • 7-day cache
Subscribe
Most popular

Growth

$29/mo

10,000 screenshots/mo

  • All features included
  • 60 req/min burst
  • 30-day cache
Subscribe

Business

$79/mo

50,000 screenshots/mo

  • All features included
  • 120 req/min burst
  • 30-day cache
Subscribe

Scale

$199/mo

200,000 screenshots/mo

  • All features included
  • 200 req/min burst
  • 30-day cache
Subscribe

Trusted by developers

See what teams are building with SnapRender.

"Replaced 200 lines of Puppeteer code with one API call. Cached responses come back in under 100ms. Worth every penny of the $9/month."

J

Jake

Full-stack developer

"We generate 8,000 link previews a day for our social platform. Tried building it ourselves first, spent two weeks fighting Chromium memory leaks. SnapRender just works."

P

Priya

CTO, social bookmarking startup

"The MCP server is a game changer. My Claude agent can actually see what's on a webpage now instead of guessing from the HTML."

@

@coderaft

AI engineer

"Free tier is surprisingly generous. I prototyped my entire thumbnail feature without spending anything. Upgraded to Starter when we launched."

M

Maria

Indie developer

"Batch endpoint saves us hours. We screenshot 50 competitor landing pages every morning for our clients. The webhook pings our Slack when they're done."

D

Dan

Agency developer

"Your review could be here."

Try the free tier. We think you'll like it.

Get started free →

Frequently asked questions

Everything you need to know about SnapRender.

How does the screenshot API work?
Send a GET request with your target URL and API key. SnapRender renders the page in a real Chromium browser, captures the screenshot, and returns the image binary. It's a single HTTP call: no browser setup, no infrastructure to manage.
What formats are supported?
PNG, JPEG, WebP, and PDF. You can control output quality for JPEG and WebP (1–100), and capture full-page scrolling screenshots in any format.
Is there a free plan?
Yes. The free plan includes 500 screenshots per month with all features enabled, no credit card required. All API parameters (device emulation, dark mode, ad blocking, etc.) work on every plan.
How fast are screenshots?
Fresh screenshots typically take 2–5 seconds depending on the target page. Cached screenshots return in under 200ms. Smart caching with configurable TTL means repeated requests are nearly instant.
Do you have SDKs?
Yes. Official SDKs for Node.js, Python, Go, PHP, and Ruby. The API is also a simple REST endpoint that works with any HTTP client.
Can I capture mobile screenshots?
Yes. Use the device parameter with presets like iphone_15_pro, pixel_7, or ipad_pro. This sets the correct viewport, pixel density, user agent, and touch support automatically.
Can AI agents use SnapRender?
Yes. We offer an official MCP server (Model Context Protocol) that lets Claude Desktop and Claude Code capture screenshots natively. Just run npx snaprender-mcp with your API key. We also provide an OpenAPI spec and a response_type=json mode for any AI tool integration.

Ready to get started?

Sign up in 30 seconds. Get your API key instantly. Take your first screenshot.

Create free account
Checking status…