# Scrapfly Documentation

## Table of Contents

### Dashboard

- [Intro](https://scrapfly.io/docs)
- [Project](https://scrapfly.io/docs/project)
- [Account](https://scrapfly.io/docs/account)
- [Workspace & Team](https://scrapfly.io/docs/workspace-and-team)
- [Billing](https://scrapfly.io/docs/billing)

### Products

#### MCP Server

- [Getting Started](https://scrapfly.io/docs/mcp/getting-started)
- [Tools & API Spec](https://scrapfly.io/docs/mcp/tools)
- [Authentication](https://scrapfly.io/docs/mcp/authentication)
- [Examples & Use Cases](https://scrapfly.io/docs/mcp/examples)
- [FAQ](https://scrapfly.io/docs/mcp/faq)
##### Integrations

- [Overview](https://scrapfly.io/docs/mcp/integrations)
- [Claude Desktop](https://scrapfly.io/docs/mcp/integrations/claude-desktop)
- [Claude Code](https://scrapfly.io/docs/mcp/integrations/claude-code)
- [ChatGPT](https://scrapfly.io/docs/mcp/integrations/chatgpt)
- [Cursor](https://scrapfly.io/docs/mcp/integrations/cursor)
- [Cline](https://scrapfly.io/docs/mcp/integrations/cline)
- [Windsurf](https://scrapfly.io/docs/mcp/integrations/windsurf)
- [Zed](https://scrapfly.io/docs/mcp/integrations/zed)
- [Roo Code](https://scrapfly.io/docs/mcp/integrations/roo-code)
- [VS Code](https://scrapfly.io/docs/mcp/integrations/vscode)
- [LangChain](https://scrapfly.io/docs/mcp/integrations/langchain)
- [LlamaIndex](https://scrapfly.io/docs/mcp/integrations/llamaindex)
- [CrewAI](https://scrapfly.io/docs/mcp/integrations/crewai)
- [OpenAI](https://scrapfly.io/docs/mcp/integrations/openai)
- [n8n](https://scrapfly.io/docs/mcp/integrations/n8n)
- [Make](https://scrapfly.io/docs/mcp/integrations/make)
- [Zapier](https://scrapfly.io/docs/mcp/integrations/zapier)
- [Vapi AI](https://scrapfly.io/docs/mcp/integrations/vapi)
- [Agent Builder](https://scrapfly.io/docs/mcp/integrations/agent-builder)
- [Custom Client](https://scrapfly.io/docs/mcp/integrations/custom-client)


#### Web Scraping API

- [Getting Started](https://scrapfly.io/docs/scrape-api/getting-started)
- [API Specification]()
- [Monitoring](https://scrapfly.io/docs/monitoring)
- [Customize Request](https://scrapfly.io/docs/scrape-api/custom)
- [Debug](https://scrapfly.io/docs/scrape-api/debug)
- [Anti Scraping Protection](https://scrapfly.io/docs/scrape-api/anti-scraping-protection)
- [Proxy](https://scrapfly.io/docs/scrape-api/proxy)
- [Proxy Mode](https://scrapfly.io/docs/scrape-api/proxy-mode)
- [Proxy Mode - Screaming Frog](https://scrapfly.io/docs/scrape-api/proxy-mode/screaming-frog)
- [Proxy Mode - Apify](https://scrapfly.io/docs/scrape-api/proxy-mode/apify)
- [(Auto) Data Extraction](https://scrapfly.io/docs/scrape-api/extraction)
- [Javascript Rendering](https://scrapfly.io/docs/scrape-api/javascript-rendering)
- [Javascript Scenario](https://scrapfly.io/docs/scrape-api/javascript-scenario)
- [SSL](https://scrapfly.io/docs/scrape-api/ssl)
- [DNS](https://scrapfly.io/docs/scrape-api/dns)
- [Cache](https://scrapfly.io/docs/scrape-api/cache)
- [Batch (Multi-URL Scraping)](https://scrapfly.io/docs/scrape-api/batch)
- [Session](https://scrapfly.io/docs/scrape-api/session)
- [Webhook](https://scrapfly.io/docs/scrape-api/webhook)
- [Schedule](https://scrapfly.io/docs/scrape-api/schedule)
- [Screenshot](https://scrapfly.io/docs/scrape-api/screenshot)
- [Errors](https://scrapfly.io/docs/scrape-api/errors)
- [Timeout](https://scrapfly.io/docs/scrape-api/understand-timeout)
- [Throttling](https://scrapfly.io/docs/throttling)
- [Troubleshoot](https://scrapfly.io/docs/scrape-api/troubleshoot)
- [Billing](https://scrapfly.io/docs/scrape-api/billing)
- [FAQ](https://scrapfly.io/docs/scrape-api/faq)

#### Crawler API

- [Getting Started](https://scrapfly.io/docs/crawler-api/getting-started)
- [API Specification]()
- [Retrieving Results](https://scrapfly.io/docs/crawler-api/results)
- [WARC Format](https://scrapfly.io/docs/crawler-api/warc-format)
- [Data Extraction](https://scrapfly.io/docs/crawler-api/extraction-rules)
- [Webhook](https://scrapfly.io/docs/crawler-api/webhook)
- [Schedule](https://scrapfly.io/docs/crawler-api/schedule)
- [Billing](https://scrapfly.io/docs/crawler-api/billing)
- [Errors](https://scrapfly.io/docs/crawler-api/errors)
- [Troubleshoot](https://scrapfly.io/docs/crawler-api/troubleshoot)
- [FAQ](https://scrapfly.io/docs/crawler-api/faq)

#### Screenshot API

- [Getting Started](https://scrapfly.io/docs/screenshot-api/getting-started)
- [API Specification]()
- [Accessibility Testing](https://scrapfly.io/docs/screenshot-api/accessibility)
- [Webhook](https://scrapfly.io/docs/screenshot-api/webhook)
- [Schedule](https://scrapfly.io/docs/screenshot-api/schedule)
- [Billing](https://scrapfly.io/docs/screenshot-api/billing)
- [Errors](https://scrapfly.io/docs/screenshot-api/errors)

#### Extraction API

- [Getting Started](https://scrapfly.io/docs/extraction-api/getting-started)
- [API Specification]()
- [Rules Template](https://scrapfly.io/docs/extraction-api/rules-and-template)
- [LLM Extraction](https://scrapfly.io/docs/extraction-api/llm-prompt)
- [AI Auto Extraction](https://scrapfly.io/docs/extraction-api/automatic-ai)
- [Webhook](https://scrapfly.io/docs/extraction-api/webhook)
- [Billing](https://scrapfly.io/docs/extraction-api/billing)
- [Errors](https://scrapfly.io/docs/extraction-api/errors)
- [FAQ](https://scrapfly.io/docs/extraction-api/faq)

#### Data API


#### Proxy Saver

- [Getting Started](https://scrapfly.io/docs/proxy-saver/getting-started)
- [Fingerprints](https://scrapfly.io/docs/proxy-saver/fingerprints)
- [Optimizations](https://scrapfly.io/docs/proxy-saver/optimizations)
- [SSL Certificates](https://scrapfly.io/docs/proxy-saver/certificates)
- [Protocols](https://scrapfly.io/docs/proxy-saver/protocols)
- [Pacfile](https://scrapfly.io/docs/proxy-saver/pacfile)
- [Secure Credentials](https://scrapfly.io/docs/proxy-saver/security)
- [Billing](https://scrapfly.io/docs/proxy-saver/billing)

#### Cloud Browser API

- [Getting Started](https://scrapfly.io/docs/cloud-browser-api/getting-started)
- [Proxy & Geo-Targeting](https://scrapfly.io/docs/cloud-browser-api/proxy)
- [Unblock API](https://scrapfly.io/docs/cloud-browser-api/unblock)
- [Captcha Solver](https://scrapfly.io/docs/cloud-browser-api/captcha-solver)
- [File Downloads](https://scrapfly.io/docs/cloud-browser-api/file-downloads)
- [Session Resume](https://scrapfly.io/docs/cloud-browser-api/session-resume)
- [Human-in-the-Loop](https://scrapfly.io/docs/cloud-browser-api/human-in-the-loop)
- [Debug Mode](https://scrapfly.io/docs/cloud-browser-api/debug-mode)
- [Browser Extensions](https://scrapfly.io/docs/cloud-browser-api/extensions)
- [Native Browser MCP](https://scrapfly.io/docs/cloud-browser-api/mcp)
- [DevTools Protocol](https://scrapfly.io/docs/cloud-browser-api/cdp-reference)
##### Integrations

- [Puppeteer](https://scrapfly.io/docs/cloud-browser-api/puppeteer)
- [Playwright](https://scrapfly.io/docs/cloud-browser-api/playwright)
- [Selenium](https://scrapfly.io/docs/cloud-browser-api/selenium)
- [Vercel Agent Browser](https://scrapfly.io/docs/cloud-browser-api/agent-browser)
- [Browser Use](https://scrapfly.io/docs/cloud-browser-api/browser-use)
- [Stagehand](https://scrapfly.io/docs/cloud-browser-api/stagehand)

- [Billing](https://scrapfly.io/docs/cloud-browser-api/billing)
- [Errors](https://scrapfly.io/docs/cloud-browser-api/errors)


### Tools

- [Antibot Detector](https://scrapfly.io/docs/tools/antibot-detector)

### SDK

- [Golang](https://scrapfly.io/docs/sdk/golang)
- [Python](https://scrapfly.io/docs/sdk/python)
- [Rust](https://scrapfly.io/docs/sdk/rust)
- [TypeScript](https://scrapfly.io/docs/sdk/typescript)
- [Scrapy](https://scrapfly.io/docs/sdk/scrapy)

### Integrations

- [Getting Started](https://scrapfly.io/docs/integration/getting-started)
- [LangChain](https://scrapfly.io/docs/integration/langchain)
- [LlamaIndex](https://scrapfly.io/docs/integration/llamaindex)
- [CrewAI](https://scrapfly.io/docs/integration/crewai)
- [Zapier](https://scrapfly.io/docs/integration/zapier)
- [Make](https://scrapfly.io/docs/integration/make)
- [n8n](https://scrapfly.io/docs/integration/n8n)

### Academy

- [Overview](https://scrapfly.io/academy)
- [Web Scraping Overview](https://scrapfly.io/academy/scraping-overview)
- [Tools](https://scrapfly.io/academy/tools-overview)
- [Reverse Engineering](https://scrapfly.io/academy/reverse-engineering)
- [Static Scraping](https://scrapfly.io/academy/static-scraping)
- [HTML Parsing](https://scrapfly.io/academy/html-parsing)
- [Dynamic Scraping](https://scrapfly.io/academy/dynamic-scraping)
- [Hidden API Scraping](https://scrapfly.io/academy/hidden-api-scraping)
- [Headless Browsers](https://scrapfly.io/academy/headless-browsers)
- [Hidden Web Data](https://scrapfly.io/academy/hidden-web-data)
- [JSON Parsing](https://scrapfly.io/academy/json-parsing)
- [Data Processing](https://scrapfly.io/academy/data-processing)
- [Scaling](https://scrapfly.io/academy/scaling)
- [Walkthrough Summary](https://scrapfly.io/academy/walkthrough-summary)
- [Scraper Blocking](https://scrapfly.io/academy/scraper-blocking)
- [Proxies](https://scrapfly.io/academy/proxies)

---

# Introducing Proxy Saver

 **Proxy Saver** is an **egress optimizer** for the proxies you already pay for. You keep your provider and your code; Proxy Saver sits between your client and the proxy egress and optimizes everything in between. It brings three benefits out of the box:

- **Bandwidth saving:** stubbing, shared caches, and junk-traffic stripping remove the bytes you never needed, so you pay your provider for fewer GB.
- **Latency gain:** connection reuse, TLS/TCP optimization, and DNS pre-warming cut round trips on every request.
- **Fingerprint out of the box:** the egress connection restores your client's original fingerprint 1:1, or impersonates a real browser profile, so anti-bot systems see a coherent, real client instead of a proxied one.

 Whether you're managing web scraping operations or other automated tasks, Proxy Saver lowers data usage without affecting functionality. Faster response times, lower costs, and no interference.

## Performance on Steroids

 Proxy Saver is packed with powerful features designed to elevate your proxy game both visibly and behind the scenes:

- **Advanced optimizations:** Includes dozens of [built-in caches and proxy enhancements](https://scrapfly.io/docs/proxy-saver/optimizations).
- **Broad compatibility:** Fully supports HTTP, HTTPS, HTTP2, SOCKS5, and SOCKS5H as upstream protocols. SOCKS5 and SOCKS5H upstreams are [UDP-capable](https://scrapfly.io/docs/proxy-saver/protocols#udp-quic-http3): they enable UDP tunneling and QUIC/HTTP3 traffic, and proxy-saver reproduces a correct QUIC/HTTP3 fingerprint on egress even when the client connects over plain HTTP.
- **Cost efficiency:** Pay your upstream provider for fewer GB thanks to optimized bandwidth.
- **Content stubbing:** Automatically stub image and CSS requests to save bandwidth.
- **Egress fingerprint, no anti-bot interference:** Replicate and restore the incoming fingerprint 1:1 on egress, or [impersonate a real browser profile](https://scrapfly.io/docs/proxy-saver/fingerprints).
- **Reliability:** Automatic retries and fixes for common proxy issues.

> Looking for a dedicated web scraping solution? Check out our [Web Scraping API](https://scrapfly.io/docs/scrape-api/getting-started), featuring advanced capabilities like browser rendering and anti-bot bypassing.

## Getting Started

 Ready for faster, more efficient proxies? Follow our quick start guide and see how Proxy Saver can revolutionize your proxy usage instantly and seamlessly!

 To start with Proxy Saver **you'll need an existing proxy connection** and an active Scrapfly account. Using the [Proxy Saver Dashboard](https://scrapfly.io/dashboard/proxy-saver) you can create a new Proxy Saver and attach your proxy connection to it.

 Proxy Saver creation dashboard  Once your Proxy Saver is created you can view its dashboard and verify the connection using the "Check Upstream Connection" button. This dashboard will contain all your proxy saver details and log your usage.

 Additionally, you can see exact performance metrics and billing details here.

## Usage

 Proxy saver is used as any other proxy and supports HTTP, HTTPS and SOCKS5 protocols. To authenticate, the standard `username:password` scheme is used where:

- The username is `proxyId-XXX` where `XXX` is your proxy ID from the Proxy Saver dashboard.
- The password is your API key found on Scrapfly dashboard.
- Additional options can be attached to the username using the `-` separator like `proxyId-XXX-Timeout-10` to set 10 second timeout. See [specification details](#spec)
- Parameters name are insensitive

- [HTTPIE](#basic-use-httpie)
- [CURL](#basic-use-curl)

 ```
    http \
    --verify=no \
    --proxy=http://proxyId-XXX:scp-live-XXX@proxy-saver.scrapfly.io:3333 \
    https://httpbin.dev/anything

```

 ```
    curl \
    --insecure \
    --proxy http://proxyId-XXX:scp-live-XXX@proxy-saver.scrapfly.io:3333 \
    https://httpbin.dev/anything

```

### Parameter Forwarding

 Most of well known proxy providers use the username or password field to pass proxy configuration parameters like setting country, city, session, etc.

 To forward parameters from Scrapfly Proxy Saver to your original proxy, you can use the pipe `|` separator. Everything on the right side will be forwarded to the upstream proxy on the configured field and everything on the left side is for the Proxy Saver.

 ```
proxyId-XXX|country-us
```

 Some proxy providers use the username field for parameter configuration while others use the password field. Forwarding of both parameter types is supported by Proxy Saver and this can be configured on your dashboard:

 Proxy Saver forwarding parameters

- [HTTPIE](#parameter-forwarding-httpie)
- [CURL](#parameter-forwarding-curl)

 ```
    http \
    --verify=no \
    --proxy=http://proxyId-XXX|country-us:scp-live-XXX@proxy-saver.scrapfly.io:3333 \
    https://httpbin.dev/anything

```

 ```
    curl \
    --insecure \
    --proxy http://proxyId-XXX|country-us:scp-live-XXX@proxy-saver.scrapfly.io:3333 \
    https://httpbin.dev/anything

```

 In this example, the parameters before `|` are for Proxy Saver (`proxyId-XXX`) and the parameters after are for the upstream proxy (`country-us`).

### Cloud Browser Session Handoff

 A common workflow is to handle login, MFA, or JS challenges in [Cloud Browser](https://scrapfly.io/docs/cloud-browser-api/getting-started), then continue with lightweight HTTP scraping. Proxy Saver itself is a stateless TLS proxy. It does not store cookies, fingerprints, or sticky-session state. To carry that state over, use the [Web Scraping API's `cb:` session handoff](https://scrapfly.io/docs/scrape-api/session#cloud-browser-session), which converts a stopped Cloud Browser run into a regular Web Scraping API session addressable by name.

What is inherited from the Cloud Browser run:

- **Cookies, Local Storage, Session Storage, Private State Tokens**: the state the browser saw at stop time.
- **Exit IP**: same upstream proxy pool, country, and sticky-session credentials. Within the upstream provider's sticky window, follow-up requests come out of the same IP.
- **Fingerprint**: rebuilt from the Cloud Browser seed. Brand, platform, locale, language, and timezone match.

> The handoff is one-way. Changes made by the Web Scraping API do not sync back to the Cloud Browser profile.

 **Example.** Run a Cloud Browser session named `my-cb-session` to log into the target site, stop it, then continue with the Web Scraping API:

 ```
curl "https://api.scrapfly.io/scrape?key=<api_key>&url=https://example.com/account&session=cb:my-cb-session"</api_key>
```

 If your tooling needs a forward proxy (raw `curl`, a custom HTTP client, a browser automation that requires a SOCKS or HTTP endpoint), use Proxy Saver against your upstream provider directly and reproduce the authentication flow there. Proxy Saver does not host session state on Scrapfly's side.

### Rotating Proxy Strategy

 Proxy Saver implements numerous optimizations, including an innovative approach to connection and state reuse.

 However, these optimizations are incompatible with a "rotating" proxy strategy, proxy changes the IP address on each request. Proxy Saver transparently maintains upstream connections, effectively overriding this expected behavior.

 Therefore, if your use case requires a rotating proxy setup, make sure to enable the "Rotating Proxy" setting when creating your Proxy Saver instance. You can also update this setting at any time - changes will take effect immediately and will be fully applied once all active connections are closed.

 Rotating strategy setting in Proxy Saver dashboard  However, keep in mind that enabling this setting disables a significant portion of Proxy Saver's connection reuse optimizations, which can have a substantial impact on performance. Therefore, **do not** enable this setting **unless** your use case specifically requires the rotating proxy strategy described above.

## Blocked Domains (Blacklist)

 Proxy Saver enforces a **predefined domain blacklist** on every connection, checked at `CONNECT` time before any byte is sent upstream. The list covers two categories:

- **Junk traffic:** ads, telemetry, and tracker domains. Blocking them saves bandwidth you would otherwise pay your provider for; see [junk traffic stripping](https://scrapfly.io/docs/proxy-saver/optimizations#junk-traffic). Blocked savings appear in the *by blocking* column of your instance's domain metrics.
- **Restricted targets:** domains Scrapfly does not allow for compliance and abuse-prevention reasons.

 The blacklist is maintained by Scrapfly, updated continuously, and cannot be disabled. A blocked request fails fast in the CONNECT phase with `ERR_PROXY_BLACKLISTED_DOMAIN` (HTTP 403) and is not billed. If you believe a domain is blocked by mistake, contact support or your account manager.

## Connect Errors

 When a request cannot be tunneled, Proxy Saver fails during the proxy `CONNECT` phase with a plain-text response carrying an error code. Errors fall in two families: errors emitted **by Proxy Saver itself** (4xx with an `ERR_*` code) and errors relayed **from your upstream proxy** (502 Bad Gateway wrapping the upstream response).

 | Error Code | HTTP Status | Meaning |
|---|---|---|
| `ERR_PROXY_AUTH` | 407 | Authentication failed: check the username (`proxyId-XXX`) and your API key as password. |
| `ERR_CONNECT_EMPTY_AUTH` | 407 | Empty or incomplete Proxy-Authorization received. Browsers send a blank first attempt; retry with credentials. |
| `ERR_FORMAT_PROXYOPTIONS` | 400 | Malformed username: options must be `key-value` pairs. |
| `ERR_UNKNOWN_PARAMETERS` / `ERR_UNKNOWN_PROXYOPTIONS` | 400 | An option key or value is not recognized (e.g. an unknown `FpImpersonate` profile). |
| `ERR_DUPLICATE_PARAMETERS` | 400 | The same option appears twice in the username. |
| `ERR_EMPTY_PARAMETERS_NAME` / `ERR_EMPTY_VALUES` | 400 | An option has an empty key or value. |
| `ERR_FORMAT_UPSTREAMOPTIONS` | 400 | More than one `\|` forwarding separator, or forwarded parameters contain disallowed characters (`@`, `/`, whitespace). |
| `ERR_PROXY_AES_KEY` | 400 | Upstream credential decryption failed: check your `aesKey` parameter. See [secure credentials](https://scrapfly.io/docs/proxy-saver/security). |
| `ERR_PROXY_CONNECT_LOOP` | 400 | The upstream proxy points back at Proxy Saver itself. |
| `ERR_PROXY_BAD_UPSTREAM` | 400 | The configured upstream proxy cannot be used. |
| `ERR_PROXY_BLACKLISTED_DOMAIN` | 403 | The target domain is on the [predefined blacklist](#blacklist). |
| `ERR_PROJECT_NETWORK_WHITELIST` | 403 | Your project restricts client IPs and the calling address is not whitelisted. |
| `ERR_PROXY_QUOTA_LIMIT_REACHED` / `ERR_PROJECT_QUOTA_LIMIT_REACHED` | 429 | The instance bandwidth quota or project budget limit is reached. See [billing](https://scrapfly.io/docs/proxy-saver/billing). |
| `ERR_IP_FIREWALL_THROTTLED` | 429 | Your IP is temporarily throttled after too many failed requests. |
| `ERR_ACCOUNT_SUSPENDED` / `ERR_PROJECT_INACTIVE_PACKAGE` | 429 | The account is suspended or the Proxy Saver package is not active on your plan. |

 Upstream failures are relayed with their original context so you can distinguish a Proxy Saver rejection from your provider rejecting the target:

 ```
HTTP/1.1 502 BadGateway
        content-type: text/plain; charset=utf-8

        Error from upstream at CONNECT Phase
        CONNECT response from http://your.proxy:1234 for a blocked target by upstream giving a 403 Forbidden
        Reason: [Access denied: restricted target. Please contact support or your account manager if you have any questions.]

```

---

## Specification

 While proxy saver can mostly be used hands off there are some important features that can be activated using username parameters.

 To activate a proxy saver parameter attach your parameter name and value to your username using the standard `<key>-<value>` notation. For example the default `proxyId-xxx` is a key value username for your proxy id. The same way any additional parameters can be attached like `proxyId-xxx-Timeout-10` to set timeout to 10 seconds.

  HTTP Parameter

Description

Example

 [proxyId](#api_param_proxyId)

required

 The Scrapfly ID of your proxy which is created and defined in the [proxy saver dashboard](https://scrapfly.io/dashboard/proxy-saver).

 `proxyId-xxx`

 [disableImageStub](#api_param_disableImageStub)   [ ](https://scrapfly.io/docs/proxy-saver/optimizations#image-stubbing "show docs")

 default: False

 Disable image stubbing which replaces images with a 1x1 pixel placeholder of a matching file-type.

 `DisableImageStub-True` `DisableImageStub-true` `DisableImageStub-False` `DisableImageStub-false`

 [disableCssStub](#api_param_disableCssStub)   [ ](https://scrapfly.io/docs/proxy-saver/optimizations#css-stubbing "show docs")

 default: False

 Disable CSS stubbing which replaces stylesheets with a an empty placeholder.

 `DisableCssStub-True` `DisableCssStub-true` `DisableCssStub-False` `DisableCssStub-false`

 [fpImpersonate](#api_param_fpImpersonate)   [ ](https://scrapfly.io/docs/proxy-saver/fingerprints "show docs")

 Impersonate a real browser profile fingerprint to bypass proxy identification with one from the [available fingerprints](https://scrapfly.io/docs/proxy-saver/fingerprints#available-fingerprints) pool.

 `FpImpersonate-chrome_win_130` `FpImpersonate-firefox_linux_111`

 [timeout](#api_param_timeout)

 default: 15

 Timeout in seconds for the proxy saver to wait for a response from the target server.

 `Timeout-10`

 [allowRetry](#api_param_allowRetry)

 default: True

 Automatically retry failed requests.

 `allowRetry-False`

 [aesKey](#api_param_aesKey)

 Needed when using custom key encryption for the upstream proxy credentials. See [secure credentials](https://scrapfly.io/docs/proxy-saver/security)

 `aesKey-XXXXXXX`

 [intermediateResourceMaxSize](#api_param_intermediateResourceMaxSize)

 default: 2

 Limits size in MB for intermediate resources (e.g.: json payload for external apis).

 `intermediateResourceMaxSize-4`

 [verifyUpstreamSsl](#api_param_verifyUpstreamSsl)

 default: False

 Verify the TLS certificate of your upstream proxy. Off by default since many proxy providers serve self-signed certificates on their gateways.

 `VerifyUpstreamSsl-true`

 [countryCode](#api_param_countryCode)

 default: auto-detected

 Override the exit country used for geo-aware routing and DNS pre-warming. By default the country is auto-detected from your upstream proxy's IP; set this when your provider's gateway IP geolocates differently from the actual exit country (e.g. a global gateway with `country-us` forwarded parameters).

 `CountryCode-us`

 [trustAnchors](#api_param_trustAnchors)

 default: False

 Layer the empty TLS `trust_anchors` extension onto the egress fingerprint regardless of the selected profile, matching Chrome v141+ behavior. Useful to keep older fingerprint profiles coherent with targets that expect the extension.

 `TrustAnchors-true`

 [mlDsa](#api_param_mlDsa)

 Comma-delimited post-quantum signature-scheme codepoints prepended to the TLS `signature_algorithms` extension on egress (ML-DSA-44/65/87), matching Chrome Dev v151+ behavior.

 `MlDsa-0x0904,0x0905,0x0906`
