Browserbase

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.

1uv pip install browserbase playwright
2export BROWSERBASE_API_KEY=xxx
3export 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.

1from kern.agent import Agent
2from kern.tools.browserbase import BrowserbaseTools
3
4agent = Agent(
5 name="Web Automation Assistant",
6 tools=[BrowserbaseTools()],
7 instructions=[
8 "You are a web automation assistant that can help with:",
9 "1. Capturing screenshots of websites",
10 "2. Extracting content from web pages",
11 "3. Monitoring website changes",
12 "4. Taking visual snapshots of responsive layouts",
13 "5. Automated web testing and verification",
14 ],
15 markdown=True,
16)
17
18agent.print_response("""
19 Visit https://quotes.toscrape.com and:
20 1. Extract the first 5 quotes and their authors
21 2. Navigate to page 2
22 3. Extract the first 5 quotes from page 2
23""")

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.
enable_navigate_toboolTrueEnable the navigate_to functionality.
enable_screenshotboolTrueEnable the screenshot functionality.
enable_get_page_contentboolTrueEnable the get_page_content functionality.
enable_close_sessionboolTrueEnable the close_session functionality.
allboolFalseEnable all functionality.

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