AI agent instructions
AI agent instructions
<iframe>.
Live demo
See it running in a minimal Next.js app
Source on GitHub
Clone the template and ship in minutes
How it works
Every active session exposes aviewer_url on its status response. Drop that URL into an <iframe> and you get a live, interactive browser canvas inside your page.
Quick start (Next.js)
A minimal embed needs two pieces: a server route that creates a session and returns itsviewer_url, and a client component that renders the iframe.
1. Server route
Keep theNOTTE_API_KEY on the server. Never ship it to the client.
app/api/session/route.ts
2. Client component
app/page.tsx
Embed parameters
The viewer accepts a few query parameters you can append toviewer_url to tune the experience:
| Param | Values | Effect |
|---|---|---|
mode | embed-minimal | Shows only the CDP viewer. Without mode=embed-minimal, the iframe shows the full Notte viewer, including the step timeline and Notte branding |
interactive | 0 / 1 | 0 makes the iframe 100% non-interactive. 1 requires the user to click the iframe once before they can interact with the embedded browser |
theme | light / dark | Force a theme on the viewer chrome |
Sizing the viewport
Match the session’sviewport_width / viewport_height to the iframe’s aspect ratio. If the ratios diverge, the screencast canvas letterboxes inside the iframe — the page still renders correctly, just with empty bars on the sides.
Stopping the session
Sessions auto-expire aftermax_duration_minutes, but always provide an explicit stop button so users don’t burn quota on idle iframes.
Next Steps
Live View
The full live viewer reference
Session Configuration
Viewport, proxies, browser type, and more
Recordings
Replay sessions after they end
Demo repo
Full Next.js example with progress bar, controls, and styling

