Browser Snapshot API
Send a website URL and receive a PNG screenshot URL backed by Cloudflare Browser Rendering and R2.
Endpoint
POST
/snapshotAuthentication
Pass your API key with each request. To request access, contact the team at hello@w3dev.app.
Authorization: Bearer <api-key>
Request
{
"url": "https://nexvio.ai"
}
Optional query flags on POST /snapshot (body unchanged):
full=1— full-page screenshot (screenshotOptions.fullPage)width/height— viewport size (also accepts typowidht)scaleordpr—deviceScaleFactorfor sharper PNGs (e.g.2)waitordelay—waitForTimeoutafter page load (default 3s, max 5s)selector— wait for element before capture (e.g.[data-aeo-snapshot-ready])selectorTimeout— max wait for selector (ms, default 90s)
With full=1, viewport defaults to 1280×1080 @ 2× scale. Without query flags, only url is sent (Cloudflare default viewport).
Example curl
curl -X POST "https://browser.w3dev.app/snapshot" \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/json" \
-d '{"url":"https://nexvio.ai"}'
curl -X POST "https://browser.w3dev.app/snapshot?full=1&width=1280&scale=2" \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/json" \
-d '{"url":"https://nexvio.ai"}'
Response
{
"key": "nexvio.ai/2026-05-02T08-30-00.000Z-uuid.png",
"url": "https://browser.w3dev.app/screenshots/nexvio.ai/2026-05-02T08-30-00.000Z-uuid.png"
}
Live test
Enter a URL and your API key to call the endpoint directly from your browser.