Solari

SDK feature matrix

What each Solari SDK can do today, for the Cloud Browser and for sandboxes and desktops, in all five languages. Everything here is also available through the REST API, so a missing entry means “not in that SDK yet”, not “not in the product”.

✓ available   ~ partly, see the note   — not yet. This table reflects the latest releases as of 27 October 2026. Newer releases may add to it; the registry pages linked below show the current versions.

Cloud Browser

@solarisdk/browser (npm), solari-browser (PyPI), Go, Rust and C++. See Browser SDKs for install and examples.

FeatureTypeScriptPythonGoRustC++
Create a session (profile, recording, stealth, captcha, proxy)✓✓✓✓✓
Get one session✓✓✓✓✓
List sessions✓✓✓✓✓
Release a session
TypeScript, Python and Go also have releaseAndWait / release_and_wait.
✓✓✓✓✓
Launch: create, connect and hand back a browser
TypeScript and Python return a Playwright browser. Go (chromedp) and Rust (chromiumoxide, opt-in feature) connect over CDP. C++ returns a connected raw CDP connection (needs the SOLARI_WITH_WS build option, on by default) and releases the session when you close it.
✓✓~~~
CDP endpoint on the session✓✓✓✓✓
Profiles: create, list, delete, save✓✓✓✓✓
Proxy countries✓✓✓✓✓
Session recording: replay URL and download✓✓✓✓✓
Session timeout, keep-alive and user metadata at create✓✓✓✓✓
Allowed domains (egress allowlist)
Available through the REST API and the Browserbase-compatible packages.
—————
Login handoff, auto-login and live-view links
Available through the REST API and the MCP server.
—————
Reads SOLARI_API_KEY / SOLARI_BASE_URL from the environment
Pass the API key in code. Base URL defaults to the production gateway.
—————

Sandboxes and desktops

@solarisdk/sandbox and @solarisdk/desktop (npm), solari-sandbox and solari-desktop (PyPI), Go, Rust and C++. See SDKs & Languages for install and examples.

FeatureTypeScriptPythonGoRustC++
Create, connect, get, kill✓✓✓✓✓
Pause, resume, start✓✓✓✓✓
List sandboxes (and list all, with paging)✓✓———
Park, unpark, change the idle timeout of a running sandbox✓✓———
Create: template, CPU, memory, disk, env, metadata, isolation, lifecycle✓✓✓✓✓
Create: secrets✓————
Create: idle timeout
TypeScript has idleTimeoutMs. The others set it with timeout_ms / TimeoutMs.
✓~~~~
Mount volumes at create✓✓✓✓✓
Volumes: create, list, get, delete✓✓———
Templates: build, list, get, delete✓✓———
Snapshots: list, get, delete, promote✓✓———
Snapshot and revert a running sandbox✓✓———
Run a command, or start one and stream it✓✓✓✓✓
Terminal (PTY)✓✓———
Files: read, write, list, stat, rename, remove, mkdir✓✓✓✓✓
Files: search, watch, upload, download, mount✓✓———
Download, upload and preview URLs✓✓———
Run code✓✓✓✓✓
Code contexts (create a persistent interpreter)✓✓✓——
Git (clone, status, add, commit, push, pull, checkout, branches, log)✓✓✓✓✓
Set environment variables on a running sandbox, and read its resource metrics✓✓———
Create a desktop VM
Go creates one by setting the kind to desktop.
✓✓~✓✓
Desktop control: screenshot, mouse, keyboard, clipboard, display✓✓———
Reads SOLARI_API_KEY / SOLARI_BASE_URL from the environment
TypeScript, Python, Go (v0.3.1+) and Rust (0.3.1+): the base URL is optional and defaults to the production gateway. C++: pass the API key and the base URL (https://api.getsolari.com) in code.
—————
Compatibility packages
Already using another vendor’s SDK? The Browserbase, E2B, Daytona and Runloopcompatibility packages (TypeScript and Python) have their own tables of what is supported.

Spotted something missing or wrong? The REST API reference is the source of truth for what the platform supports; the SDKs add to this table as they catch up.