Scout · Concepts

Browse options

Shared fields on browser endpoints (screenshot, extract, inspect, and related). They control robots, waits, device presets, captcha behavior, stealth runtime, and auth.

Not every field applies to every route — see the endpoint page and OpenAPI. Journey uses its own body (width/height/user_agent/headers/cookies/debug) rather than the full browse schema.

Parameters

NameTypeRequiredDescription
respect_robotsbooleanoptionalDefault on. Disallow → ROBOTS_BLOCKED.
wait_for_selectorstringoptionalWait until selector is attached after navigation.
wait_for_selector_timeout_msnumberoptionalDefault 15000.
wait_for_selector_requiredbooleanoptionalDefault true → SELECTOR_NOT_FOUND if missing.
dismiss_cookie_bannerbooleanoptionalBest-effort click of known CMP accept buttons (OneTrust, Cookiebot, …). No domain verify. Returns cookie_banner_* on JSON responses (headers on binary screenshot).
devicestringoptionalPreset from GET /v1/devices (overrides width/height/UA/DPR/touch).
detect_captchabooleanoptionalDefault true on extract/inspect. Heuristics only — not a bypass.
solve_captchabooleanoptionalBest-effort owned-site challenge handling: wait for Cloudflare JS / managed Turnstile to auto-pass (needs stealth), then click visible checkbox widgets. Cloud: verified domain required (403 otherwise). Self-hosted: never requires DNS verify. Does not solve image/audio puzzles or third-party sites.
stealthbooleanoptionalUse the dedicated stealth runtime (profile chromium-stealth-init-v2: full Chromium, automation flags stripped, fingerprint init script, client hints matched to the browser). Pair with solve_captcha on owned sites. Cloud: verified domain + Basic/Pro/Internal required. Self-hosted: allowed without DNS verify. Total credits are multiplied by 2.0x. JSON responses include browser_runtime; screenshot responses expose X-Scout-Browser-Runtime.
capture_xhrstringoptionalGlob or substring for XHR/fetch URLs to capture (max 20 bodies, 32k each). Example: */api/pricing*. +1 credit.
fetch_modebrowser | httpoptionalhttp disables JavaScript (static document). Default browser. Extract/inspect http is 1 credit cheaper (minimum 1).
color_schemelight | dark | no-preferenceoptionalEmulated prefers-color-scheme.
localestringoptionalBrowser locale.
user_agentstringoptionalOverride User-Agent (ignored when device preset sets UA).
headersobjectoptionalExtra HTTP headers.
accept_language / encodingstringoptionalConvenience headers for Accept-Language / Accept-Charset.
block_resource_typesstring[]optionalPlaywright resource types to abort (image, script, …).
block_url_patternsstring[]optionalURL substrings/patterns to block.
block_adsbooleanoptionalBlock common ad/tracker hosts.
record_harbooleanoptionalCapture HAR — retrieve via POST /v1/screenshot/json.
http_authobjectoptional{ username, password } — verified domain required.
client_certificatesarrayoptionalmTLS PEM certs — verified domain required.

Device presets

Call GET /v1/devices for the catalog, then pass a preset name instead of manual viewport + UA:

bash
curl https://api.scout.macrocontent.dev/v1/devices \
  -H "Authorization: Bearer sk_scout_…"
json
{
  "url": "https://example.com",
  "device": "iPhone 13",
  "format": "jpeg"
}

Example on extract

Extract with cookie dismiss

Use dismiss_cookie_banner on third-party pages so known CMP overlays do not cover your selectors.

RequestBody
{
  "url": "https://shop.example/pricing",
  "dismiss_cookie_banner": true,
  "wait_for_selector": "h1",
  "device": "Pixel 7",
  "detect_captcha": true,
  "fields": [
    { "name": "headline", "selector": "h1", "type": "text" }
  ]
}
Response200 OK
{
  "status": "success",
  "data": { "headline": "Pricing" },
  "cookie_banner_detected": true,
  "cookie_banner_dismissed": true,
  "cookie_banner_vendor": "cookiebot",
  "captcha_detected": false
}

This is not free interact. Scout only clicks a fixed vendor allowlist (OneTrust, Cookiebot, Usercentrics, …). Custom selectors still need a verified domain.

Stealth + solve_captcha
On a verified (or self-hosted) site, send both stealth: true and solve_captcha: true. Stealth reduces automation signals; solve waits for Cloudflare JS / managed Turnstile and clicks the checkbox. Image and audio puzzles are not solved. Third-party sites stay blocked.
Auth, certificates & captcha solve
http_auth, client_certificates, solve_captcha, and stealth require a verified domain on Scout Cloud. Self-hosted Scout never requires DNS verify.