Choose Your SDK
Python SDK
Node.js SDK
Quick Start
Get up and running in minutes with our SDK quick start guides:import Hyperbrowser from "@hyperbrowser/sdk";
import { chromium } from "playwright-core";
import { config } from "dotenv";
config();
const client = new Hyperbrowser({
apiKey: process.env.HYPERBROWSER_API_KEY,
});
async function main() {
// Create a browser session
const session = await client.sessions.create({
acceptCookies: true,
});
try {
// Connect with Playwright
const browser = await chromium.connectOverCDP(session.wsEndpoint);
const defaultContext = browser.contexts()[0];
const page = defaultContext.pages()[0];
// Navigate and interact
await page.goto("https://example.com");
const pageTitle = await page.title();
console.log(`Page title: ${pageTitle}`);
} catch (err) {
console.error(`Encountered error: ${err}`);
} finally {
// Clean up
await client.sessions.stop(session.id);
}
}
main().catch(console.error);
from hyperbrowser import Hyperbrowser
from playwright.sync_api import sync_playwright
from dotenv import load_dotenv
import os
load_dotenv()
client = Hyperbrowser(api_key=os.getenv("HYPERBROWSER_API_KEY"))
def main():
session = client.sessions.create({"accept_cookies": True})
try:
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(session.ws_endpoint)
default_context = browser.contexts[0]
page = default_context.pages[0]
page.goto("https://example.com")
page_title = page.title()
print(f"Page title: {page_title}")
except Exception as e:
print(f"Error: {e}")
finally:
client.sessions.stop(session.id)
if __name__ == "__main__":
main()
from hyperbrowser import Hyperbrowser
from playwright.sync_api import sync_playwright
from dotenv import load_dotenv
import os
from hyperbrowser.models import CreateSessionParams
load_dotenv()
client = Hyperbrowser(api_key=os.getenv("HYPERBROWSER_API_KEY"))
def main():
session = client.sessions.create(CreateSessionParams(accept_cookies=True))
try:
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(session.ws_endpoint)
default_context = browser.contexts[0]
page = default_context.pages[0]
page.goto("https://example.com")
page_title = page.title()
print(f"Page title: {page_title}")
except Exception as e:
print(f"Error: {e}")
finally:
client.sessions.stop(session.id)
if __name__ == "__main__":
main()
Need Help?
Documentation
Browse our comprehensive guides and API reference
Community
Join our Discord community for support and discussions
GitHub
View source code, report issues, and contribute