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

Ready to scale?

Need higher limits, priority rendering, or CI integration?