# Browserbase

Browserbase is a serverless platform that enables developers to run, manage, and monitor headless browsers at scale, offering seamless integration with tools like Playwright, Puppeteer, and Selenium.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 19
- **Triggers:** 0
- **Slug:** `BROWSERBASE_TOOL`
- **Version:** 20260312_00

## Tools

### Create a new browser context

**Slug:** `BROWSERBASE_TOOL_CONTEXTS_CREATE`

Tool to create a new browser context. Use when you need to obtain upload credentials for a custom user-data-directory in a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `projectId` | string | Yes | The Project ID. Can be found in Settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve a browser context

**Slug:** `BROWSERBASE_TOOL_CONTEXTS_GET`

Tool to retrieve details of a specific browser context. Use when you have a context ID and need its metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the browser context to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Browser Context

**Slug:** `BROWSERBASE_TOOL_CONTEXTS_UPDATE`

Tool to update a specific browser context. Use when you need fresh upload URL and encryption details for an existing context, after obtaining a valid context ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the browser context to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Browser Session

**Slug:** `BROWSERBASE_TOOL_CREATE_BROWSER_SESSION`

Tool to create a new browser session. Use when you need an isolated browser context before performing any page interactions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string | No | Region for the session, e.g. 'us-west-2', 'us-east-1'. |
| `proxies` | object | No | Optional proxy configuration for the session. |
| `timeout` | integer | No | Session timeout in seconds. |
| `contextId` | string | No | Context ID for session persistence and reuse. |
| `keepAlive` | boolean | No | Whether to keep the session alive after disconnection. |
| `projectId` | string | Yes | Project ID to associate with the browser session. |
| `extensionId` | string | No | The ID of the custom extension to load. |
| `userMetadata` | object | No | Custom metadata object for the session. All values must be strings. The entire metadata object is limited to 512 characters when serialized to JSON. Note: The API has been observed to reject certain string patterns including URLs and strings containing '://' - use simple alphanumeric strings with underscores/hyphens. Examples: {'purpose': 'navigation', 'env': 'staging', 'testId': 'test-123'}. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete a browser context

**Slug:** `BROWSERBASE_TOOL_DELETE_CONTEXT`

Tool to delete a browser context and all its stored data (cookies, localStorage, etc.). Use when you need to permanently remove a context.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the browser context to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete a browser extension

**Slug:** `BROWSERBASE_TOOL_DELETE_EXTENSION`

Tool to delete an uploaded browser extension by its ID. Use when you need to remove an extension from Browserbase.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the browser extension to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Session Downloads

**Slug:** `BROWSERBASE_TOOL_DELETE_SESSION_DOWNLOADS`

Tool to delete all file downloads from a specific browser session. Use when you need to clean up session artifacts or free storage space.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the session to delete downloads from |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve a browser extension

**Slug:** `BROWSERBASE_TOOL_GET_EXTENSION`

Tool to retrieve details of a specific browser extension. Use when you have an extension ID and need its metadata (file name, timestamps, project ID).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the browser extension to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve a project

**Slug:** `BROWSERBASE_TOOL_GET_PROJECT`

Tool to retrieve details of a specific project including settings and configuration. Use when you have a project ID and need its metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the project to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project usage statistics

**Slug:** `BROWSERBASE_TOOL_GET_PROJECT_USAGE`

Tool to retrieve usage statistics for a project including browser minutes and proxy bytes consumed. Use when you need to monitor or track resource usage for a specific project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the project to retrieve usage statistics for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Projects

**Slug:** `BROWSERBASE_TOOL_LIST_PROJECTS`

Tool to list all projects for the authenticated account. Use when you need to retrieve all projects associated with the current API key.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve a browser session

**Slug:** `BROWSERBASE_TOOL_SESSIONS_GET`

Tool to retrieve details of a specific browser session. Use when you have a session ID and need its metadata (status, URLs, timestamps).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the browser session to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Session Debug URLs

**Slug:** `BROWSERBASE_TOOL_SESSIONS_GET_DEBUG`

Tool to retrieve live debug URLs for a specific session. Use when you need to connect to a running session for debugging.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the session to retrieve debug URLs for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Session Artifacts

**Slug:** `BROWSERBASE_TOOL_SESSIONS_GET_DOWNLOADS`

Tool to download files from a specific session. Use after session completion to retrieve all generated artifacts in a ZIP archive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the session to download artifacts from |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Session Logs

**Slug:** `BROWSERBASE_TOOL_SESSIONS_GET_LOGS`

Tool to retrieve logs of a specific session. Use after actions in a session to inspect network events and data exchange.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the session to retrieve logs for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Browser Sessions

**Slug:** `BROWSERBASE_TOOL_SESSIONS_LIST`

Tool to list all browser sessions. Use when you need to retrieve sessions with optional filtering by status or metadata query.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query sessions by user metadata. Format: user_metadata['key']:'value' or for nested keys: user_metadata['key1']['key2']:'value'. |
| `status` | string ("RUNNING" | "ERROR" | "TIMED_OUT" | "COMPLETED") | No | Filter sessions by status. Available options: RUNNING, ERROR, TIMED_OUT, COMPLETED. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Browser Session

**Slug:** `BROWSERBASE_TOOL_SESSIONS_UPDATE`

Tool to update the status of a specific browser session. Use when you need to request session completion before timeout to avoid additional charges.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the browser session to update |
| `status` | string | Yes | Set to REQUEST_RELEASE to request that the session complete before its timeout |
| `projectId` | string | Yes | The Project ID linked to the session |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Browser Extension

**Slug:** `BROWSERBASE_TOOL_UPLOAD_EXTENSION`

Tool to upload a browser extension for use in sessions. Supports Chrome extension format (ZIP). Use when you need to add custom browser extensions to your Browserbase project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | The browser extension file to upload (ZIP format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File to Session

**Slug:** `BROWSERBASE_TOOL_UPLOAD_SESSION_FILE`

Tool to upload files to a browser session for file input operations. Use when you need to make files available for file input fields or downloads within a browser automation session.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the session to upload the file to |
| `file` | object | Yes | File to upload. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
