Skip to main content
Read the Notte skill and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.
Sessions are isolated browser instances running in the cloud that you can control programmatically. Each session provides a Playwright-compatible page that you can automate using familiar browser automation APIs.

Quick Start

Create a session with default settings:
Active sessions can be viewed and managed in the Sessions page in the console.
Sessions are automatically stopped when exiting the context manager. Always use the with statement to ensure proper cleanup.

Configuration Options

Customize your session with these options:

Common Parameters

boolean
default:false
Enable Notte’s highest-fidelity browser environment for sites with sophisticated bot detection. Access is currently available to approved workspaces; contact hello@notte.cc to enable it.
boolean
default:true
Automatically detect and solve captchas (reCAPTCHA, hCaptcha, etc.)
boolean
default:true
Block ads and trackers in managed browsers using Basic filtering, without cosmetic filtering or injected scriptlets. To opt out, use client.Session(block_ads=False) in Python or client.Session({ block_ads: false }) in TypeScript. When omitted, the SDK leaves the setting to the API default. Explicit values require an API that supports block_ads. This setting does not configure local browsers or externally connected CDP browsers.
boolean | list[ProxySettings]
default:true
Residential proxies are enabled by default. Set to false to disable them or provide custom proxy configuration. See Proxy Configuration for details.
integer
default:3
Idle timeout in minutes (max: 30). The session closes after this long without any operation; each operation resets it. Cannot exceed max_duration_minutes. timeout_minutes is accepted as a legacy alias.
integer
default:15
Maximum session lifetime in minutes (max: 1440), regardless of activity.
integer
Browser viewport width in pixels (minimum 500). Set together with viewport_height. When neither is set, Notte picks a viewport around 1280x1080.
integer
Browser viewport height in pixels (minimum 500). Set together with viewport_width.
string
Viewport shape preset: "5:4" or "16:9". Notte fits the largest viewport of this shape in the available screen area. Cannot be combined with viewport_width/viewport_height.

Advanced Parameters

string
Custom user agent string for the browser session.
list[str]
Custom Chrome/Chromium launch arguments. Advanced use only.
string
Connect to an external browser session via Chrome DevTools Protocol URL (e.g., from Kernel.sh or other providers). Proxies, user_agent, chrome_args, and the viewport must be configured with the external provider, so leave them unset (proxies default to off when cdp_url is set).
dict[str, str]
Extra HTTP headers sent with every request.
string
default:"last_action"
Screenshot mode for observations: "raw", "full", or "last_action".
SessionProfile
Browser profile to load, with persist=True to save state back on close. See Browser Profiles.
string
Vault whose credentials the session can use. See Vaults.
boolean
default:false
Sign requests with Web Bot Auth. See Cloudflare Web Bot Auth.
Path to a JSON file for automatic cookie loading at session start and saving at session end.
RemoteFileStorage
Attach a file storage instance to the session for file operations.
string
default:"fast"
Default perception type for observations: "fast" (simple) or "deep" (LLM-powered).
boolean
default:true
Raise exceptions when action execution fails instead of returning error results.

Managed Auth

list[str]
Up to 10 Managed Auth connection IDs to verify and, when needed, log in inside the session. While login runs, the session status is authenticating.
boolean
default:true
SDK option. When true, starting the session waits until authentication is ready. When false, call session.wait_for_auth() before browser actions.
integer
default:0
Additional retries (0 to 2) for transient Managed Auth login failures.

Session Response

When you start a session, you get access to these properties and methods:
session_response.py

Advanced Stealth

Use Notte’s approval-gated browser environment for difficult sites:
Use open_viewer=True independently when you want the live viewer to open as the session starts.

Proxies

Route sessions through residential proxies for geo-targeting and enhanced stealth:
See the Proxies Guide for country-specific proxies, custom proxies, and troubleshooting.

Captcha Solving

Automatically detect and solve captchas during automation:
See the Captcha Solving guide for more details.

Session Timeout

Configure how long sessions stay active:
The idle timeout ranges from 1 to 30 minutes and cannot exceed max_duration_minutes (default 15, max 1440). Sessions close when either limit is reached.

Custom Viewport Size

Set custom screen dimensions for specific testing scenarios:
Automatically load and save cookies across sessions using the cookie_file parameter:
See the Cookies Guide for manual cookie management and best practices.

External Providers (CDP)

Use Notte with external browser providers like Kernel.sh:
See the Kernel.sh Integration guide for complete setup instructions.

Next Steps

Recordings

Watch recorded sessions and debug issues

Proxies

Configure proxies and anti-detection features

Live View

Watch sessions in real-time

Cookies

Persist authentication across sessions