Visual regression without the test suite

Catch UI regressions on
every preview URL.

Point SnapDiff at your Vercel preview, staging URL, or any two pages — get a pixel diff in seconds. No Storybook, no test runner, no install. HTTP API plus an MCP server for Claude Code, Cursor, and Windsurf.

Start Free → See it diff a live PR →
curl — snapdiff api
$ curl -X POST https://api.snapdiff.ai/v1/diff \
  -H "X-API-Key: sd_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "before": "https://myapp.com",
    "after": "https://staging.myapp.com",
    "threshold": 0.1
  }'
Response — 200 OK • 4.2s
{
  "match": false,
  "diff_percentage": 3.42,
  "diff_pixel_count": 12847,
  "diff_image_url": "https://cdn.example.com/...",
  "changed_regions": [{ "label": "region_1", ... }],
  "duration_ms": 4210
}

How it works

Three steps. Two minutes. No SDK, no CI/CD, no onboarding call.

1

Get an API Key

Sign up and get your sd_live_ key instantly. No credit card required on the free plan.

2

Point at a preview URL

Vercel, Netlify, Cloudflare Pages, your staging box, or any HTTPS URL. SnapDiff captures it, stores a baseline, and diffs every subsequent change. No tests to write.

3

Get the diff

Receive diff percentage, highlighted diff image, and bounding boxes of every changed region.

From API calls to a full regression testing platform

Baselines, builds, and PR checks. The complete visual regression workflow, accessible from any CI runner.

1

Create a project

Group related pages under one project. Each project tracks baselines per branch.

POST /v1/projects
2

Run builds from CI

Drop our GitHub Action into your workflow. Each PR triggers a build that diffs your pages against stored baselines.

snapdiff/action@v1
3

Review & approve

Intentional changes? Approve them and baselines update. Regressions? Reject and block the merge. Full PR status integration.

POST /v1/projects/:id/builds/:bid/approve
.github/workflows/visual-test.yml
name: Visual Regression Test
on: pull_request
 
jobs:
  visual-test:
    runs-on: ubuntu-latest
    steps:
      - uses: snapdiff/action@v1
        with:
          api-key: ${{ secrets.SNAPDIFF_API_KEY }}
          project: my-site
          pages: |
            homepage=https://staging.myapp.com/
            pricing=https://staging.myapp.com/pricing
On your PR
SnapDiff Visual Test — 2 of 5 pages changed
Review in dashboard →

Built for developers

Everything you need to compare pages visually. Nothing you don't.

POST /v1/diff

Send two URLs, get back a diff percentage + highlighted diff image. No test suite, no CI/CD pipeline. One HTTP request.

POST /v1/watch

Monitor any URL on a cron schedule. Get webhooks when it changes visually beyond your threshold. Set-and-forget.

MCP Server

AI coding agents (Claude Code, Cursor, Windsurf) can verify UI changes without opening a browser. One tool call replaces a manual review pass.

Flat-Rate Pricing

Predictable monthly plans from $19/mo. No per-screenshot billing, no annual contracts, no sales calls. Self-serve from day one.

Cookie & Ad Blocking

Auto-hides 40+ cookie consent banners, 20+ chat widgets, and blocks 30+ ad/tracker domains. Clean screenshots every time.

Pixel-Perfect Comparison

Powered by pixelmatch with antialiasing detection, configurable thresholds, ignore regions, and CSS selector masking.

Try it live

See SnapDiff catch real changes between two pages. No signup required.

POST /v1/diff
Quick demos:
This demo compares two versions of a SaaS landing page with 6 deliberate changes: headline ("Launch" → "Ship"), CTA button color & text, price increase ($29 → $39), new "Popular" badge, and a different testimonial.
Diff
Pixels Changed
Duration
Diff overlay showing changed regions highlighted in red
Before screenshot
After screenshot
Before
After After
Before

        

Simple, transparent pricing

Diffs are the product. Screenshots are just infrastructure.

Free

Evaluate the API

$0/mo
  • 200 diffs / month
  • 2,000 screenshots / month
  • 0 watchers
  • 10 req/min
Get Started

Dev

Solo developers

$19/mo
  • 1,000 diffs / month
  • 5,000 screenshots / month
  • 3 watchers
  • 30 req/min
  • MCP server access
Start Free Trial

Team

Multiple projects

$119/mo
  • 20,000 diffs / month
  • 60,000 screenshots / month
  • 50 watchers
  • 300 req/min
  • MCP server access
Start Free Trial

Scale

Agencies & platforms

$299/mo
  • 100,000 diffs / month
  • 300,000 screenshots / month
  • 200 watchers
  • 1,000 req/min
  • MCP server access
Contact Sales

Overage: $0.01/diff, $0.002/screenshot beyond included. Diff screenshots don't count against your screenshot quota.

Start comparing in 2 minutes

Get an API key, make one POST request, see the diff.
No test suite. No CI/CD. No onboarding call.