Product6 min read

Email screenshot API — visual regression for every campaign

Pipe screenshots into your CI. Any template edit gets diffed against the last known good. Broken layouts caught before send.

Marketing teams ship template edits frequently. Engineering teams have visual regression for their product UI and nothing equivalent for email. The screenshot API closes that gap: run a placement test on every template change, diff the rendered output, block the release if something broke.

What the API returns
  • Screenshot URLs per provider (Gmail, Outlook.com, Outlook desktop, Yahoo, Mail.ru, Yandex, iCloud, ProtonMail, GMX).
  • Desktop + mobile viewports.
  • Dark + light variants.
  • Perceptual-hash per image for diffing against the previous run.
  • Placement verdict and auth verdict alongside the screenshot.

CI example (GitHub Actions)

- name: Email visual regression
  run: |
    TOKEN=$(curl -s -X POST https://check.live-direct-marketing.online/api/tests \
      -H "Authorization: Bearer $INBOX_CHECK_TOKEN" \
      -d @template.json | jq -r .token)
    sleep 60
    curl -s https://check.live-direct-marketing.online/api/tests/$TOKEN \
      -H "Authorization: Bearer $INBOX_CHECK_TOKEN" \
      > result.json
    ./scripts/diff-screenshots result.json baseline/

Use cases

  • Every PR that edits email/*.html triggers a regression.
  • Block release if any provider diff > N% perceptual change.
  • Post screenshot diffs as PR comments for designer review.
  • Nightly baseline refresh for accepted templates.

Cost and limits

  • Screenshots are included in the free tier of every placement test.
  • Rate limits: same as normal testing (3/email/24h, 10/IP/24h anonymous; higher with OAuth).
  • For CI scale (10+ runs/day): OAuth-authenticated API with paid tier recommended for priority queueing.
Try the screenshot API

Grab a token and wire up your email CI. Free tier sufficient for most teams.

FAQ

Can I use my own Puppeteer for the desktop Outlook render?

You can, but our rendering worker handles it at scale and you don't want to maintain a Windows CI runner. Included free.

How fast is the screenshot ready after test submission?

30–120 seconds per provider, parallelised.

Is the perceptual hash stable enough for diffing?

pHash + dHash combined; tolerant to small anti-aliasing differences, strict on structural changes. Default threshold tuneable per client.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required