Loading
Loading
Capture websites exactly as users experience them — full-page, scrolling, and dynamic. Generate pixel-perfect screenshots or videos (MP4, GIF, WebM) from any public or protected URL with complete browser control.
Pass the target URL and optional rendering parameters as query strings. The API launches a headless browser, renders the page, and returns a JSON response containing the screenshot URL and metadata. Use the output=image parameter to receive the raw image bytes directly instead.
Pass your API key as the apiKey parameter in every request.
This is version v1.0 of the API.
Pass parameters as query strings appended to the endpoint URL. Only url and apiKey are required — all other parameters are optional with sensible defaults.
urlrequiredStringURL of the website to be rendered as a screenshot or other format.
file_typeoptionalStringdefault: PNGOutput file type. Options: PNG (lossless), JPG (lossy), WebP (modern), PDF (document).
omit_backgroundoptionalBooleandefault: falseRemoves white background and makes it transparent. Only works when file_type is PNG.
destroy_screenshotoptionalBooleandefault: falseIf true, screenshot or PDF is not stored and must be downloaded immediately.
fail_on_erroroptionalBooleandefault: falseIf true, returns an error for 4xx or 5xx responses from the target page.
longitudeoptionalNumberLongitude for browser geolocation simulation.
latitudeoptionalNumberLatitude for browser geolocation simulation.
proxyoptionalStringdefault: Proxy server configuration. Formats: address:port or username:password@address:port.
no_cookie_bannersoptionalBooleandefault: falseBlocks cookie banners during rendering.
block_adsoptionalBooleandefault: falseBlocks advertisements before rendering.
headersoptionalStringdefault: Custom HTTP headers to include when the request is sent before rendering.
cookiesoptionalStringdefault: Cookies to include in the request before rendering.
scroll_to_elementoptionalStringdefault: CSS selector for an element to scroll to before rendering.
selectoroptionalStringdefault: CSS selector for the target element to render. Falls back to full page if not found.
blur_selectoroptionalStringdefault: CSS selectors for elements to blur. Multiple selectors can be added simultaneously.
remove_selectoroptionalStringdefault: CSS selectors for elements to remove while rendering.
cssoptionalStringdefault: Inline custom CSS to inject into the page while rendering.
css_urloptionalStringdefault: URL of external CSS to load into the page while rendering.
jsoptionalStringdefault: Custom JavaScript code to inject while rendering.
js_urloptionalStringdefault: URL of external JavaScript to inject while rendering.
ttloptionalNumberdefault: 2592000Time to live (in seconds) for cache. Controls how long the render stays cached.
user_agentoptionalStringdefault: Custom User-Agent string sent in the request headers.
accept_languagesoptionalStringdefault: en-US,en;q=0.8Accept-Language header to set for the request.
delayoptionalNumberdefault: 0Delay in milliseconds before rendering begins.
thumbnail_widthoptionalNumberThumbnail width in pixels. Defaults to original screenshot size if not set.
outputoptionalStringdefault: jsonRender output type: 'image' or 'json'.
freshoptionalBooleandefault: trueIf true, forces a fresh render. Otherwise uses cached version if available.
enable_cachingoptionalBooleandefault: falseIf true, enables caching of the render for future reuse.
lazy_loadoptionalBooleandefault: falseIf true, scrolls down the page to trigger loading of lazy-loaded content.
full_pageoptionalBooleandefault: falseIf true, captures the entire page (not just the viewport).
retinaoptionalBooleandefault: falseIf true, captures with higher pixel density (2x).
heightoptionalNumberdefault: 867Viewport height in pixels. Max: 4320.
widthoptionalNumberdefault: 1680Viewport width in pixels. Max: 7680.
custom_htmloptionalStringdefault: Custom HTML content to render instead of loading a URL.
block_chat_widgetsoptionalBooleandefault: falsePrevents chat widget scripts and resources from loading.
block_jsoptionalBooleandefault: falsePrevents JavaScript files from loading.
block_stylesheetsoptionalBooleandefault: falsePrevents CSS files from loading.
block_imagesoptionalBooleandefault: falsePrevents image files from loading.
block_mediaoptionalBooleandefault: falsePrevents media files (audio and video) from loading.
block_fontsoptionalBooleandefault: falsePrevents font files from loading.
block_text_trackoptionalBooleandefault: falsePrevents text track files (subtitles, captions) from loading.
block_xhroptionalBooleandefault: falseBlocks XMLHttpRequest (XHR) requests.
block_fetchoptionalBooleandefault: falseBlocks Fetch API requests.
block_event_sourceoptionalBooleandefault: falsePrevents Server-Sent Events (EventSource) connections.
block_web_socketoptionalBooleandefault: falsePrevents WebSocket connections.
block_manifestoptionalBooleandefault: falsePrevents manifest files (.json, .webmanifest) from loading.
block_specific_requestsoptionalStringdefault: Prevents specific requests by URL patterns, separated by comma, space, or newline.
adjust_topoptionalNumberdefault: 0Scroll to a vertical pixel position from top before rendering. Not supported for PDF.
image_qualityoptionalNumberdefault: 80Quality of rendered image for JPG/JPEG output (0–100).
extract_htmloptionalBooleandefault: falseRetrieves raw HTML content as a .html file. Only available when output is JSON.
extract_textoptionalBooleandefault: falseRetrieves plain text content as a .txt file. Only available when output is JSON.
dark_modeoptionalBooleandefault: falseEnables dark mode for websites that support it.
block_trackingoptionalBooleandefault: falsePrevents loading of tracking scripts and analytics services.
wait_for_eventoptionalStringdefault: loadSpecifies when to start rendering. Options: 'load', 'domcontentloaded', 'networkidle'.
grayscaleoptionalNumberdefault: 0Applies grayscale effect from 0 (no effect) to 100 (fully grayscale).
clipoptionalObjectCaptures a specific rectangular area. Includes x, y, width, and height properties.
result_file_nameoptionalStringdefault: Custom name for the output file.
incognito_modeoptionalBooleandefault: falseEnables private browsing mode that doesn't store any browsing data.
timeoutoptionalNumberdefault: 100000Timeout duration in milliseconds for navigation.
Use these additional parameters when capturing scrolling screenshots (video format). Set scrolling_screenshot=true to enable this mode.
scrolling_screenshotrequiredBooleandefault: falseEnables scrolling screenshot mode to capture a video of the webpage.
multiple_scrollingoptionalBooleandefault: falseCaptures multiple scrolling screenshots with different dimensions. Requires the sizes parameter.
sizesoptionalArrayJSON array of objects with width and height for multiple scrolling captures. Required with multiple_scrolling.
file_typeoptionalStringdefault: MP4Output format for scrolling capture. Options: WEBM, MP4, GIF.
scroll_speedoptionalStringdefault: normalSpeed of scrolling during rendering. Options: fast, normal, slow.
durationoptionalNumberDuration of the scrolling action in seconds (0–60).
scroll_backoptionalBooleandefault: falseWhen enabled, page scrolls to bottom then returns to top, creating a loop.
start_immediatelyoptionalBooleandefault: falseStarts recording immediately without waiting for the page to fully load.
A successful request returns a 200 OK response with a JSON object. The core fields are always present; any request parameter passed with a non-default value is echoed back in the response.
screenshotURL of the captured screenshot or video file.
urlThe original URL that was processed.
created_atISO 8601 timestamp when the screenshot was created.
formatOutput format type ('json' or 'image').
ttlISO 8601 expiry timestamp for the screenshot.
sizesDimensions used for multiple scrolling captures. Null if not used.
extracted_htmlURL of extracted HTML file. Present when extract_html=true.
[param_name]Any request parameter passed with non-default value is echoed back in the response.
The API uses standard HTTP status codes to indicate the success or failure of requests. For common status codes like 429 (Too Many Requests), refer to the general API documentation.
Your URL is incorrect
please pass correct parameters
The request took too long to complete. Please try again later.