All options
Every public parameter, its type, default and limits.
142 parameters. Unknown parameters are rejected with request_not_valid rather than silently ignored, so a typo fails immediately instead of producing a subtly wrong capture.
Essentials
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | Public HTTP or HTTPS URL to capture. |
html | string | — | Inline HTML to render instead of a URL. POST only. |
markdown | string | — | Inline Markdown rendered through a deterministic template. POST only. |
format | enum | jpg | Output format. Defaults to `jpg` on /take and `mp4` on /animate. png · jpeg · jpg · webp · gif · jp2 · tiff · avif · heif · pdf · html · markdown · text · mp4 · mov · avi · webm |
response_type not cached | enum | by_format | How the result is returned: raw bytes, a JSON envelope, or an empty acknowledgement. by_format · json · empty |
selector | string | — | Capture only the element matching this CSS selector. |
selector_algorithm | enum | default | How the element is captured: `default` uses the browser element API, `clip` converts the bounding box into a clip rectangle. The selector is always CSS. default · clip |
selector_scroll_into_view | boolean | true | Scroll the selected element into view before capturing. |
capture_beyond_viewport | boolean | true | Allow the capture to extend past the viewport bounds. |
scroll_into_view | string | — | Scroll this selector into view before capturing the viewport. |
scroll_into_view_adjust_top | integer -10000–10000 | 0 | Pixel offset applied after `scroll_into_view`, to clear sticky headers. |
request_gpu_rendering gpu | boolean | false | Route the job to the GPU-backed pool. |
include_shadow_dom | boolean | false | Traverse open shadow roots when resolving selectors and serializing HTML. |
attachment_name not cached | string | — | Sets Content-Disposition so browsers download the result under this name. |
external_identifier not cached | string | — | Your own correlation id, echoed in logs, JSON responses and webhooks. |
| Parameter | Type | Default | Description |
|---|---|---|---|
pdf_print_background | boolean | false | Print CSS backgrounds. |
pdf_fit_one_page | boolean | false | Fit the whole document onto a single custom-sized page. |
pdf_landscape | boolean | false | Landscape orientation. |
pdf_paper_format | enum | — | Paper size. Ignored when `pdf_fit_one_page` is set. a0 · a1 · a2 · a3 · a4 · a5 · a6 · letter · legal · tabloid · ledger |
pdf_margin | number 0–10 | — | Margin on all sides, in inches. |
pdf_margin_top | number 0–10 | — | Top margin in inches. Overrides `pdf_margin`. |
pdf_margin_right | number 0–10 | — | Right margin in inches. |
pdf_margin_bottom | number 0–10 | — | Bottom margin in inches. |
pdf_margin_left | number 0–10 | — | Left margin in inches. |
Vision
| Parameter | Type | Default | Description |
|---|---|---|---|
openai_api_key secret | string | — | Your own OpenAI key. Used once, never stored, redacted from every log. |
vision_prompt | string | — | Prompt sent along with the rendered image. |
vision_max_tokens | integer 1–4096 | 512 | Token ceiling for the vision response. |
Clip
| Parameter | Type | Default | Description |
|---|---|---|---|
clip_x | integer 0–100000 | — | Clip origin X, in CSS pixels. On /animate this applies to GIF only. |
clip_y | integer 0–100000 | — | Clip origin Y, in CSS pixels. On /animate this applies to GIF only. |
clip_width | integer 1–100000 | — | Clip width, in CSS pixels. On /animate this applies to GIF only. |
clip_height | integer 1–100000 | — | Clip height, in CSS pixels. On /animate this applies to GIF only. |
Full page
| Parameter | Type | Default | Description |
|---|---|---|---|
full_page | boolean | false | Capture the entire scrollable document. |
full_page_scroll scrolling screenshots | boolean | false | Scroll through the page first so lazy content loads. |
full_page_scroll_delay | integer 0–10000 | 400 | Milliseconds to wait after each scroll step. |
full_page_scroll_by | integer 0–20000 | 0 | Pixels per scroll step. 0 uses the viewport height. |
full_page_max_height | integer 1–60000 | — | Stop the capture at this document height. |
full_page_slices | boolean | false | Return the page as several stitched slices instead of one image. |
full_page_slice_height | integer 1–16000 | 4000 | Height of each slice. |
full_page_slice_overlap_height | integer 0–2000 | 0 | Overlap between consecutive slices. |
full_page_algorithm | enum | default | Full-page strategy: one capture of the whole document, or section-by-section for very tall pages. default · by_sections |
Viewport and device
| Parameter | Type | Default | Description |
|---|---|---|---|
viewport_device | string | — | Device preset id. Sets width, height, scale, touch, mobile and user agent together. |
viewport_width | integer 50–7680 | 1280 | Viewport width in CSS pixels. |
viewport_height | integer 50–7680 | 1024 | Viewport height in CSS pixels. |
device_scale_factor | number 1–5 | 1 | Pixel density multiplier (2 = retina). |
viewport_mobile | boolean | false | Emulate a mobile browser. |
viewport_has_touch | boolean | false | Advertise touch support. |
viewport_landscape | boolean | false | Swap width and height of the selected device preset. |
Image
| Parameter | Type | Default | Description |
|---|---|---|---|
image_quality | integer 1–100 | 80 | Encoder quality for lossy formats. |
image_width | integer 1–20000 | — | Resize output width. Aspect ratio is preserved when height is omitted. |
image_height | integer 1–20000 | — | Resize output height. |
omit_background | boolean | false | Render with a transparent background where the format supports alpha. |
Emulation
| Parameter | Type | Default | Description |
|---|---|---|---|
dark_mode | boolean | false | Emulate `prefers-color-scheme: dark`. |
reduced_motion | boolean | false | Emulate `prefers-reduced-motion: reduce`. |
media_type | enum | screen | CSS media type to emulate. screen · print |
Page customization
| Parameter | Type | Default | Description |
|---|---|---|---|
hide_selectors | string[] | — | Selectors to hide before capturing. |
scripts | string[] | — | JavaScript executed in the page context, in order. |
scripts_wait_until | enum | load | Navigation state to reach before running scripts. load · domcontentloaded · networkidle |
styles | string[] | — | CSS injected into the page. |
click | string | — | Selector clicked before capturing. |
hover | string | — | Selector hovered before capturing. |
error_on_selector_not_found | boolean | false | Fail when the capture, hide or wait selector does not match, instead of skipping it. |
error_on_click_selector_not_found | boolean | true | Fail when the `click` selector does not match. |
error_on_hover_selector_not_found | boolean | true | Fail when the `hover` selector does not match. |
bypass_csp | boolean | false | Bypass the page Content Security Policy. Opt-in and recorded. |
Blocking
| Parameter | Type | Default | Description |
|---|---|---|---|
block_cookie_banners | boolean | false | Remove consent banners using known rules. |
block_banners_by_heuristics | boolean | false | Also try a heuristic pass for banners with no known rule. |
block_chats | boolean | false | Remove live chat widgets. |
block_ads | boolean | false | Block ad networks. |
block_trackers | boolean | false | Block analytics and tracking requests. |
block_requests | string[] | — | Glob patterns or domains to block. |
block_resources | string[] | — | Resource types to block. document · stylesheet · image · media · font · script · texttrack · xhr · fetch · eventsource · websocket · manifest · other |
Geolocation
| Parameter | Type | Default | Description |
|---|---|---|---|
geolocation_latitude | number -90–90 | — | Latitude reported to the Geolocation API. |
geolocation_longitude | number -180–180 | — | Longitude reported to the Geolocation API. |
geolocation_accuracy | number 0–100000 | — | Accuracy in metres. |
Request and context
| Parameter | Type | Default | Description |
|---|---|---|---|
ip_country_code ip location | enum | — | Country the managed proxy pool exits from. The catalog is served at /v1/regions. us · ca · mx · br · pe · gb · ie · is · de · fr · it · es · cn · jp · kr · in · au · nz |
proxy secret | string | — | Your own proxy, as `http://user:pass@host:port`. |
proxy_bypass_hosts | string[] | — | Hosts that skip the proxy. |
user_agent | string | — | Custom User-Agent header. |
authorization secret | string | — | Authorization header sent to the target. |
cookies secret | string[] | — | Cookies as `name=value; Domain=…; Path=…` strings. |
headers secret | string[] | — | Extra request headers as `Name: value` strings. |
time_zone | string | UTC | IANA time zone for the browser context. |
Navigation and waiting
| Parameter | Type | Default | Description |
|---|---|---|---|
wait_until | enum | load | Navigation state to wait for. `networkidle0` waits for zero in-flight requests, `networkidle2` for at most two. load · domcontentloaded · networkidle0 · networkidle2 |
delay | integer 0–30 | 0 | Extra seconds to wait after the navigation state. |
timeout | integer 1–90 | 60 | Total budget for the capture, in seconds. |
navigation_timeout | integer 1–30 | 30 | Budget for navigation alone, in seconds. |
wait_for_selector | string | — | Wait until this CSS selector appears. |
wait_for_selector_algorithm | enum | at_least_one | How many nodes satisfy the wait: the first visible match, or every match currently rendering. The selector is always CSS. at_least_one · at_least_by_count |
Cache
| Parameter | Type | Default | Description |
|---|---|---|---|
cache not cached | boolean | false | Serve and store this capture from the cache. Cache hits are never charged. |
cache_ttl not cached | integer 14400–2592000 | 14400 | Cache lifetime in seconds. Minimum and default 4 hours, maximum 30 days. |
cache_key not cached | string | — | Custom cache key, scoped to your organization. |
Storage
| Parameter | Type | Default | Description |
|---|---|---|---|
store not cached | boolean | false | Upload the result to your own bucket. |
storage_config_id not cached | string | — | Use a storage configuration saved in the dashboard instead of inline credentials. |
storage_path not cached | string | — | Object key template. Supports {request_id}, {timestamp}, {external_identifier}, {format}, {organization_id}. |
storage_endpoint not cached | string | — | S3-compatible endpoint. |
storage_access_key_id secretnot cached | string | — | Access key id for the destination bucket. |
storage_secret_access_key secretnot cached | string | — | Secret access key for the destination bucket. |
storage_bucket not cached | string | — | Destination bucket. |
storage_class not cached | string | — | Storage class applied to the uploaded object. |
storage_acl not cached | string | — | ACL applied to the uploaded object. |
storage_return_location not cached | boolean | false | Include the stored object location in the JSON response. |
Metadata
| Parameter | Type | Default | Description |
|---|---|---|---|
metadata_image_size | boolean | false | Include the rendered image dimensions. |
metadata_fonts | boolean | false | Include the fonts the page actually used. |
metadata_icon | boolean | false | Include the favicon URL. |
metadata_open_graph | boolean | false | Include Open Graph tags. |
metadata_page_title | boolean | false | Include the page title. |
metadata_content | boolean | false | Include the rendered page content. |
metadata_content_format | enum | text | Format of the returned content. text · html · markdown |
metadata_http_response_status_code | boolean | false | Include the main response status code. |
metadata_http_response_headers | boolean | false | Include allow-listed response headers. Set-Cookie and auth headers are always removed. |
Async and webhooks
| Parameter | Type | Default | Description |
|---|---|---|---|
async not cached | boolean | false | Return 202 immediately and process in the background. |
webhook_url not cached | string | — | HTTPS endpoint notified when the capture finishes. |
webhook_sign not cached | boolean | false | Sign the webhook body with HMAC-SHA256. |
webhook_errors not cached | boolean | true | Also send the webhook when the capture fails. |
Failure policy
| Parameter | Type | Default | Description |
|---|---|---|---|
ignore_host_errors | boolean | false | Capture the page even when it responds with 4xx or 5xx. |
fail_if_request_failed | string[] | — | Fail if a request matching any of these patterns fails. |
fail_if_content_missing | string[] | — | Fail if the rendered page is missing any of these strings. |
fail_if_content_contains | string[] | — | Fail if the rendered page contains any of these strings. |
fail_if_gpu_rendering_fails | boolean | false | Fail instead of falling back to CPU when GPU rendering is unavailable. |
Animation
| Parameter | Type | Default | Description |
|---|---|---|---|
scenario | enum | default | What the recording does: hold the page, or scroll through it. default · scroll |
duration | integer 1–30 | 5 | Recording length in seconds. |
width | integer 100–3840 | — | Output width in pixels. Defaults to the viewport width. |
height | integer 100–2160 | — | Output height in pixels. Defaults to the viewport height. |
aspect_ratio | enum | — | Derive the missing dimension from this ratio. 16:9 · 4:3 · 1:1 · 9:16 · 3:4 |
scroll_delay | integer 0–10000 | 500 | Milliseconds between scroll steps. |
scroll_duration | integer 100–30000 | 1500 | Duration of each scroll step, in milliseconds. |
scroll_by | integer 0–20000 | 1000 | Pixels per scroll step. 0 uses the viewport height. |
scroll_start_immediately | boolean | true | Start scrolling as soon as recording begins. |
scroll_start_delay | integer 0–20000 | 0 | Milliseconds to hold at the top before scrolling. |
scroll_back | boolean | true | Return to the top when the scroll finishes. |
scroll_back_algorithm | enum | once | `once` returns to the top a single time, `repeat` loops down and back for the whole recording. once · repeat |
scroll_back_after_duration | integer 0–30000 | — | Milliseconds into the recording at which the return to the top starts. Defaults to when the scroll ends. |
scroll_complete | boolean | true | Hold the recording for the full `duration` even when the scroll finishes earlier. |
scroll_stop_after_duration | integer 0–30000 | — | Milliseconds of scrolling before it stops, regardless of how much page is left. |
scroll_easing | enum | ease_in_out_quint | Easing applied to scroll motion. linear · ease_in_sine · ease_out_sine · ease_in_out_sine · ease_in_quad · ease_out_quad · ease_in_out_quad · ease_in_cubic · ease_out_cubic · ease_in_out_cubic · ease_in_quart · ease_out_quart · ease_in_out_quart · ease_in_quint · ease_out_quint · ease_in_out_quint |
scroll_try_navigate | boolean | false | Look for a link matching `scroll_navigate_link_hints` and follow it mid-recording, producing a site tour. |
scroll_navigate_after | integer 0–30000 | — | Milliseconds into the recording at which navigation happens. Defaults to half the duration. |
scroll_navigate_to_url | string | — | Navigate to this URL instead of following a hinted link. Subject to the same egress policy as `url`. |
scroll_navigate_link_hints | string[] | pricing,about,customers | Link text fragments the tour looks for when `scroll_try_navigate` is set. |
scroll_till_selector | string | — | Stop the scroll when this CSS selector is reached. |
scroll_till_selector_adjust_top | integer -10000–10000 | 0 | Pixel offset applied to the `scroll_till_selector` stop position. |
scroll_to_end_after | integer 0–30000 | — | Milliseconds after which the scroll jumps straight to the bottom of the page. |