Create a browser session, then connect over CDP to automate. For an overview of session outputs, create APIs, and configuration options, see Browser Sessions .
Install dependencies
npm install anchorbrowser playwright-core
pip install anchorbrowser playwright
Create a session
import Anchorbrowser from 'anchorbrowser' ;
const anchorClient = new Anchorbrowser ({
apiKey: process . env . ANCHOR_API_KEY ,
});
const session = await anchorClient . sessions . create ();
console . log ( 'Session ID:' , session . data . id );
import os
from anchorbrowser import Anchorbrowser
anchor_client = Anchorbrowser( api_key = os.getenv( 'ANCHOR_API_KEY' ))
session = anchor_client.sessions.create()
print ( 'Session ID:' , session.data.id)
print ( 'CDP URL:' , session.data.cdp_url)
print ( 'Live view:' , session.data.live_view_url)
The response includes id, cdp_url, and live_view_url. Use live_view_url to embed the browser in your app. Pass identities or browser.profile in the request body to start authenticated — see Browser Sessions .
Connect and automate
Playwright
Puppeteer
Playwright
import { chromium } from 'playwright-core' ;
const browser = await chromium . connectOverCDP ( session . data . cdp_url );
const page = browser . contexts ()[ 0 ]. pages ()[ 0 ] ?? await browser . newPage ();
await page . goto ( 'https://example.com' );
console . log ( 'Title:' , await page . title ());
await browser . close ();
import puppeteer from 'puppeteer-core' ;
const browser = await puppeteer . connect ({
browserWSEndpoint: session . data . cdp_url ,
});
const pages = await browser . pages ();
const page = pages [ 0 ] ?? await browser . newPage ();
await page . goto ( 'https://example.com' );
console . log ( 'Title:' , await page . title ());
await browser . close ();
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(session.data.cdp_url)
page = browser.contexts[ 0 ].pages[ 0 ] if browser.contexts[ 0 ].pages else browser.new_page()
page.goto( 'https://example.com' )
print ( 'Title:' , page.title())
browser.close()
You should see a session ID, CDP URL, and the page title printed in your terminal.
Next steps