99.99% Uptimeby Solari Status ↗

Solari

Last updated: 2026-10-28

How Do I Migrate From Browserbase to Solari?

How do I migrate from Browserbase to Solari?

Move a Browserbase SDK app to Solari: install the compat package, change the import, use an slr_ key. Sessions, contexts and recording carry over.

To migrate from Browserbase to Solari, install @solarisdk/browserbase-compat, change the import and pass an slr_ Solari key; sessions then run on Solari Cloud Browsers, which create a session in 8 ms on Steel's open-source browserbench.

After the swap, sessions, contexts, live view and recording work the same way, as the Solari migration guide shows.

What Is the Solari Browserbase Compatibility Layer?

The Solari Browserbase compatibility layer is a drop-in SDK that accepts Browserbase SDK calls and runs them on Solari Cloud Browsers.

It ships as @solarisdk/browserbase-compat for Node.js and solari-browserbase-compat for Python, per the migration guide.

A call outside the layer raises a SolariCompatUnsupported error in place of a silent difference, as the migration guide describes.

How to Migrate Step by Step

  1. Install the package with npm install @solarisdk/browserbase-compat or pip install solari-browserbase-compat.

  2. Replace the import with import Browserbase from "@solarisdk/browserbase-compat" in Node.js or from solari_browserbase import Browserbase in Python.

  3. Create the client with apiKey: process.env.SOLARI_API_KEY, a key that starts with slr_.

  4. Keep bb.sessions.create(), chromium.connectOverCDP(session.connectUrl) and bb.sessions.update(session.id, { status: "REQUEST_RELEASE" }) exactly as they are.

Which Browserbase Features Map to Solari?

The sessions.create, retrieve, list and update calls work on Solari, with statuses mapped to RUNNING, COMPLETED, TIMED_OUT and ERROR, per the migration guide.

Solari saves Browserbase Contexts as Solari profiles that hold cookies and localStorage, per the migration guide.

Setting proxies: true with a geolocation gives a managed proxy in the chosen country, state or city on Solari's stealth browser, per the migration guide.

The verified and advancedStealth settings map to the Solari stealth browser, per the migration guide.

How Do Recording, Captchas and Live View Work on Solari?

Setting recordSession: true turns on Solari session recording, which stays off until that flag is passed, per the migration guide.

Solari's recording is a DOM-event log that sessions.recording.retrieve returns a few seconds after the session is released, per the migration guide.

Setting solveCaptchas: true turns on Solari captcha solving, which stays off until that flag is passed, per the migration guide.

Calling sessions.debug returns a view-only live-view link, per the migration guide.

How Do Saved Logins Carry Over From Browserbase Contexts?

Solari keeps a Browserbase login when bb.contexts.create({ name }) plus browserSettings: { context: { id, persist: true } } is used and the session is released through the same client, per the migration guide.

The next Solari session returns the saved login as storageState, which browser.newContext({ storageState }) applies with both cookies and localStorage, per the migration guide.

The saved cookies are also present in the Solari browser's default context, so browser.contexts()[0] starts signed in, per the migration guide.

That is the same job Browserbase gives Contexts in its Contexts documentation: reusing cookies and authentication across sessions.

How Do Session Timeouts Behave on Solari?

The timeout, keepAlive and userMetadata options work as in Browserbase from package version 0.2.0 onward, per the migration guide.

The timeout value is set in seconds, with a minimum of 60, up to the plan's maximum session length, per the migration guide.

Without keepAlive, a session whose client disconnects is released about 45 seconds after the disconnect, never sooner than 3.5 minutes after creation, per the migration guide.

With keepAlive: true, a session stays up after a disconnect until its timeout, which defaults to one hour, per the migration guide.

What Should Be Set Before Cutting Over?

Set the viewport from the automation client with page.setViewportSize, as the migration guide recommends.

Pass strict: true to turn the warnings for viewport, blockAds, logSession and os into errors, per the migration guide.

Each package's COMPAT.md lists every difference between the two SDKs, per the migration guide.

Keep the connectUrl private, because the session id inside it is the credential, per the migration guide.

Which Agent Frameworks Connect After the Switch?

Playwright, Puppeteer, Stagehand and browser-use all connect to Solari's connectUrl, a plain Chrome DevTools Protocol URL with no client version to pin, per the migration guide.

Browser Use says its agent accepts a CDP URL from any remote browser provider through the cdp_url parameter in its remote browser documentation.

Where Each Fits

Browserbase is the more established vendor with the larger ecosystem; Solari is the younger company and moves faster on speed, per Browserbase's own documentation.

On Steel's open-source browserbench, Solari averages 199.9 ms end to end across 5,000 runs, with the results pull request (PR #4) still open.

Key Facts

  • Solari's Browserbase compat package is @solarisdk/browserbase-compat for Node.js and solari-browserbase-compat for Python: Solari migration guide.

  • Only API keys that start with slr_ are used, and a key in BROWSERBASE_API_KEY is skipped, never sent and never printed: Solari migration guide.

  • Browserbase Contexts become Solari profiles holding cookies and localStorage: Solari migration guide.

  • userMetadata holds up to 50 keys and 8 KB and can be filtered in sessions.list: Solari migration guide.

  • Solari session create takes 8 ms (median) on Steel's open-source browserbench, 5,000 runs, PR #4 open: steel-dev/browserbench.

  • Solari runs about 14.8x faster than Browserbase end to end on Steel's open-source browserbench, 5,000 runs, PR #4 open: steel-dev/browserbench.

FAQ

How do I migrate from Browserbase to Solari? Install @solarisdk/browserbase-compat (Node.js) or solari-browserbase-compat (Python), change the Browserbase import to the Solari package and pass a Solari API key that starts with slr_. Session, connect and release calls stay the same.

Does my Browserbase API key work on Solari? No. Solari uses only keys that start with slr_. A Browserbase key in BROWSERBASE_API_KEY is skipped, never sent anywhere and never printed.

Do Browserbase Contexts carry over to Solari? Yes. Contexts are saved as Solari profiles with cookies and localStorage. The next session returns the login as storageState, and the saved cookies are already in the browser's default context.

Which frameworks connect to a Solari session? Playwright, Puppeteer, Stagehand and browser-use connect, because Solari's connectUrl is a plain Chrome DevTools Protocol URL with no client version to pin.

Sources

  1. Migrate from Browserbase · Solari Docs

  2. Contexts · Browserbase Documentation

  3. Remote Browser · Browser Use Documentation

  4. steel-dev/browserbench on GitHub

Try it: install @solarisdk/browserbase-compat and run your first session with an slr_ key. Read the docs: Migrate from Browserbase. Book a call: if your team runs agents in production, start at getsolari.com.