99.99% Uptimeby Solari Status ↗

Solari vs Bright Data: How to Migrate Your Browser Agents

·

6 min read

·

Summarize with AI
ON THIS PAGE

In 2026, the browser is becoming a workplace for software. AI agents now sign in, click through forms and finish tasks on real websites, and that is a different job from copying pages into a dataset.

Agents need logins that persist, settings per site and a record of every run, not only clean pages. Tools built for web scraping are tuned to pull data out of public pages. Migrating from Bright Data's Browser API to Solari takes three steps: create a Solari API key, replace the Bright Data endpoint with a Solari session, and map your unblocking settings to Solari's stealth, proxy and captcha options. Your Playwright or Puppeteer code stays the same, and this guide walks through why teams switch, each step of the move, and what you get once you are on Solari.

Why Do Teams Move Browser Agents Off Bright Data?

Teams move when their workload changes from collecting pages to running agents. Bright Data built its Browser API for data collection, and it does that job well: unblocking, proxy rotation and CAPTCHA handling come built into every session.

Agent work asks for different things. Bright Data bills the Browser API per gigabyte of traffic, so the cost of a run follows how heavy the pages are rather than how long your agent works. Its configuration guide times out idle sessions, caps how long a session lasts and asks for a new session whenever a job moves to a different domain.

An agent that signs in to one tool, checks a second site and writes the result into a third runs into those rules on every task. It needs a login that survives between runs, settings it can turn on per site, and a replay a person can review. Solari was built for that shape of work.

How Do You Migrate From Bright Data to Solari?

The migration changes how your script gets a browser, not what it does with one. These are the steps, in order:

  • Create a Solari API key. Sign in to the console, create a key and export it as SOLARI_API_KEY; the Solari quickstart walks through it. Install @solarisdk/browser for TypeScript or solari-browser for Python. The SDK ships its own browser client, so there is nothing else to install.

  • Swap the endpoint. Your script connects to Bright Data with a zone URL; on Solari it creates a session and connects to that session's cdpEndpoint with the same connectOverCDP call. Everything after the connection, from page.goto to your locators, stays as it is. Keep the endpoint out of logs, because anyone who holds it can drive the browser until the session ends.

  • Map unblocking to stealth. Bright Data unblocks every session by default. Solari gives you a fast default browser plus a stealth mode you turn on with stealth: true for sites with bot defenses. Run trusted sites on the default browser and save stealth for the targets that block you.

  • Pick your proxies. Add a proxy with a country code and choose rotating residential, static ISP or mobile IPs. Give several sessions the same session label when a multi-step login needs one IP. Set blockHeavy to keep video and large images off the proxy and out of your traffic bill.

  • Turn on captcha solving. Set captcha: true and Solari solves reCAPTCHA, hCaptcha and Turnstile in the background as soon as the widget appears. Have your agent wait for the response field to fill before it submits the form.

  • Run both, then cut over. Point a slice of your jobs at Solari with recording on, and compare the replays and outputs against your Bright Data runs. Once they match, move the rest.

Here is the core change in Playwright:

// Before: Bright Data Browser API
const browser = await chromium.connectOverCDP(process.env.BRD_ENDPOINT!)

// After: Solari
import { Solari } from "@solarisdk/browser"
const solari = new Solari({ apiKey: process.env.SOLARI_API_KEY! })
const session = await solari.sessions.create({ stealth: true, proxy: { country: "us" }, captcha: true })
const browser = await chromium.connectOverCDP(session.cdpEndpoint)

// ...the rest of your script is unchanged...
await browser.close()
await solari.sessions.releaseAndWait(session.id)
// Before: Bright Data Browser API
const browser = await chromium.connectOverCDP(process.env.BRD_ENDPOINT!)

// After: Solari
import { Solari } from "@solarisdk/browser"
const solari = new Solari({ apiKey: process.env.SOLARI_API_KEY! })
const session = await solari.sessions.create({ stealth: true, proxy: { country: "us" }, captcha: true })
const browser = await chromium.connectOverCDP(session.cdpEndpoint)

// ...the rest of your script is unchanged...
await browser.close()
await solari.sessions.releaseAndWait(session.id)
// Before: Bright Data Browser API
const browser = await chromium.connectOverCDP(process.env.BRD_ENDPOINT!)

