Skip to main content
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