Skip to main content
Sessions are isolated browser instances running in the cloud that you can control programmatically. Think of them as headless Chrome browsers, but managed, scalable, and equipped with anti-detection, proxies, and captcha solving out of the box. Every operation in Notte—whether you’re running an AI agent, scraping data, or automating a workflow—happens within a session.

Quick Start

Create a session and start automating:
from notte_sdk import NotteClient

client = NotteClient()

# The session is automatically stopped when the context manager is exited
with client.Session(timeout_minutes=2) as session:
	status = session.status()
	print(status)
We strongly recommend using the with statement (context manager) to ensure sessions are automatically stopped when done. This prevents orphaned sessions and unexpected costs. See Session Lifecycle for manual management options.

Core Operations

Sessions provide three methods for interacting with the browser:
MethodPurpose
observe()Get the current page state and available actions
execute()Perform an action on the page
scrape()Extract structured data from the page
from notte_sdk import NotteClient

client = NotteClient()

with client.Session() as page:
    url="https://www.linkedin.com/"

    # observe page and take a step
    page.execute(type="goto", url=url)
    obs = page.observe(instructions="click 'jobs'")
    res = page.execute(obs.space.first())
    print(res.message)

    # another one
    obs = page.observe(instructions="dismiss the sign in check")
    res = page.execute(obs.space.first())
    print(res.message)

Session Capabilities

Sessions come with powerful built-in capabilities:

Next Steps