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
| Name | Type | Required | Description |
|---|---|---|---|
respect_robots | boolean | optional | Default on. Disallow → ROBOTS_BLOCKED. |
wait_for_selector | string | optional | Wait until selector is attached after navigation. |
wait_for_selector_timeout_ms | number | optional | Default 15000. |
wait_for_selector_required | boolean | optional | Default true → SELECTOR_NOT_FOUND if missing. |
dismiss_cookie_banner | boolean | optional | Best-effort click of known CMP accept buttons (OneTrust, Cookiebot, …). No domain verify. Returns cookie_banner_* on JSON responses (headers on binary screenshot). |
device | string | optional | Preset from GET /v1/devices (overrides width/height/UA/DPR/touch). |
detect_captcha | boolean | optional | Default true on extract/inspect. Heuristics only — not a bypass. |
solve_captcha | boolean | optional | Best-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. |
stealth | boolean | optional | Use 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_xhr | string | optional | Glob or substring for XHR/fetch URLs to capture (max 20 bodies, 32k each). Example: */api/pricing*. +1 credit. |
fetch_mode | browser | http | optional | http disables JavaScript (static document). Default browser. Extract/inspect http is 1 credit cheaper (minimum 1). |
color_scheme | light | dark | no-preference | optional | Emulated prefers-color-scheme. |
locale | string | optional | Browser locale. |
user_agent | string | optional | Override User-Agent (ignored when device preset sets UA). |
headers | object | optional | Extra HTTP headers. |
accept_language / encoding | string | optional | Convenience headers for Accept-Language / Accept-Charset. |
block_resource_types | string[] | optional | Playwright resource types to abort (image, script, …). |
block_url_patterns | string[] | optional | URL substrings/patterns to block. |
block_ads | boolean | optional | Block common ad/tracker hosts. |
record_har | boolean | optional | Capture HAR — retrieve via POST /v1/screenshot/json. |
http_auth | object | optional | { username, password } — verified domain required. |
client_certificates | array | optional | mTLS PEM certs — verified domain required. |
Device presets
Call GET /v1/devices for the catalog, then pass a preset name instead of manual viewport + UA:
curl https://api.scout.macrocontent.dev/v1/devices \
-H "Authorization: Bearer sk_scout_…"{
"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.