Official Python SDK for the Browserbeam API — browser automation built for AI agents
Project description
Browserbeam Python SDK
Official Python SDK for the Browserbeam API — browser automation built for AI agents.
Installation
pip install browserbeam
Quick Start
from browserbeam import Browserbeam
client = Browserbeam(api_key="sk_live_...")
session = client.sessions.create(url="https://example.com")
# Page state is available immediately
print(session.page.title)
print(session.page.interactive_elements)
# Interact with the page
session.click(ref="e1")
# Extract structured data
result = session.extract(
title="h1 >> text",
links=["a >> href"]
)
print(result.extraction)
# Close when done
session.close()
Async Support
from browserbeam import AsyncBrowserbeam
client = AsyncBrowserbeam(api_key="sk_live_...")
session = await client.sessions.create(url="https://example.com")
await session.click(ref="e1")
result = await session.extract(title="h1 >> text")
print(result.extraction)
await session.close()
Configuration
client = Browserbeam(
api_key="sk_live_...", # or set BROWSERBEAM_API_KEY env var
base_url="https://api.browserbeam.com", # default
timeout=120.0, # request timeout in seconds
)
Session Options
session = client.sessions.create(
url="https://example.com",
viewport={"width": 1280, "height": 720},
locale="en-US",
timezone="America/New_York",
proxy="http://user:pass@proxy:8080",
block_resources=["image", "font"],
auto_dismiss_blockers=True,
timeout=300,
)
Available Methods
| Method | Description |
|---|---|
session.goto(url) |
Navigate to a URL |
session.observe() |
Get page state as markdown |
session.click(ref=) |
Click an element by ref, text, or label |
session.fill(value, ref=) |
Fill an input field |
session.type(value, label=) |
Type text character by character |
session.select(value, label=) |
Select a dropdown option |
session.check(label=) |
Toggle a checkbox |
session.scroll(to="bottom") |
Scroll the page |
session.scroll_collect() |
Scroll and collect all content |
session.screenshot() |
Take a screenshot |
session.extract(**schema) |
Extract structured data |
session.fill_form(fields, submit=) |
Fill and submit a form |
session.wait(ms=) |
Wait for time, selector, or text |
session.pdf() |
Generate a PDF |
session.execute_js(code) |
Run JavaScript |
session.close() |
Close the session |
Session Management
# List active sessions
sessions = client.sessions.list(status="active")
# Get session info
info = client.sessions.get("ses_abc123")
# Destroy a session
client.sessions.destroy("ses_abc123")
Error Handling
from browserbeam import Browserbeam, RateLimitError, SessionNotFoundError
client = Browserbeam()
try:
session = client.sessions.create(url="https://example.com")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after}s")
except SessionNotFoundError as e:
print(f"Session not found: {e.message}")
Documentation
Full API documentation at browserbeam.com/docs.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
browserbeam-0.2.0.tar.gz
(9.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file browserbeam-0.2.0.tar.gz.
File metadata
- Download URL: browserbeam-0.2.0.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d3cac50719f494402092ab2193e07b88232097a88a6e9ac36c8a3d28e25af6a
|
|
| MD5 |
7b2e6c235175916427c185fd3116d7cc
|
|
| BLAKE2b-256 |
a51125ba73e9a405faead4c19fafd4cfa0d45efb70a47ebbfa98d1a2b34fe5ef
|
File details
Details for the file browserbeam-0.2.0-py3-none-any.whl.
File metadata
- Download URL: browserbeam-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7a15481f07fb2c9922dbc014eb477d9b6d54c42a9a4e82f88b530d919bbb058
|
|
| MD5 |
8504ae786832108a14a646f0f98535de
|
|
| BLAKE2b-256 |
0789ebee1f5b667121a3f920d1cc0f72f6192c0cb1b99e5793b850f20157c80a
|