Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
GitHub
92 stars
Latest release
v1.18.1
Date

About

Python SDK for Browserbase — the headless browser platform for AI agents.

What it does

It gives Python applications a typed client for creating and managing Browserbase resources through its REST API. Code can create a remote browser session, then hand the returned connection URL to Playwright for page navigation, assertions, and screenshots.

Why it's ranked here

This is a strong choice when Python code needs structured access to Browserbase. Synchronous and asynchronous clients, typed request and response data, configurable retries, streaming responses, and explicit error classes cover the practical concerns of production API integration.

What's good

Request parameters use typed dictionaries, while responses use Pydantic models with JSON and dictionary conversion helpers. The client supports file uploads, raw response access, streamed bodies, custom HTTP transports, proxies, per-request settings, and an optional asynchronous backend intended for improved concurrency.

Tradeoffs

It manages Browserbase API resources but does not perform page automation itself. The documented workflow adds Playwright for browser actions. Using the service requires an API key and usually a project identifier. The installation example uses a pre-release flag, and running repository examples requires Rye plus environment configuration.

How to use it well

Use it in Python services that create remote sessions or manage related Browserbase resources, especially when typed models and asynchronous requests matter. Pair it with Playwright or Selenium for actual browser interaction. It does not replace an automation framework or provide a standalone command-line workflow.

Technical notes+

src/browserbase/_client.py defines Browserbase and AsyncBrowserbase, reads BROWSERBASE_API_KEY, defaults to https://api.browserbase.com, and exposes resource clients for sessions, projects, contexts, extensions, certificates, search, fetch, and agents. src/browserbase/_constants.py sets a 60-second timeout, two retries, and HTTP connection limits. src/browserbase/_response.py implements raw, parsed, and streaming response handling, while src/browserbase/_streaming.py includes synchronous and asynchronous SSE decoding. src/browserbase/_files.py supports synchronous and asynchronous PathLike reads. src/browserbase/_compat.py bridges Pydantic 1 and 2 behavior. pyproject.toml configures Hatchling builds, strict Pyright and mypy checks, Ruff, pytest, and an optional aiohttp transport.

Observed

License
Apache-2.0
Primary language
Python
Python support
Python 3.9 or newer
Install surface
PyPI package named browserbase; the documented command uses pip with the pre-release flag
Interface
Synchronous and asynchronous Python library clients for the Browserbase REST API
HTTP backends
httpx by default, with optional aiohttp support for the asynchronous client
Platform support
Classified as OS independent, with POSIX, macOS, Linux, and Windows classifiers
Packaging
Hatchling build backend with source code packaged from src/browserbase

Read from README.md, pyproject.toml, src/browserbase/_qs.py, src/browserbase/_files.py, src/browserbase/_types.py, src/browserbase/_client.py, src/browserbase/_compat.py, src/browserbase/_models.py, src/browserbase/__init__.py, src/browserbase/_version.py, src/browserbase/_resource.py, src/browserbase/_response.py, src/browserbase/_constants.py, src/browserbase/_streaming.py.

What it can do

  • Create headless browser sessions

    Session configuration parametersBrowser session instance

  • Navigate web pages programmatically

    URL and navigation commandsLoaded web page content

  • Extract data from web pages

    Web page elements and selectorsScraped text, attributes, or structured data

  • Interact with web page elements

    Click, type, or form submission commandsUpdated page state or responses

  • Take screenshots of web pages

    Page or element targeting parametersImage files or binary data

  • Execute JavaScript in browser context

    JavaScript code stringsScript execution results or return values

  • Manage browser sessions remotely

    Session control commandsSession status updates or confirmations

Tags

browserbasesdkpythonbrowserautomation

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.