Screenshots in seconds.
No signup.
A deterministic screenshot API built for developers.
Start free with a simple URL, then scale to CI checks when you need them.
No signup to start10 screenshots/day freeBuilt-in SSRF protection
<img src="https://snap.i2dev.com/v1/screenshot?url=https://example.com&width=1280" />Public image URL outputEmbeds directly in docs, issues, and dashboards.
Deterministic renderingStable browser + font environment for less visual drift.
CI-ready upgrade pathMove from quick snapshots to PR screenshot checks.
🎯 Deterministic
Pinned browser versions and fonts. Same input, same output, every time.
âš¡ Fast & Free
10 screenshots/day for free. No account needed. Just link and go.
🔒 Secure by Default
SSRF-hardened. We block private IPs and validate URLs so you don't have to.
Works with your stack
bash
# Direct image (no auth needed for free tier)
curl "https://snap.i2dev.com/v1/screenshot?url=https://github.com" > github.png
# JSON API (with API key)
curl -X POST https://snap.i2dev.com/v1/screenshots \
-H "Authorization: Bearer YOUR_KEY" \
-d '{"url": "https://example.com"}'Visual regression in your CI
Add visual regression to your PRs with snapdrift — free and open source. Upgrade to Snap for hosted baselines and Lambda rendering.
json
// .github/snapdrift.json
{
"baselineArtifactName": "my-app-snapdrift-baseline",
"baseUrl": "http://127.0.0.1:3000",
"routes": [
{ "id": "home-desktop", "path": "/", "viewport": "desktop" },
{ "id": "home-mobile", "path": "/", "viewport": "mobile" }
],
"diff": { "threshold": 0.01, "mode": "report-only" }
}yaml
# .github/workflows/visual.yml
- name: SnapDrift Report
uses: ranacseruet/snapdrift/actions/pr-diff@v0.2.1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
repo-config-path: .github/snapdrift.json