Skip to main content
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.
Notte can connect to any browser that exposes a Chrome DevTools Protocol (CDP) endpoint. This allows you to use Notte’s features (Agents, Actions, Scraping) with browser infrastructure from providers like Kernel.sh or BrowserBase.

How It Works

Instead of starting a browser in Notte’s cloud, you can:
  1. Create a browser session with an external provider
  2. Get the CDP WebSocket URL from that provider
  3. Pass the CDP URL to Notte when creating a session
  4. Use Notte’s features on the external browser

Kernel.sh Integration

Kernel.sh is a browser infrastructure platform optimized for AI agents. Here’s how to use it with Notte:
See the Kernel.sh Integration guide for complete setup instructions and examples.

BrowserBase Integration

BrowserBase provides managed browser infrastructure. Connect it to Notte:

Benefits of External Providers

When to Use External Providers

Use external browser providers when you need:
  1. Specialized Infrastructure: Provider-specific optimizations or features
  2. Existing Setup: You already use a browser provider and want to add Notte’s features
  3. Compliance: Browsers must run in specific regions or under specific conditions
  4. Custom Configuration: Complex browser setups or extensions
  5. Cost Optimization: Leverage existing browser infrastructure contracts

When to Use Notte’s Browsers

Use Notte’s built-in browsers when you want:
  1. Simplicity: One-line session creation without managing external services
  2. Built-in Features: Anti-detection, captcha solving, proxies included
  3. Integrated Management: Session replay, cookie management, file storage
  4. Fast Setup: No additional configuration or API keys needed

What Notte Adds to External Browsers

When you connect Notte to an external browser, you get:

AI Agents

Use Notte’s Agent to automate complex tasks with natural language

Smart Actions

Execute high-level actions with automatic element detection

Structured Scraping

Extract data into structured formats with AI-powered scraping

Observation API

Get AI-powered page understanding and element analysis

Complete Example: Multi-Provider Setup

Run the same automation across different providers:

Supported CDP Features

When using external browsers, Notte supports: Supported:
  • Page navigation and interaction via Playwright
  • Agent-based automation
  • Structured scraping with scrape()
  • Action execution with execute()
  • Page observation with observe()
  • Screenshot capture
  • JavaScript execution
  • Cookie management
  • Session replay recording
  • Live viewer
Not Available:
  • Notte’s built-in anti-detection (use provider’s features instead)
  • Notte’s captcha solving (use provider’s features instead)
  • Notte’s proxy management (use provider’s proxies)

Troubleshooting

CDP Connection Failures

If connection fails, verify:
  1. URL Format: Ensure the CDP URL is correct (ws:// or wss:// prefix)
  2. Network Access: Check firewalls and network policies
  3. Browser Availability: Verify the browser is running and accessible
  4. Timeout: Increase session timeout for slow connections

Browser State Issues

When using external browsers:
  1. Start Fresh: Create new browser instances for each session
  2. Clean State: Clear cookies and cache between runs
  3. Session Cleanup: Always close/delete external browser sessions
  4. Resource Limits: Monitor memory and CPU usage

Authentication

Some providers require authentication in the CDP URL:
external_cdp_auth.py

Provider Comparison

Best Practices

1. Clean Up Resources

Always clean up external browser sessions:
external_cleanup.py

2. Handle Errors Gracefully

CDP connections can fail. Always use try-except:
external_error_handling.py

3. Choose the Right Provider

  • High Volume: Use managed providers (Kernel, BrowserBase)
  • Simplicity: Use Notte’s built-in browsers
  • Existing Infrastructure: Connect to your current provider setup

4. Monitor Costs

External providers typically charge per session or minute. Monitor usage:
external_monitor_costs.py

Next Steps

Kernel.sh Integration

Complete Kernel.sh integration guide

Session Configuration

Learn about session configuration options

Connect with Playwright

Use Playwright directly with sessions

Session Lifecycle

Manage session states