# Premium Browser Engine

Source: https://docs.scrappey.com/docs/premium-browser-engine

> Route a request through a premium stealth browser engine with a coherent, engine-level device identity, for sites with the strictest browser verification during authorized workflows.

## Command

Set `"hq": true` to run the request on the premium stealth browser engine. An alternative engine is available with `"cc": true` — it applies its stealth and device fingerprint at the binary level. Use one of the two; both accept the same parameters as a normal [browser request](/docs/browser-request).

## Parameters

| Parameter          | Type    | Required | Description                                                                                                          |
| ------------------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `hq`               | boolean | No       | Run the request on the premium stealth browser engine.                                                              |
| `cc`               | boolean | No       | Run the request on the alternative premium engine (engine-level fingerprinting). Use either `hq` or `cc`, not both. |
| `build`            | string  | No       | With `cc`, select the engine build: `cc149` or `cc150`. Defaults to `cc150` (the newest). `cc149` is available for compatibility testing. |
| `proxyCountry`     | string  | No       | Residential exit country (e.g. `"UnitedStates"`). The engine auto-aligns timezone and WebRTC to the proxy exit IP.  |
| `ccConfig`         | object  | No       | Advanced. Raw passthrough of the `cc` engine's internal options (see [Fine-tuning](#fine-tuning-engine-internals)). |
| `hqConfig`         | object  | No       | Advanced. Raw passthrough of the `hq` engine's internal options.                                                   |
| `fingerprint`      | string  | No       | Deterministic identity seed — the same seed yields the same device fingerprint, so reuse one to keep an identity stable across requests. |
| `fingerprintNoise` | boolean | No       | Canvas/WebGL/audio fingerprint noise. On by default; set `false` to disable (honored by `hq`; `cc` handles noise internally). |
| `browser`          | array   | No       | Browser brand for the identity, e.g. `["Chrome"]` or `["Edge"]`.                                                    |
| `ignoreClearcote`  | boolean | No       | Skip the `cc` engine for this request — both a direct `cc:true` call and the automatic fallback. The `hq` engine stays available. |
| `ignoreCloakbrowser`| boolean | No       | Skip the `hq` engine for this request — both a direct `hq:true` call and the automatic fallback. The `cc` engine stays available. |
| `ignoreHq`         | boolean | No       | Skip the `hq` engine — direct and fallback. Alias of `ignoreCloakbrowser`; does not affect `cc`. |

## Example

```bash
curl -X POST "https://publisher.scrappey.com/api/v1?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "hq": true,
    "proxyCountry": "UnitedStates",
    "fingerprint": "stable-seed-123"
  }'
```

Alternative engine — the same request with `cc` instead of `hq`:

```bash
curl -X POST "https://publisher.scrappey.com/api/v1?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "cc": true,
    "proxyCountry": "UnitedStates"
  }'
```

### Selecting the `cc` build

The `cc` engine ships two builds — **`cc150`** (default, newest) and **`cc149`** (previous, for compatibility testing). Pin one with `build`:

```bash
curl -X POST "https://publisher.scrappey.com/api/v1?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "cc": true,
    "build": "cc150",
    "proxyCountry": "UnitedStates"
  }'
```

If you omit `build`, the newest build (`cc150`) is used. Switch to `cc149` only if a specific target behaves better on the older engine.

### Fine-tuning engine internals

For advanced control, pass a `ccConfig` object (for `cc`) or `hqConfig` object (for `hq`). These are a **raw passthrough of the engine's own internal options** and are merged over everything derived from your other settings, so they win. Keys are the engine's own field names (snake_case).

```bash
curl -X POST "https://publisher.scrappey.com/api/v1?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "cc": true,
    "proxyCountry": "UnitedStates",
    "ccConfig": {
      "version": "149",
      "no_lightweight": true,
      "careful": true,
      "no_geoip": true,
      "fingerprint_noise": "false",
      "brand": "Edge",
      "keep_open": true
    }
  }'
```

Common `ccConfig` keys:

| Key | Effect |
| --- | --- |
| `version` | Engine build major: `"149"` or `"150"`. |
| `no_lightweight` | Disable lightweight resource blocking (it's **on** by default). |
| `careful` | Slower, more deliberate human input. |
| `no_geoip` | Don't auto-align timezone/WebRTC to the proxy exit IP (**on** by default). |
| `no_humanize` | Disable humanized mouse/keyboard input (**on** by default). |
| `fingerprint_noise` | `"false"` to disable canvas/WebGL/audio noise. |
| `platform` / `brand` | Override the OS (`"windows"`/`"macos"`) or brand (`"Chrome"`/`"Edge"`/…). |
| `keep_open` | Leave the browser open after the run (debugging). |

Unknown keys are ignored and choices (`version`, `brand`, `platform`) are validated server-side, so an invalid value fails fast rather than launching a wrong build.

## What It Offers

Both modes render through a full browser with a deeper, coherent device identity than a standard browser request, plus the complete feature set:

- **Engine-level stealth fingerprint** — the browser's identity (user agent, platform, screen, canvas/WebGL/audio) is coherent down to the binary, not patched on afterward.
- **Proxy-aligned environment** — with a [residential proxy](/docs/premium-proxy) or `proxyCountry`, the timezone and WebRTC egress are matched to the proxy exit IP automatically.
- **Full [browser actions](/docs/browser-actions)** — clicking, typing, scrolling, waiting, dropdowns, conditionals, captcha solving, and the rest run inside these engines.
- **Session capture** — [video](/docs/record-video) and [screenshots](/docs/screenshot) are returned as hosted URLs.
- **Cookie and localStorage injection** — warm a session by passing `cookies` and `localStorage`.
- **Consistent identity** — pin a `fingerprint` seed so the same device identity is reused across requests, and pass `cookies` to carry a warmed session.
- **Windows device identity** — both engines present a coherent Windows identity (macOS is not available).
- **[XHR interception](/docs/intercept-xhr) and [referer](/docs/add-referer)** — capture the page's own API responses and control the navigation referrer.

## Notes

**Recommended setup for the strictest sites.** The biggest lever is a clean residential proxy that matches the content's region — it drives the timezone and WebRTC alignment. Pin a `fingerprint` seed across requests so the identity stays consistent (the same seed yields the same device identity; an identity that changes on every request is itself a signal), pass `cookies` to reuse a warmed session, and let the engine supply the user agent rather than overriding it.

**Choosing between the two.** `hq` and `cc` are independent premium engines; if one struggles on a particular target, try the other. They accept the same parameters, so switching is a one-field change.

Use these modes for authorized workflows on sites with strict browser verification. Respect third-party terms, robots.txt where applicable, rate limits, and applicable law.
