Use this file to discover all available pages before exploring further.
AI agent instructions
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.
Configure agents with parameters that control their reasoning model, step limits, vision capabilities, and more.
The large language model used for agent reasoning and decision-making. Supported models include gemini/gemini-2.0-flash, anthropic/claude-3.5-sonnet, anthropic/claude-3.5-haiku, openai/gpt-4o, and openai/gpt-4o-mini.
Whether to enable vision capabilities for the agent. Vision allows the agent to analyze images, screenshots, and visual page elements. Not all models support vision.
param_use_vision.py
agent = client.Agent( session=session, use_vision=True, # Agent can understand images)
Maximum number of actions the agent can take before stopping. Must be between 1 and 50. Higher values allow more complex tasks but increase cost and execution time.
param_max_steps.py
agent = client.Agent( session=session, max_steps=20, # Allow up to 20 actions)
Optional notifier that sends notifications when the agent completes or fails. Useful for long-running tasks.
param_notifier.py
with client.Session() as session: # Agent with notification via email agent = client.Agent( session=session, # Notifications can be configured in the Notte console )
Optional Pydantic model defining the structure of the agent’s response. Use this to get type-safe, structured output. See Structured Output for details.
param_response_format.py
from notte_sdk import NotteClientfrom pydantic import BaseModelclass Product(BaseModel): name: str price: float in_stock: boolclient = NotteClient()with client.Session() as session: agent = client.Agent(session=session) result = agent.run(task="Extract product information", response_format=Product)
Experimental - The step number from which the agent should gather information from the session history. If not provided, the agent has fresh memory. Use this to make the agent aware of previous actions.
param_session_offset.py
# Execute some actions firstsession.execute(type="goto", url="https://example.com")session.execute(type="click", selector="button.search")# Agent remembers actions from step 0result = agent.run(task="Continue from where we left off", session_offset=0)
# Good - start where neededagent.run(task="Extract product details", url="https://example.com/product/123")# Less efficient - agent must navigate firstagent.run(task="Go to product page and extract details", url="https://example.com")