Steel Browser

Add cloud browser automation to Convex with multi-tenant sessions, scraping, captcha solving, and persistent browser state.

Installation

npm install @steel-dev/convex

About Steel Browser

Steel Browser provides cloud browser automation for Convex applications with built-in multi-tenant session management. Run browser sessions in the cloud for web scraping, taking screenshots, solving captchas, and handling file operations directly from Convex actions. Sessions persist state in your Convex database with real-time queries and automatic tenant isolation by ownerId.

Benefits

Use cases

how to add web scraping to Convex app

The Steel Browser Convex Component provides scraping capabilities through its steel module for one-shot operations and sessions module for persistent browser sessions. You can scrape pages, take screenshots, or generate PDFs directly from Convex actions with built-in multi-tenant support.

Convex component for browser automation

Steel Browser Convex Component manages cloud browser sessions with full lifecycle control including create, refresh, and release operations. It persists session state in your Convex database and provides real-time queryable data from your frontend.

solve captchas in Convex actions

The component's captchas module lets you check captcha status, solve text captchas, and solve image captchas on any browser session. All captcha solving operations are scoped by ownerId for multi-tenant isolation.

multi-tenant browser sessions Convex

Every Steel Browser Component operation is automatically scoped by ownerId, ensuring tenant A never sees tenant B's sessions. Browser profiles, credentials, and session files are all isolated at the data layer in your Convex database.

Frequently asked questions

How does the Steel Browser Convex Component handle multi-tenancy?

The Steel Browser Convex Component automatically scopes all operations by ownerId, providing built-in multi-tenant isolation at the data layer. Each tenant's browser sessions, profiles, credentials, and files are completely separated in your Convex database. You can set a default ownerId in the constructor or override it per method call.

What's the difference between the steel and sessions modules?

The steel module provides one-shot operations like scraping, screenshots, or PDF generation without session management. The sessions module creates persistent browser sessions that you can reuse, refresh, and manage over time with saved profiles and credentials.

Can I query browser session data from my frontend in real-time?

Yes, the Steel Browser Convex Component persists all session state in your Convex database, making it queryable in real-time from your frontend. This eliminates the need for polling or webhooks since Convex provides reactive data synchronization.

How do I handle browser extensions and file uploads?

The Steel Browser Convex Component provides separate modules for extensions and files. The extensions module handles uploading, updating, and managing browser extensions, while the files module manages global files and the sessionFiles module attaches files to specific browser sessions.

Links