Screenshot API
Screenshot API — Full-page, Element & Multi-device
POST a URL, get a PNG, JPEG or WebP back. Full-page, element-cropped, mobile, tablet or desktop. JS-rendered, anti-bot ready.
- fullPage: true for the whole scroll, or selector: ".price" for a single element.
- Multi-device presets: iphone-15, pixel-8, ipad-pro, desktop-1440.
- Dark-mode and reduced-motion toggles for design-system snapshot tests.
- Returns image directly OR a signed URL for downstream pipelines.
screenshot.shcURL
curl -X POST https://api.browserforhire.com/screenshot \
-H "Authorization: Bearer $BFH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"fullPage": true,
"device": "iphone-15",
"darkMode": true,
"format": "webp",
"quality": 90
}' \
--output example-iphone-dark.webpWhat you get
Pixel-perfect captures
Full-page scroll-stitch, element clipping, transparent backgrounds, dark mode, custom CSS injection.
Real device viewports
Pixel-accurate device emulation including DPR, touch events, user-agent, viewport, and locale.
Pipeline-friendly
Sync (binary response) or async (signed URL + webhook). Uploads directly to your S3 bucket if you want.
FAQ
How is this different from a free Puppeteer screenshot?+
You get JS rendering at scale, anti-bot bypass on protected sites, multi-device presets, signed-URL delivery, and webhook callbacks. No Chrome to manage.
Can I screenshot pages behind a login?+
Yes. Pass session=<id> to reuse an authenticated browser context across calls, or pass cookies inline for one-shot captures.
Ship Chrome to production today.
Free 1,000 credits, no credit card. Drop-in replacement for Browserless.