POSThttps://api.deepinfo.com/v1/lookup/screenshot

Same as Screenshot, with the options in a JSON body instead of the query string. Use it when a value is too long for a URL, such as custom_html. The response is the same.

Authentication

Send your API key in the apikey request header.

Request Body

ParameterTypeDescription
urlstring
Required. Web page to capture, e.g. https://www.deepinfo.com. It can be left out only when custom_html is sent.
widthinteger
Browser viewport width, in pixels. Range 100–3000. Default 1366.
heightinteger
Browser viewport height, in pixels. Range 100–3000. Default 768.
full_pageboolean
Capture the whole page, not only the visible viewport. Default false.
mobileboolean
Emulate a mobile device. The viewport then defaults to 360 × 740. Default false.
landscapeboolean
Emulate landscape orientation. Default false.
touchscreenboolean
Emulate a touch screen. Default false.
retinaboolean
Render at twice the pixel density for a sharper image. Ignored when scale is set. Default false.
scalenumber
Device pixel ratio: how many screen pixels draw one CSS pixel. Range 0.5–4.
image_outputjpeg | png
Image format. Default jpeg.
qualityinteger
JPEG quality. Used only when image_output is jpeg. Range 0–100.
thumbnail_widthinteger
Resize the image to this width, keeping the aspect ratio. Must not be larger than the screenshot width. Minimum 50.
modefast | slow
fast captures as soon as the HTML document has loaded (domcontentloaded); slow waits until network activity stops. Default fast.
timeoutinteger
Maximum time to wait for the page to load, in milliseconds. Range 0–90000. Default 30000.
delayinteger
Extra wait after the page has loaded, in milliseconds, before the screenshot is taken. Maximum 30000. Default 0.
lazy_loadboolean
Scroll through the whole page first, so that lazy-loaded images are rendered. Default false.
block_adsboolean
Block advertisements. Default false.
no_cookie_bannersboolean
Hide cookie consent banners. Default false.
no_jsboolean
Disable JavaScript on the page. Default false.
selectorstring
CSS selector of one element, e.g. body > .container > .logo. When it matches, only that element is captured.
scroll_to_elementstring
CSS selector of an element to scroll to before the screenshot, e.g. body > .footer.
accept_languagesstring
Browser Accept-Language value. Default en-US.
latitudenumber
Latitude reported by the browser's Geolocation API. Requires longitude. Range -80–80.
longitudenumber
Longitude reported by the browser's Geolocation API. Requires latitude. Range -180–180.
user_agentstring
Browser user agent string.
cookiesstring
Cookies to set in the browser, e.g. name1=value1; name2=value2.
headersstring
Extra request headers, e.g. Header-1:value1; Header-2:value2.
cssstring
CSS code to inject into the page, e.g. h1 { color: red }.
css_urlstring
URL of a stylesheet to inject into the page.
custom_htmlstring
HTML to render instead of loading url.
proxystring
Proxy to load the page through, in the form user:password@host:port.
application/json
{
  "url": "https://www.deepinfo.com",
  "width": 1366,
  "height": 768,
  "full_page": false
}

Response Fields

FieldDescription
url
The requested URL
redirected_url
The URL the browser ended up on after redirects
screenshot_url
Link to the image (JPEG, or PNG with image_output=png). It is a signed link that expires after 7 days: download the image if you need to keep it
connection_status
success when the page was loaded
check_date
When the screenshot was taken (UTC)

Response Schema

Inferred from examples Built from the saved 2xx example response: the fields it contains, with the types seen there. It is not a contract.

FieldTypeExample
urlstring"https://www.deepinfo.com"
redirected_urlstring"https://www.deepinfo.com/"
check_datestring"2026-09-23T14:45:06.078Z"
connection_statusstring"success"
screenshot_urlstring"https://diss-999.storage.googleapis…"

Errors

400 (10400) if url is missing or invalid (and no custom_html is sent), or an option is out of range. The validation error currently names the parameter domain, although the request parameter is url (see the example). 500 for an unexpected error. 503 means the service is busy or out of memory: retry shortly. See Getting Started → Errors.

Examples

Saved examples from the Deepinfo API. Selecting one loads it into the request and response panels.

Reference updated