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.
Live View allows you to watch your browser sessions in real-time as they execute, making it easy to debug and monitor automation.
Open a live viewer automatically when the session starts:
quick_start.py
from notte_sdk import NotteClientclient = NotteClient()# Live viewer opens automaticallywith client.Session(open_viewer=True) as session: session.execute(type="goto", url="https://example.com") session.execute(type="click", selector="button.submit") # Watch it happen in your browser!
Open the live viewer manually at any point during the session:
manual.py
from notte_sdk import NotteClientclient = NotteClient()with client.Session() as session: session.execute(type="goto", url="https://example.com") # Open live viewer session.viewer() # Continue automation while watching session.execute(type="click", selector="button.submit")
from notte_sdk import NotteClientclient = NotteClient()with client.Session(open_viewer=True) as session: agent = client.Agent(session=session, max_steps=10) result = agent.run(task="Find the pricing page and extract all plan prices") print(f"Agent completed: {result.answer}")
Share the viewer URL with your team for collaborative debugging:
sharing.py
from notte_sdk import NotteClientclient = NotteClient()with client.Session() as session: session.execute(type="goto", url="https://example.com") # Get viewer URL debug_info = session.debug_info() print(f"Share this URL with your team: {debug_info.debug_url}") # Team can watch live while you continue session.execute(type="click", selector="button.submit")
from notte_sdk import NotteClientfrom notte_sdk.endpoints.sessions import SessionViewerType# Set default viewer to CDPclient = NotteClient(viewer_type=SessionViewerType.CDP)with client.Session(open_viewer=True) as session: # Opens CDP viewer by default session.execute(type="goto", url="https://example.com")
import osfrom notte_sdk import NotteClientclient = NotteClient()# Only use live view in developmentis_dev = os.getenv("ENV") == "development"with client.Session(open_viewer=is_dev) as session: session.execute(type="goto", url="https://example.com")
Use live view during development, recordings for later analysis:
combine_with_recordings.py
from notte_sdk import NotteClientclient = NotteClient()with client.Session(open_viewer=True) as session: # Watch it live session.execute(type="goto", url="https://example.com") session.execute(type="click", selector="button.submit")# Get recording after session endsreplay = session.replay()replay.download("recording.mp4")