Skip to main content
Internal Service β€” This is not an HTTP endpoint. It’s called by the browser-session route.

Purpose

Creates a new Browserbase session via their API and returns the live view URL.

Function Signature

async def _create_browserbase_session(
    api_key: str, 
    project_id: str, 
    region: str, 
    viewport: Optional[dict] = None
) -> dict

Parameters

ParameterTypeDescription
api_keystrBrowserbase API key
project_idstrBrowserbase project ID
regionstrAWS region (us-west-2, us-east-1, eu-central-1, ap-southeast-1)
viewportdictOptional viewport dimensions

Returns

{
    "session_id": "sess_abc123...",
    "connect_url": "wss://connect.browserbase.com?...",
    "live_url": "https://www.browserbase.com/devtools/..."
}

API Calls

  1. Create Session - POST /v1/sessions
  2. Get Debug URL - GET /v1/sessions/{id}/debug

Session Options

{
    "projectId": project_id,
    "region": region,
    "keepAlive": True,  # Keeps session alive after disconnect
    "browserSettings": {
        "viewport": {"width": 1280, "height": 720}
    }
}

Code Location

src/website/browser_session/routes.py
# Lines 115-189: _create_browserbase_session()