
Browserbase Python SDK
https://github.com/browserbase/sdk-python- Category
- Developer Tools
- Rank
- No. 864Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- browserbase
- 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 parameters → Browser session instance
Navigate web pages programmatically
URL and navigation commands → Loaded web page content
Extract data from web pages
Web page elements and selectors → Scraped text, attributes, or structured data
Interact with web page elements
Click, type, or form submission commands → Updated page state or responses
Take screenshots of web pages
Page or element targeting parameters → Image files or binary data
Execute JavaScript in browser context
JavaScript code strings → Script execution results or return values
Manage browser sessions remotely
Session control commands → Session status updates or confirmations
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.