// After: Solari
import { Solari } from "@solarisdk/browser"
const solari = new Solari({ apiKey: process.env.SOLARI_API_KEY! })
const session = await solari.sessions.create({ stealth: true, proxy: { country: "us" }, captcha: true })
const browser = await chromium.connectOverCDP(session.cdpEndpoint)

// ...the rest of your script is unchanged...
await browser.close()
await solari.sessions.releaseAndWait(session.id)
Solari vs Bright Data settings map

Most settings map one to one. The difference is that Solari makes each one an explicit option, so stealth and proxies run only on the sessions that need them and everything else runs on the faster default browser.

What Role Does Solari Play?

Solari is the infrastructure your agent runs on: cloud browsers, sandboxes and desktops from one API. Your agent brings the logic; Solari gives it a browser that fits agent work.

  • Browsers that start at once. Solari browsers are ready in 8 ms, and with Solari you can launch up to 100,000 browser sessions at once. Your agent works through a full list of sites in one pass instead of queueing behind session starts.

  • Logins that stay signed in. A Solari profile saves a session's cookies and site data, so your agent signs in once and every later session opens already signed in. Profiles use Playwright's storageState format, so a login file you already have uploads as is. For sites with two-factor prompts, a person signs in once in the profile editor and saves.

  • A record of every run. Record a session and replay it from a link or the console, or download it as a line-by-line log of everything that happened on the page. Recording captures typed input by default, so leave it off for sessions that enter passwords.

  • Bring the client you have. Solari works with Playwright, Puppeteer, browser-use and any client that speaks the Chrome DevTools Protocol. Your scripts move with one endpoint change and nothing else.

  • Settings per site, not per account. Stealth, proxies, captcha solving and recording are all opt-in on each session. A job that mixes an internal tool with a defended retail site runs the first on the default browser and the second with stealth and a proxy.

Browsers are only part of an agent. Solari sandboxes run the code that parses results and calls your model, and Solari desktops give computer use models a full Linux screen to operate, all on one account, one API key and one bill. Solari bills browsers for the time they run and bills proxy traffic per gigabyte only on sessions that use a proxy, so a page-heavy site no longer sets the price of every run.

Where Are Browser Agents Going Next?

Most teams that started on scraping infrastructure now run a mix of collection jobs and agents. Over the next year that mix shifts in four ways:

  • From pages to tasks. Agents will be judged on whether they finish a job, such as filing a form or updating a record, not on how many pages they fetched. Infrastructure gets judged the same way.

  • Logins as the default. The most valuable work sits behind a sign-in. Saved logins, per-site proxies and replays move from extras to the baseline every agent needs.

  • Sites that expect agents. More sites will offer agents a sanctioned way in alongside their bot defenses. Teams will keep stealth for the sites that still block and use the front door where it exists.

  • Agents that use any app. Computer-use models already operate software through a screen. Browser agents will hand off to desktops and sandboxes inside the same job.

What stays human is judgment: which sites your agents may touch, what they submit under your name, and who reviews the replay when something looks wrong. The teams that win will spend their people on that and hand the clicking to agents.

Get Started With Solari

Bright Data is the more established vendor with the larger proxy network; Solari is the younger company and moves faster on speed and price. Start by moving one job, such as a nightly run against a single site, and cut over the rest once its replays match. Solari is the fastest and cheapest way to run cloud browsers and VMs for browser agents. Get started with a free account and start running your agents today.

Share this article

Give every agent
a place to work

Browsers, sandboxes and desktops from one API. Start free and scale when you need to.

Planet horizon at sunrise
opsra logo

The Fastest AI Infrastructure

Unsubscribe anytime. See our Privacy Policy.

Copyright © 2026 Solari

Engineered by Pinetree

opsra logo

The Fastest AI Infrastructure

Unsubscribe anytime. See our Privacy Policy.

Copyright © 2026 Solari

Engineered by Pinetree

opsra logo

The Fastest AI Infrastructure

Unsubscribe anytime. See our Privacy Policy.

Copyright © 2026 Solari

Engineered by Pinetree