Use case

Visual regression

Byte-identical output for the same request against the same renderer version, so a difference between two runs is a difference in the page rather than in the machine that photographed it.

The problem
Most visual regression noise is not the page. It is a font that loaded differently, an emoji from another platform's sheet, an animation caught mid-frame, or a scrollbar that was there once. You end up either ignoring the diff or maintaining a tolerance nobody trusts.
What we do about it
Pin the renderer version, block the ad networks, hide the carousel, and wait properly — the load event, network idle, every image decoded, the fonts painted, then any delay you ask for. What is left over is the page.

The call

Every response carries the renderer version it was taken with, so a diff can tell you whether the browser moved underneath you.

bash
curl -X POST https://webshotter.com/api/v1/webshots \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "full_page": true, "block": ["ads", "trackers", "consent"], "delay_ms": 500}' \
  -o webshot.png

Other use cases

A diff that means the page changed

Free to start, no card, and one endpoint to learn. The first webshot takes about a minute.