Browserbase Python SDK

1.4.0 · active · verified Sun Mar 01

Python SDK for Browserbase, a serverless headless browser platform. Provides remote browser sessions accessible via Playwright/Selenium CDP connections. Has undergone a complete SDK rewrite at v1.0.0 (October 2024) — the old high-level API (browserbase.load(), browserbase.screenshot()) is gone. Current SDK is a low-level Stainless-generated client focused on session lifecycle management.

Warnings

Install

Imports

Quickstart

Current v1.x SDK: create session, connect via CDP, use Playwright normally. All browser logic is standard Playwright — Browserbase just provides the remote infrastructure.

import os
from playwright.sync_api import sync_playwright
from browserbase import Browserbase

bb = Browserbase(api_key=os.environ["BROWSERBASE_API_KEY"])

# Create a remote browser session
session = bb.sessions.create(
    project_id=os.environ["BROWSERBASE_PROJECT_ID"],
    browser_settings={
        "blockAds": True,
        "recordSession": True,
    }
)

# Connect via CDP and use Playwright normally
with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(session.connect_url)
    context = browser.contexts[0]
    page = context.pages[0]

    page.goto("https://news.ycombinator.com/")
    print(page.title())
    page.screenshot(path="screenshot.png")

    browser.close()

print(f"Replay: https://browserbase.com/sessions/{session.id}")

view raw JSON →