> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Browserbase

> Navigate pages, take screenshots, and extract page content with BrowserbaseTools using sync and async browser sessions.

**BrowserbaseTools** enable an Agent to automate browser interactions using Browserbase, a headless browser service.

## Prerequisites

The following example requires Browserbase API credentials after you signup [here](https://www.browserbase.com/), and the Playwright library.

```shell theme={null}
uv pip install browserbase playwright openai
export BROWSERBASE_API_KEY=xxx
export BROWSERBASE_PROJECT_ID=xxx
```

## Example

The following agent will use Browserbase to visit `https://quotes.toscrape.com` and extract content. Then navigate to page two of the website and get quotes from there as well.

```python cookbook/91_tools/browserbase_tools.py theme={null}
from agno.agent import Agent
from agno.tools.browserbase import BrowserbaseTools

agent = Agent(
    name="Web Automation Assistant",
    tools=[BrowserbaseTools()],
    instructions=[
        "You are a web automation assistant that can help with:",
        "1. Capturing screenshots of websites",
        "2. Extracting content from web pages",
        "3. Monitoring website changes",
        "4. Taking visual snapshots of responsive layouts",
        "5. Automated web testing and verification",
    ],
    markdown=True,
)

agent.print_response("""
    Visit https://quotes.toscrape.com and:
    1. Extract the first 5 quotes and their authors
    2. Navigate to page 2
    3. Extract the first 5 quotes from page 2
""")
```

> [!TIP]
>
> See the [Startup Analyst MCP agent](https://agno-v2.mintlify.site/tools/mcp/usage/stagehand.md)

## Toolkit Params

| Parameter | Type | Default | Description |
| - | - | - | - |
| `api_key` | `str` | `None` | Browserbase API key. If not provided, uses BROWSERBASE\_API\_KEY env var. |
| `project_id` | `str` | `None` | Browserbase project ID. If not provided, uses BROWSERBASE\_PROJECT\_ID env var. |
| `base_url` | `str` | `None` | Custom Browserbase API endpoint URL. Only use this if you're using a self-hosted Browserbase instance or need to connect to a different region. If not provided, uses BROWSERBASE\_BASE\_URL env var. |
| `enable_navigate_to` | `bool` | `True` | Enable the navigate\_to functionality. |
| `enable_screenshot` | `bool` | `True` | Enable the screenshot functionality. |
| `enable_get_page_content` | `bool` | `True` | Enable the get\_page\_content functionality. |
| `enable_close_session` | `bool` | `True` | Enable the close\_session functionality. |
| `all` | `bool` | `False` | Enable all functionality. |
| `parse_html` | `bool` | `True` | Extract only visible text content instead of raw HTML. Reduces token usage. |
| `max_content_length` | `Optional[int]` | `100000` | Maximum character length for page content. Longer content is truncated with a notice. Set to `None` for no limit. |

## Toolkit Functions

| Function | Description |
| - | - |
| `navigate_to` | Navigates to a URL. Takes a URL and an optional connect\_url parameter. |
| `screenshot` | Takes a screenshot of the current page. Takes a path to save the screenshot, a boolean for full-page capture, and an optional connect\_url parameter. |
| `get_page_content` | Gets the content of the current page. Returns text-only content when `parse_html=True` (default), otherwise raw HTML. Takes an optional connect\_url parameter. |
| `close_session` | Closes a browser session. |

## Developer Resources

* [Tools](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/browserbase.py)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.