Skip to main content
Use POST /screenshot to capture a PNG image of any web page without managing a browser. AdsCrawl launches a real Chromium instance, routes the request through a residential proxy, waits for the page to load, and streams the image directly back as a binary PNG response. Screenshots are useful for visual monitoring, AI-powered workflows, research archiving, and automated reporting.

Full-page screenshot

Set fullPage: true to capture the entire scrollable page at the specified viewport width. Use --output with cURL to write the binary response directly to a file.

Element screenshot

Provide a selector to capture only the first matching element. The viewport still controls page layout — only the matched element is cropped from the rendered page.
If the selector you provide doesn’t match any element on the page, the API returns 422 CONTENT_SELECTOR_NOT_FOUND. Check your selector against the live rendered DOM — some elements only appear after JavaScript execution completes.

waitUntil options

The waitUntil field controls when AdsCrawl considers the page ready to capture:
networkidle can time out on pages with persistent connections, analytics beacons, or lazy-loaded infinite scroll content. Prefer load for most screenshot use cases.

Tips

Use countryCode to capture geo-specific page variants. Set "countryCode": "US" to see the US version of a site, or "countryCode": "GLOBAL" to use a randomly selected residential exit node across 15 popular regions.
Set locale and timezoneId together to capture localised pages accurately. For example, "locale": "zh-CN" and "timezoneId": "Asia/Shanghai" render the page as a user in China would see it.

Use cases

Visual monitoring

Schedule periodic screenshots to detect layout regressions or content changes on competitor sites.

AI workflows

Feed screenshots into multimodal LLMs for visual page understanding, UI audits, or content classification.

Research and archiving

Capture a timestamped visual record of pages for compliance, journalism, or market research.

Full request body reference

string
required
Target page URL. Only ports 80 and 443 are supported.
object
Viewport dimensions, e.g. { "width": 1440, "height": 900 }. Controls page layout width; the captured height extends to the full page when fullPage is true.
boolean
Capture the entire scrollable page. Defaults to true. When selector is set, only the matched element is captured.
string
CSS selector for a single element to capture. Returns 422 CONTENT_SELECTOR_NOT_FOUND if no element matches.
"load" | "domcontentloaded" | "networkidle"
Navigation wait condition. Defaults to "load".
string
Managed proxy region. "GLOBAL" picks a dynamic exit from 15 regions. A two-letter code (e.g. "US") prefers a trusted proxy. Cannot be combined with proxy.
string
Browser locale, such as "en-US" or "zh-CN".
string
IANA timezone ID, such as "Asia/Shanghai" or "America/New_York".
cookies[]
Cookie list injected before navigation, useful for capturing authenticated pages.
"random" | "custom"
Set to "random" to have AdsCrawl select a realistic User-Agent. Defaults to "random" when no User-Agent is provided.
number
Navigation timeout in milliseconds. Must be positive and no greater than 3,600,000.