A screenshot API that captures full pages with one request
The Browserless screenshot API captures full-page screenshots, element crops, and viewport images from any URL or HTML payload, with real Chromium rendering, no browser to install, and no infrastructure to maintain.
The formats and capture modes Browserless screenshot API supports
The /screenshot endpoint gives you precise control over what gets captured and how it's returned.
scrollPage: true when the page lazy-loads images as you scroll.html field instead of a URL to render inline HTML directly – useful for generating screenshots of dynamically built content without hosting it first.addScriptTag and addStyleTag to modify the page before capture – hide overlays, set dark mode, or manipulate content before the screenshot is taken.How to take a screenshot with the Browserless API
Three steps, one POST request, and real Chrome doing the rendering.
Get your API token
Sign up for a free Browserless account – no credit card required. Your API token is available immediately in the account dashboard.
Send the request
POST to the /screenshot endpoint with your target URL and options. Swap the host for production-lon or production-ams to render closer to your users. The example below captures a full-page PNG:
Handle the response
The API returns image/png, image/jpeg, or image/webp binary. Save it directly to disk or pass it downstream to your pipeline.
cURL
curl -X POST \
"https://production-sfo.browserless.io/screenshot?token=YOUR_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/",
"options": {
"fullPage": true,
"type": "png"
}
}' \
--output "screenshot.png"Where the Browserless screenshot API goes beyond basic tools
Most screenshot tools work on simple, static pages. Here's where the Browserless screenshot API goes further.
How screenshot tools usually break
Browserless screenshot API
blockConsentModals: true removes cookie banners automaticallyscrollPage: true triggers lazy loading before full-page captureselector parameter crops to any element's bounding box/unblock and stealth options handle most bot-detection defences, including passive CAPTCHAsaddScriptTag and addStyleTag modify the web page before captureHandle cookie banners and dynamic content automatically
Cookie consent overlays, lazy-loaded images, and JavaScript-rendered content break many screenshot pipelines. The Browserless screenshot API is built to handle all three.
"blockConsentModals": true in your request body, and the API dismisses the major consent platforms (OneTrust, CookieBot, and more) before capturing."scrollPage": true to scroll through the page before capture, triggering lazy-loaded images so they appear in full-page screenshots rather than loading as blank placeholders.waitForSelector, waitForFunction, waitForEvent, or a timeout to delay capture until the page reaches the state you need – useful for animated content, late-loading widgets, and dynamic layouts.rejectResourceTypes and rejectRequestPattern to block heavy resources, ads, and third-party tracking scripts before rendering, meaning faster captures and cleaner screenshots with less noise.Use cases for the Browserless screenshot API
Teams use the /screenshot endpoint across a range of production workflows:
Beyond screenshots: the full Browserless REST API
The screenshot endpoint is one of several REST APIs in the Browserless platform. None need a local browser, a WebSocket connection, or an installed automation library – just an HTTP call.
Security & compliance
Screenshot API FAQs
Ready to capture your first page?
Grab a token, paste the cURL call, and you've got a PNG in a few seconds. The free plan includes 1k units a month, no credit card required.