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, and the Playwright library.

pip install browserbase playwright
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.

cookbook/tools/browserbase_tools.py
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
""")

Toolkit Params

ParameterTypeDefaultDescription
api_keystrNoneBrowserbase API key. If not provided, uses BROWSERBASE_API_KEY env var.
project_idstrNoneBrowserbase project ID. If not provided, uses BROWSERBASE_PROJECT_ID env var.
base_urlstrNoneCustom 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.

Toolkit Functions

FunctionDescription
navigate_toNavigates to a URL. Takes a URL and an optional connect_url parameter.
screenshotTakes 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_contentGets the HTML content of the current page. Takes an optional connect_url parameter.
close_sessionCloses a browser session.

Developer Resources