Website Screenshot
URL to PNG, JPEG, PDF
Example request
curl -X POST https://radarbg.com/v1/website-screenshot-api \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"urls": ["https://apify.com", "https://en.wikipedia.org/wiki/Screenshot", "https://www.python.org"], "device": "desktop", "fullPage": true, "format": "png"}'
Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.
Inputs
| Field | Type | Description |
|---|---|---|
urls | array | Public web pages to capture, one URL per entry (http or https; a bare domain like example.com also works). Login pages and private network addresses are not supported. |
device | string | Viewport preset: desktop 1366x768, desktop-hd 1920x1080, laptop 1280x800, tablet 820x1180 (2x), mobile 390x844 (3x, touch). The real Chromium browser is used for all of them. |
fullPage | boolean | Capture the whole scrollable page (up to Max height). Off = only the visible viewport, like a thumbnail. |
format | string | PNG (lossless), JPEG (smaller files, set JPEG quality) or PDF (one long page with backgrounds). |
jpegQuality | integer | Only for JPEG: 10-100. Lower = smaller file. |
viewportWidth | integer | Optional. Overrides the device preset width (320-3840). 0 = use the preset. |
viewportHeight | integer | Optional. Overrides the device preset height (240-2160). 0 = use the preset. |
maxHeight | integer | Full-page captures are cut at this height (very long pages make huge files). The truncated flag tells you when this happened. |
waitUntil | string | When the page counts as loaded: load (default), domcontentloaded (fastest), networkidle (no network for 500 ms, best for heavy JavaScript apps). |
delayMs | integer | Wait this long after loading before the capture (animations, charts, fonts). 0-30000. |
waitForSelector | string | Optional. Wait until this element is visible before the capture, for example #main or .chart-ready. |
elementSelector | string | Optional CSS selector. When set, only the first matching element is captured (PNG/JPEG), for example header, #pricing or .product-card. |
hideCookieBanners | boolean | Hide common cookie/consent popups (OneTrust, Cookiebot, Usercentrics, Didomi, Quantcast and more) with CSS so they do not cover the page. Nothing is clicked or accepted. |
hideSelectors | array | Optional CSS selectors to hide before the capture (chat widgets, sticky headers, ads), one per entry. |
Price
Included in every plan: 100 calls a month free, then from €9 a month for 3,000 calls across all APIs.