Clients
The fetch clients that retrieve page content.
A client is what actually retrieves a URL's content. A job sets one client under config.fetcher.client. This page catalogs the available kinds and their parameters.
How the client is configured
config.fetcher.client is a single object with a kind and, for the browser clients, a params object. The standard client retrieves raw HTML over plain HTTP and runs no JavaScript. The browser clients drive a real browser and render JavaScript, at a much higher cost per fetch.
The playwright and cdp clients run a browser inside the fetcher, so they require the browser image variant inndx-image:<tag>-browsers. The remote_cdp client connects to a browser running elsewhere over a WebSocket and does not need the browser image. See Images and the guide Fetch with a browser.
config:
fetcher:
client:
kind: standardstandard
Retrieves content over plain HTTP. It is the fastest and cheapest client and runs no JavaScript. It takes no parameters.
fetcher:
client:
kind: standardplaywright
Drives a full browser through Playwright, rendering JavaScript.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
javascript_enabled | boolean | no | true | Whether to execute JavaScript. |
ignore_https_errors | boolean | no | false | Whether to ignore HTTPS errors such as self-signed certificates. |
screenshot | Screenshot | no | none | Screenshot capture options. |
fetcher:
client:
kind: playwright
params:
javascript_enabled: true
screenshot:
enabled: true
full_page: truecdp
Drives a Chrome instance directly over the Chrome DevTools Protocol, rendering JavaScript with finer control than Playwright.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
javascript_enabled | boolean | no | true | Whether to execute JavaScript. |
patch_fingerprint | boolean | no | true | Whether to patch the browser fingerprint. |
intercept_resources | list of resource types | no | empty | Resource types to block from loading, which speeds up rendering when you do not need them. |
screenshot | Screenshot | no | none | Screenshot capture options. |
The intercept_resources values are document, stylesheet, image, media, font, script, text_track, xhr, fetch, event_source, web_socket, and other.
fetcher:
client:
kind: cdp
params:
javascript_enabled: true
intercept_resources:
- image
- media
- font
patch_fingerprint: trueremote_cdp
Connects to a browser running outside the fetcher over the Chrome DevTools Protocol via a WebSocket. It accepts the same rendering options as cdp, plus a selector for which external browser pool to use.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
groups | list of strings | no | none | The external browser groups to connect to. |
javascript_enabled | boolean | no | true | Whether to execute JavaScript. |
patch_fingerprint | boolean | no | true | Whether to patch the browser fingerprint. |
intercept_resources | list of resource types | no | empty | Resource types to block from loading. Same values as cdp. |
screenshot | Screenshot | no | none | Screenshot capture options. |
fetcher:
client:
kind: remote_cdp
params:
groups:
- default
javascript_enabled: truestealth_cdp
A variant of the cdp client that applies a comprehensive set of anti-detection techniques to the browser, making it more likely to bypass anti-bot measures. It accepts the same parameters as cdp plus additional fingerprint parameters.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
javascript_enabled | boolean | no | true | Whether to execute JavaScript. |
intercept_resources | list of resource types | no | empty | Resource types to block from loading. Same values as cdp. |
screenshot | Screenshot | no | none | Screenshot capture options. |
fingerprint | Fingerprint | no | none | Fingerprint options to apply anti-detection techniques. |
remote_stealth_cdp
A variant of the remote_cdp client that applies the same anti-detection techniques as stealth_cdp. It accepts the same parameters as remote_cdp plus the same additional fingerprint parameters as stealth_cdp.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
groups | list of strings | no | none | The external browser groups to connect to. |
javascript_enabled | boolean | no | true | Whether to execute JavaScript. |
intercept_resources | list of resource types | no | empty | Resource types to block from loading. Same values as cdp. |
screenshot | Screenshot | no | none | Screenshot capture options. |
fingerprint | Fingerprint | no | none | Fingerprint options to apply anti-detection techniques. |
Screenshot
The screenshot options used by the playwright, cdp, remote_cdp, stealth_cdp, and remote_stealth_cdp clients.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
enabled | boolean | no | false | Whether to capture a screenshot during the fetch. |
full_page | boolean | no | true | Whether to capture the full page rather than just the visible viewport. |
Fingerprint
The fingerprint options used by the stealth_cdp and remote_stealth_cdp clients to apply anti-detection techniques.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
os | FingerprintOS | no | none | The operating system to mimic. |
chrome_version | integer | no | none | The major Chrome version to mimic. |
gpu | FingerprintGPU | no | none | The GPU to mimic. |
memory_gb | integer | no | none | The amount of memory in GB to mimic. |
cpu_cores | integer | no | none | The number of CPU cores to mimic. |
locale | string | no | none | The locale to mimic, such as en-US. |
timezone | string | no | none | The timezone to mimic, such as America/Los_Angeles. |
screen | FingerprintScreen | no | none | The screen dimensions to mimic. |
FingerprintOS
The operating system options for the stealth_cdp and remote_stealth_cdp clients.
| Value | Description |
|---|---|
windows | Mimic a Windows OS. |
linux | Mimic a Linux OS. |
mac_os_arm | Mimic a macOS OS on ARM architecture. |
mac_os_intel | Mimic a macOS OS on Intel architecture. |
FingerprintGPU
The GPU options for the stealth_cdp and remote_stealth_cdp clients.
| Value | Description |
|---|---|
nvidia_rtx_3080 | Mimic an NVIDIA RTX 3080 GPU. |
nvidia_rtx_4080 | Mimic an NVIDIA RTX 4080 GPU. |
nvidia_gtx_1660 | Mimic an NVIDIA GTX 1660 GPU. |
intel_uhd_630 | Mimic an Intel UHD 630 GPU. |
intel_iris_xe | Mimic an Intel Iris Xe GPU. |
apple_m1_pro | Mimic an Apple M1 Pro GPU. |
apple_m2_max | Mimic an Apple M2 Max GPU. |
apple_m4_max | Mimic an Apple M4 Max GPU. |
amd_radeon_rx_6800 | Mimic an AMD Radeon RX 6800 GPU. |
FingerprintScreen
The screen dimension options for the stealth_cdp and remote_stealth_cdp clients.
| Field | Type | Description |
|---|---|---|
width | integer | The screen width in pixels to mimic. |
height | integer | The screen height in pixels to mimic. |