PNG, JPEG, WebP, or PDF. Custom viewports, device emulation, ad blocking, dark mode, and smart caching. Built for developers.
No credit card required
$ 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!
One API call to capture any website. Built for developers who need reliable screenshots at scale.
PNG, JPEG, WebP, and PDF output. Control quality, viewport size, and full-page capture with simple query params. One endpoint, four formats.
Capture as iPhone 15 Pro, iPad, Pixel 7, or any custom viewport. Perfect for responsive testing and social previews.
R2-backed caching with configurable TTL. Cached responses in under 200ms. Skip redundant renders, save time and money.
Automatically remove ads, cookie consent banners, and GDPR dialogs. Clean screenshots every time, no manual cleanup.
Capture pages in dark mode with dark_mode=true. One parameter, no extra configuration needed.
Enterprise-grade URL validation. Blocks private IPs, localhost, cloud metadata, and internal endpoints. Safe by default.
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.
The same powerful API, tailored messaging for your specific workflow.
Preview images for SaaS directories, bookmark tools, and dashboards.
Social cards, OG fallbacks, and chat unfurling when Open Graph fails.
Scheduled captures for compliance evidence, change detection, and archival.
Give your agent eyes on the web. MCP, tool_call, and REST API for agentic workflows.
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
import SnapRender from 'snaprender';
import fs from 'node:fs';
const snap = new SnapRender({ apiKey: 'sk_live_your_key_here' });
const buffer = await snap.capture({ url: 'https://example.com', format: 'png' });
fs.writeFileSync('screenshot.png', buffer);
from snaprender import SnapRender
snap = SnapRender("sk_live_your_key_here")
data = snap.capture("https://example.com", format="png")
with open("screenshot.png", "wb") as f:
f.write(data)
// Add to claude_desktop_config.json
{
"mcpServers": {
"snaprender": {
"type": "streamable-http",
"url": "https://app.snap-render.com/mcp",
"headers": {
"Authorization": "Bearer sk_live_your_key_here"
}
}
}
}
// Then ask Claude: "Take a screenshot of github.com"
// Add to claude_desktop_config.json
{
"mcpServers": {
"snaprender": {
"command": "npx",
"args": ["-y", "snaprender-mcp"],
"env": {
"SNAPRENDER_API_KEY": "sk_live_your_key_here"
}
}
}
}
All features available on every plan. Pass parameters as query strings.
| Parameter | Default | Description |
|---|---|---|
| url | — | URL to screenshot required |
| format | png | Output format: png jpeg webp pdf |
| width | 1280 | Viewport width in px (320–3840) |
| height | 800 | Viewport height in px (200–10000) |
| full_page | false | Capture full scrollable page |
| dark_mode | false | Emulate prefers-color-scheme: dark |
| device | — | Device preset: iphone_14 iphone_15_pro pixel_7 ipad_pro macbook_pro |
| block_ads | true | Block ads and tracking scripts |
| block_cookie_banners | true | Remove cookie consent banners and GDPR dialogs |
| quality | 90 | JPEG/WebP quality (1–100) |
| delay | 0 | Wait ms after page load before capture (max 10000) |
| cache | true | Use cached result if available. Set to false to force a fresh capture |
| hide_selectors | — | Comma-separated CSS selectors to hide |
| response_type | binary | json returns metadata + base64 data URI (recommended for AI agents) |
Add dark_mode=true to capture any site in its dark theme. Works with any site that supports prefers-color-scheme: dark in CSS.
curl "https://app.snap-render.com/v1/screenshot?url=https://github.com&dark_mode=true&format=png" \
-H "X-API-Key: sk_live_your_key_here" \
--output github-dark.png
Use the device parameter to capture as a real device. Sets viewport, pixel density, user agent, and touch support automatically.
curl "https://app.snap-render.com/v1/screenshot?url=https://example.com&device=iphone_15_pro&format=png" \
-H "X-API-Key: sk_live_your_key_here" \
--output mobile.png
All endpoints, parameters, error codes, rate limits, and more.
Everything you need to know about SnapRender.
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.npx snaprender-mcp with your API key. We also provide an OpenAPI spec and a response_type=json mode for any AI tool integration.Sign up in 30 seconds. Get your API key instantly. Take your first screenshot.
Create free account