Scout · Concepts

Browse options

Shared fields on browser endpoints (screenshot, extract, inspect, and related). They control robots, waits, device presets, captcha detection, 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.
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://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
json
{
  "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
json
{
  "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.

Auth & certificates
http_auth and client_certificates require a verified domain for the target host (or an internal key).