Viscout REST API Reference · v1

Developer API Documentation

Automated screenshot captures, PDF generation, parallel batches, scrolling video reels, LLM Markdown extraction, signed URLs, and regression diffs.

POST/api/v1/captureVisual Capture

Advanced Screenshot Capture

High-resolution headless Chromium snapshot rendering.

HiDPI RetinaFull Page ScrollDark ModeSelector CropPopup Auto-DismissCustom JS/CSS

Captures standard, HiDPI Retina (2×), or full-height scrollable screenshots from any public URL or raw HTML string. Features automatic cookie banner dismissal, element blurring, CSS/JS injection, custom viewports, and transparent backgrounds.

curl -X POST "http://localhost:3000/api/v1/capture" \
  -H "Authorization: Bearer sk_live_snap_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://stripe.com/pricing",
    "fullPage": true,
    "darkMode": true,
    "retina": true,
    "format": "webp",
    "quality": 85
  }' --output stripe.webp
HTTP 200 OK Response Preview
Headers & Payload
// HTTP 200 OK
// Content-Type: image/webp
// Content-Disposition: inline; filename="snapshot.webp"
// X-Execution-Ms: 1240
// X-RateLimit-Remaining: 59
<Binary WebP Image Stream>

Request Parameters (17)

JSON Body or Query String
ParameterTypeRequiredDefaultDescription
urlstringoptional—Target website URL to capture (required if html is not provided)
htmlstringoptional—Raw HTML string to render directly without navigating a URL
selectorstringoptional—CSS selector to crop snapshot directly to a specific DOM node
fullPagebooleanoptionaltrueCapture the complete scrollable page height
formatstringoptional'webp''webp' | 'png' | 'jpeg' | 'pdf' | 'base64' | 'json'
qualitynumberoptional80Image quality compression level between 1 and 100
viewportobjectoptional{ width: 1440, height: 900 }Custom browser viewport dimensions { width, height }
darkModebooleanoptionalfalseEmulates prefers-color-scheme: dark
retinabooleanoptionalfalseEmulates 2× device pixel ratio (HiDPI)
lazyLoadbooleanoptionalfalseScrolls page to bottom before capture to trigger deferred images
blockPopupsbooleanoptionaltrueAutomatically dismisses cookie consent modals and subscription popups
delaynumberoptional0Additional wait duration in milliseconds after DOM ready
waitForSelectorstringoptional—Pauses capture until this CSS selector renders in the DOM
blurSelectorsstring[]optional—List of CSS selectors to apply Gaussian blur to (e.g. sensitive customer data)
removeSelectorsstring[]optional—List of CSS selectors to remove/hide from the DOM prior to snapshot
omitBackgroundbooleanoptionalfalseRenders with transparent background (PNG/WebP)
cookiesstringoptional—Inject session cookies formatted as 'name=val; name2=val2'