Skip to content

Commands & SDK Reference

Fresh

Steel SDK (TypeScript)

Sessions API

typescript
import Steel from 'steel-sdk';
const client = new Steel({ steelAPIKey: process.env.STEEL_API_KEY });

// Create session
const session = await client.sessions.create({
  useProxy: true,              // Enable residential proxy
  solveCaptcha: true,          // Auto CAPTCHA solving
  timeout: 600000,             // Timeout in ms (default: 300000)
  userAgent: 'custom-ua',      // Custom user agent
  persistProfile: true,        // Save browser profile
  profileId: 'profile-id',    // Reuse existing profile
  extensionIds: ['all_ext'],   // Inject extensions
  namespace: 'default',        // Credential namespace
  credentials: {},             // Enable credential injection
  sessionContext: contextObj,  // Reuse auth context
});

// Release session
await client.sessions.release(session.id);

// Release ALL sessions
await client.sessions.releaseAll();

// Get session context (for auth reuse)
const ctx = await client.sessions.context(session.id);

// Retrieve session details
const details = await client.sessions.retrieve(session.id);

CAPTCHA API

typescript
await client.sessions.captchas.solve(sessionId);
await client.sessions.captchas.solve(sessionId, { taskId: 'id' });
await client.sessions.captchas.solve(sessionId, { url: 'https://...' });
await client.sessions.captchas.solve(sessionId, { pageId: 'id' });

Extensions API

typescript
await client.extensions.upload({ file: buffer });
await client.extensions.upload({ url: 'chrome-web-store-url' });
await client.extensions.list();
await client.extensions.update(id, { file: buffer });
await client.extensions.delete(id);
await client.extensions.deleteAll();

Credentials API

typescript
await client.credentials.create({
  origin: 'https://...',
  namespace: 'default',
  value: { username: '...', password: '...', totpSecret: '...' }
});

Profiles API

typescript
await client.profiles.create({ userDataDir: buffer, userAgent: '...' });
await client.profiles.update(profileId, { userAgent: '...' });

Connection Strings

Playwright (Node.js)

typescript
// Method 1: Auto-create session
const browser = await chromium.connectOverCDP(
  'wss://connect.steel.dev?apiKey=KEY'
);

// Method 2: Connect to existing session
const browser = await chromium.connectOverCDP(
  `wss://connect.steel.dev?apiKey=KEY&sessionId=ID`
);

// Get page from existing context
const page = browser.contexts()[0].pages()[0];

Puppeteer

typescript
const browser = await puppeteer.connect({
  browserWSEndpoint: `wss://connect.steel.dev?apiKey=KEY&sessionId=ID`
});
const page = await browser.newPage();

Proxy Configuration

typescript
// Steel-managed (simple)
{ useProxy: true }

// Geographic targeting
{ useProxy: { geolocation: { country: "US" } } }
{ useProxy: { geolocation: { country: "US", state: "NY" } } }
{ useProxy: { geolocation: { city: "LOS_ANGELES" } } }

// BYOP
{ useProxy: { server: "http://user:pass@host:port" } }
// Formats: http://, https://, socks5://

Steel CLI

bash
# Authentication
steel login                    # Login to Steel
steel logout                   # Logout
steel config                   # View session info

# Instant Execution
steel run playwright           # Run Playwright automation
steel run browser-use --task "..." # Run AI agent with task
steel run playwright --view    # Run with live session viewer

# Project Scaffolding
steel forge                    # Interactive template selection
steel forge playwright --name NAME  # Create project from template

# Configuration
steel settings                 # Switch local/cloud mode

# Maintenance
steel cache --clean            # Clear cached templates
steel update                   # Update CLI
steel --version                # Check version
steel docs                     # Open documentation
steel support                  # Join Discord

Docker (Self-Hosting)

bash
# Single image
docker run --rm -it -p 3000:3000 -p 9223:9223 ghcr.io/steel-dev/steel-browser:latest

# Docker Compose
docker compose up -d
docker compose pull && docker compose up -d  # Update

# Health check
curl http://localhost:3000/api/health

Pricing Quick Reference

PlanPriceBrowser HoursConcurrentMax Session
Hobby$0100515 min
Starter$292901030 min
Developer$991,238201 hour
Pro$4999,98010024 hours

SOP Documentation Hub - Built from Steel.dev Official Docs