- Browserbase - Cloud-managed browser infrastructure optimized for production web automation at scale
- Local - Run browsers directly on your machine for development and debugging
Browserbase Environment
Browserbase provides managed cloud browser infrastructure optimized for web automation at scale. It offers advanced features like stealth mode, proxy support, and persistent contexts.Browserbase
Discover the power of cloud-managed browser infrastructure with Browserbase.
Multi-Region Support
Stagehand API is available in multiple regions to optimize latency and support data residency requirements. The SDK automatically routes requests to the correct regional API endpoint based on your browser session’s region.| Region | API Endpoint |
|---|---|
| us-west-2 (Default) | https://api.stagehand.browserbase.com |
| us-east-1 | https://api.use1.stagehand.browserbase.com |
| eu-central-1 | https://api.euc1.stagehand.browserbase.com |
| ap-southeast-1 | https://api.apse1.stagehand.browserbase.com |
browserbaseSessionCreateParams:
Disabling Stagehand API
If you want to use Stagehand purely as a local library without routing through the Stagehand API, you can disable API mode:Environment Variables
Before getting started, set up the required environment variables:Using Stagehand with Browserbase
Basic Setup
The simplest way to get started is with default settings:Advanced Configuration
Configure browser settings, proxy support, and other session parameters:Advanced Browserbase Configuration Example
Advanced Browserbase Configuration Example
Alternative: Browserbase SDK
If you prefer to manage sessions directly, you can use the Browserbase SDK:Connecting to an Existing Session
Connect to a previously created Browserbase session using its session ID:Local Environment
The local environment runs browsers directly on your machine, providing full control over browser instances and configurations. Ideal for development, debugging, and scenarios requiring custom browser setups.Environment Comparison
| Feature | Browserbase | Local |
|---|---|---|
| Scalability | High (cloud-managed) | Limited (local resources) |
| Stealth Features | Advanced fingerprinting | Basic stealth |
| Proxy Support | Built-in residential proxies | Manual configuration |
| Session Persistence | Cloud context storage | File-based user data |
| Geographic Distribution | Multi-region deployment | Single machine |
| Debugging | Session recordings & logs | Direct DevTools access |
| Setup Complexity | Environment variables only | Browser installation required |
| Cost | Usage-based pricing | Infrastructure & maintenance |
| Best For | Production, scale, compliance | Development, debugging |
Basic Local Setup
Advanced Local Configuration
Customize browser launch options for local development:Advanced Configuration
Keep Alive
ThekeepAlive option controls whether the browser remains running after stagehand.close() is called or when the parent process exits unexpectedly (e.g., crash, SIGTERM, SIGINT).
By default, Stagehand terminates the browser and cleans up all resources when it shuts down. Setting keepAlive: true keeps the browser running independently so you can reconnect to it later.
Behavior by Environment
| Behavior | keepAlive: true | keepAlive: false (default) |
|---|---|---|
| Browserbase | Session stays active after close() | Session is terminated via API |
| Local | Chrome process continues running | Chrome process is killed and temp profile is removed |
| On crash/signal | Browser is left running | Browser is automatically cleaned up |
Local Environment
When running locally withkeepAlive: true, the Chrome process is detached from the Node.js event loop, allowing your script to exit while the browser stays open. This is useful for debugging or for handing off a browser session to another process.
Browserbase Environment
On Browserbase,keepAlive: true keeps the cloud session active so you can reconnect later using browserbaseSessionID. This is useful for long-running workflows that span multiple script executions.
The top-level
keepAlive option overrides browserbaseSessionCreateParams.keepAlive when both are provided.Fixed CDP Debugging Port
Specify a fixed Chrome DevTools Protocol (CDP) debugging port instead of using a randomly assigned one.DOM Settle Timeout
Configure how long Stagehand waits for the DOM to stabilize before taking actions.What is DOM Settling?
DOM settling ensures that:- Animations complete before interacting with elements
- Lazy-loaded content has time to appear
- JavaScript updates finish before actions are taken
- Dynamic content is fully rendered
When to Adjust
IncreasedomSettleTimeout for pages with:
- Heavy animations or transitions
- Lazy-loading or infinite scroll
- Dynamic JavaScript frameworks (React, Vue, Angular)
- Complex single-page applications
Troubleshooting
Browserbase Authentication Errors
Browserbase Authentication Errors
- Verify your
BROWSERBASE_API_KEYandBROWSERBASE_PROJECT_IDare set correctly - Check that your API key has the necessary permissions
- Ensure your Browserbase account has sufficient credits
Local Browser Launch Failures
Local Browser Launch Failures
- Install Chrome or Chromium on your system
- Set the correct
executablePathfor your Chrome installation - Check that required dependencies are installed (Linux:
libnss3-dev libatk-bridge2.0-dev libgtk-3-dev libxss1 libasound2)
Session Timeout Issues
Session Timeout Issues
- Increase session timeout in
browserbaseSessionCreateParams.timeout - Use
keepAlive: truefor long-running sessions - Monitor session usage to avoid unexpected terminations

