Launch Parameters and Options
Browserless allows extensive configuration of how browsers are launched and behave during your sessions. These launch parameters can be provided either via query parameters in the URL or through a special JSON launch payload. Whether you're using BQL, BaaS v2, or REST, these options let you tweak the browser environment to fit your needs.
Passing Launch Options
Two ways to specify launch options:
-
Individual Query Parameters: Add options directly to URLs (e.g.,
&headless=false
,&proxy=residential
). Best for simple boolean options. -
Combined
launch
Parameter (JSON): For complex configurations, use a single query paramlaunch
with a JSON string as its value. This JSON can include any Chrome flags or Browserless-specific settings in a structured way. It's essentially the equivalent of Puppeteer'slaunch({ options })
but provided to the cloud service:&launch={"headless":false,"stealth":true,"args":["--window-size=1920,1080"]}
(URL-encoded) would configure a headful, stealth-enabled browser with a specific window size.
Browserless merges both methods if used together, with individual parameters taking precedence. Use query params for simple toggles and the launch parameter for multiple settings.
Launch Options (Query Parameters)
Below is a list of available launch options you can use in query strings. BrowserQL internally uses some of these, but BQL users typically set these via the IDE session settings rather than manually in a URL.
Parameter | Description | Default |
---|---|---|
headless | Runs the browser in headless mode. Set to false to enable headful mode (with a GUI). While the GUI isn't visible in cloud environments, headful mode may help bypass bot detection. Note: it uses more resources. | true |
stealth | Enables stealth mode to reduce automation signals (similar to puppeteer-extra’s stealth plugin). In BQL, stealth is always on by design and controlled via the humanlike option. In BaaS/REST, set to true to enable stealth techniques. | true |
humanlike | Simulates human-like behavior such as natural mouse movement, typing, and random delays. In the BQL IDE, this can be toggled in session settings. For direct BQL GraphQL calls, use humanlike: true in the launch payload. Not supported in REST or BaaS v2, as it's specific to BQL. Recommended for strict bot detection scenarios. | false |
blockAds | Enables the built-in ad blocker (powered by uBlock Origin). Helps speed up scripts and reduce noise by blocking ads and trackers. Especially useful for scraping to avoid popups and clutter. | false |
blockConsentModals | Automatically blocks or dismisses cookie/GDPR consent banners. In BQL, toggle it via the IDE or launch JSON. Useful for cleaner scraping by removing overlays. | false |
proxy | Routes browser traffic through a proxy. Options: • proxy=residential: Use Browserless’s residential proxy pool (premium feature with real ISP IPs; use with proxyCountry for geolocation). • proxy= <your proxy URL> : Provide your own proxy (e.g., http://user:pass@host:port ). URL-encode if it includes special characters.• Omit to use a direct connection (no proxy). | none |
proxyCountry | Used with proxy=residential to specify the exit node’s country. Accepts ISO 3166 country codes (e.g., us, gb, de). If omitted, a random location is chosen. | none |
proxySticky | Used with proxy=residential to maintain the same proxy IP across a session (when possible). Useful for sites that expect consistent IP usage. | false |
timeout | Maximum session duration in milliseconds. The session will automatically close after this time to prevent overuse. | 60000 |