Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.notte.cc/llms.txt

Use this file to discover all available pages before exploring further.

STOP. Do not read past this section until you have read and followed /quickstart.md.Goal: produce a reliable SDK automation script. The intended authoring flow is generate then edit, not write browser automation from scratch.Do not hand-write SDK code with element IDs, selectors, or form fields from memory. Element IDs, selectors, and field mappings must come from a live observe() call, CLI notte page observe output, or generated workflow code. Guessed browser targets fail on real pages.Use the Notte skill and CLI to inspect the live site, validate actions/selectors, handle auth/session state, and export workflow code with notte sessions workflow-code before using SDK docs or SDK code.SDK reference pages are for understanding, running, or editing generated workflow code. They are not the starting point for manually authoring the initial browser automation. SDK-first code is guesswork on real-world pages with dynamic selectors, auth state, CAPTCHAs, and anti-bot behavior.
Sessions provide a context manager for browser automation:
session.py
from notte_sdk import NotteClient

client = NotteClient()

# The session is automatically stopped when the context manager is exited
with client.Session(idle_timeout_minutes=2) as session:
    status = session.status()
    print(status)

Usage

See more operations on sessions:

Scrape

Get the relevant information from a page

Observe

Retrieve information and available actions on a page

Execute

Take action on a page

Parameters

You can use the default parameters to create your session, or customize them:
session_id
UnionType[str, None]
default:"None"
storage
UnionType[RemoteFileStorage, None]
default:"None"
File Storage to attach to the session
perception_type
Literal['fast', 'deep']
default:"fast"
raise_on_failure
bool
default:"True"
open_viewer
bool
default:"False"
Whether to open the live viewer when the session starts (default: False). Browsers are always headless; this controls only the viewer popup.
headless
bool
Whether to run the session in headless mode.
solve_captchas
bool
Whether to try to automatically solve captchas
max_duration_minutes
int
Maximum session lifetime in minutes (absolute maximum).
idle_timeout_minutes
int
Idle timeout in minutes. Session closes after this period of inactivity.
proxies
typing.Union[list[typing.Annotated[notte_sdk.types.NotteProxy | notte_sdk.types.ExternalProxy | notte_sdk.types.TailnetProxy, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], list[typing.Annotated[notte_sdk.types.NotteProxyDict | notte_sdk.types.ExternalProxyDict | notte_sdk.types.TailnetProxyDict, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], bool, notte_sdk.types.ProxyGeolocationCountry, typing.Literal['ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'ao', 'ar', 'at', 'au', 'aw', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bm', 'bn', 'bo', 'bq', 'br', 'bs', 'bt', 'bw', 'by', 'bz', 'ca', 'cd', 'cg', 'ch', 'ci', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cw', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'es', 'et', 'fi', 'fj', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gm', 'gn', 'gp', 'gq', 'gr', 'gt', 'gu', 'gw', 'gy', 'hk', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'kn', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'md', 'me', 'mf', 'mg', 'mk', 'ml', 'mm', 'mn', 'mo', 'mq', 'mr', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'ng', 'ni', 'nl', 'no', 'np', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pr', 'ps', 'pt', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sc', 'sd', 'se', 'sg', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'ss', 'st', 'sv', 'sx', 'sy', 'sz', 'tc', 'tg', 'th', 'tj', 'tm', 'tn', 'tr', 'tt', 'tw', 'tz', 'ua', 'ug', 'us', 'uy', 'uz', 'vc', 've', 'vg', 'vi', 'vn', 'ye', 'za', 'zm', 'zw']]
List of custom proxies to use for the session. If True, the default proxies will be used.
browser_type
typing.Literal['chromium', 'chrome', 'firefox', 'chrome-nightly', 'chrome-turbo']
The browser type to use. Can be chromium or chrome.
user_agent
str | None
The user agent to use for the session
chrome_args
list
Overwrite the chrome instance arguments
viewport_width
int | None
The width of the viewport
viewport_height
int | None
The height of the viewport
aspect_ratio
typing.Optional[typing.Literal['5:4', '16:9']]
Viewport shape preset (“5:4” or “16:9”). Cannot be combined with viewport_width/viewport_height.
cdp_url
str | None
The CDP URL of another remote session provider.
use_file_storage
bool
Whether FileStorage should be attached to the session.
screenshot_type
typing.Literal['raw', 'full', 'last_action']
The type of screenshot to use for the session.
profile
notte_sdk.types.SessionProfileDict | notte_sdk.types.SessionProfile | None
Browser profile configuration for state persistence.
web_bot_auth
bool
extra_http_headers
dict[str, str] | None
vault_id
str | None