Launch a cloud browser
| Parameter | Type | Default | Description |
|---|---|---|---|
timeout | int | None | Session timeout in minutes (5-1440). Server default: 60 minutes |
proxy_location | ProxyLocation | None | Route traffic through a geographic proxy |
timeout expires or you call browser.close().
After a successful launch the handle exposes:
browser.browser_session_id: thepbs_*session id, useful for locking tasks to this session or for loggingbrowser.pages: the list of open Playwright pages in this browser context
timeout < 5, Skyvern rejects the request with UnprocessableEntityError (422). An invalid proxy_location enum is rejected the same way.
Reuse an existing browser
If you have a cloud browser session already running, reuse it instead of launching a new one.use_cloud_browser checks for an available session first. If one exists, it connects to it. If not, it creates a new one with the options you provide.
Passing an unknown session id to connect_to_cloud_browser_session raises NotFoundError (HTTP 404).
Connect to a local browser
Connect to any browser running with Chrome DevTools Protocol (CDP) enabled. This works with local Chrome, Chromium, or any CDP-compatible browser.Working with pages
Get the current page
SkyvernBrowserPage wrapper. Don’t rely on identity (is / ===) comparisons between the return value and earlier page references.
Open a new tab
Wrap an existing Playwright page (Python only)
Close the browser
Proxy and geolocation
Route browser traffic through residential proxies in specific countries.| Value | Region |
|---|---|
RESIDENTIAL | United States (default) |
RESIDENTIAL_GB | United Kingdom |
RESIDENTIAL_DE | Germany |
RESIDENTIAL_ES | Spain |
RESIDENTIAL_FR | France |
RESIDENTIAL_IE | Ireland |
RESIDENTIAL_IN | India |
RESIDENTIAL_JP | Japan |
RESIDENTIAL_AU | Australia |
RESIDENTIAL_CA | Canada |
NONE | No proxy (direct connection) |
Session persistence
Two mechanisms for preserving browser state between automation runs: Browser Sessions keep a browser alive between API calls. Usecreate_browser_session from the Tasks API to create a session, then pass its ID to multiple run_task calls. See Browser Sessions.
Browser Profiles save a snapshot of browser state (cookies, localStorage) that persists indefinitely. Create a profile from a completed run, then load it into future runs to skip login. See Browser Profiles.

