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.