BuildE2EBuildE2E
DocsStart Free
SandboxesScreenshot
Screenshot Endpoint

Screenshot

Capture full-page or element-level screenshots of any webpage. Handles JavaScript rendering, anti-bot protection, and dynamic content automatically. Returns a public image URL.
POST/v1/screenshot
Capture a screenshot of a webpage. Supports full-page capture, element-specific capture, custom viewport sizes, and browser actions before capture.

Request Body

ParameterTypeDescription
urlrequired
stringURL to capture
fullPage
booleanCapture full scrollable page. Defaults to true
selector
stringCSS selector to capture a specific element
width
numberViewport width (320-3840). Defaults to 1920
height
numberViewport height (240-2160). Defaults to 1080
waitFor
numberExtra wait time in ms after page load
actions
Action[]Browser actions to execute before capture
proxy
{ country: string }Geo-targeted proxy by country code

Example Request

curl -X POST https://api.builde2e.com/api/v1/screenshot \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer uc-YOUR-API-KEY' \
  -d '{
    "url": "https://example.com",
    "fullPage": true,
    "width": 1920,
    "height": 1080
  }'

Example Response

json
{
  "success": true,
  "url": "https://storage.builde2e.com/screenshots/1706745600000-screenshot.png",
  "sourceUrl": "https://example.com",
  "width": 1920,
  "height": 4320,
  "timestamp": "2025-02-03T10:15:30.123Z",
  "cost": 0.003
}

Response Fields

FieldTypeDescription
successbooleanWhether the screenshot was successful
urlstringPublic URL of the captured screenshot image
sourceUrlstringThe original URL that was captured
widthnumberWidth of the captured image in pixels
heightnumberHeight of the captured image in pixels
costnumberCost of the request in USD
errorstringError message if screenshot failed
timestampstringISO timestamp when capture completed

Element Screenshot

Use the selector parameter to capture a specific element on the page instead of the full viewport.
Node.js
const result = await BuildE2E.screenshot({
  url: 'https://example.com/dashboard',
  selector: '.chart-container',
  width: 1280,
  height: 720
});

Screenshot with Actions

Execute browser actions before taking the screenshot. Useful for toggling UI states, dismissing modals, scrolling to specific content, or interacting with the page before capture.
Node.js
const result = await BuildE2E.screenshot({
  url: 'https://example.com/app',
  actions: [
    { type: 'click', selector: '#dark-mode-toggle' },
    { type: 'wait', milliseconds: 500 },
    { type: 'scroll', direction: 'down' }
  ],
  fullPage: false,
  width: 1440,
  height: 900
});

Pricing

Flat per-screenshot pricing. The cost is returned in each response.
OperationCost (USD)Description
Screenshot$0.003 per screenshotFlat rate per capture (~$3.00 per 1000)