SOP 012: Embed & View Sessions
Fresh| Field | Value |
|---|---|
| SOP ID | SOP-012 |
| Version | 1.0 |
| Status | Active |
| Source | Steel Embed Sessions |
Overview
Embed Steel sessions directly into your applications or dashboards. Watch live browser activity in real-time or replay completed sessions.
Embed Types
Live Sessions
Stream an active session in real-time using WebRTC (headful by default):
html
<iframe
src="${session.sessionViewerUrl}"
style="width: 100%; height: 600px; border: none;"
></iframe>With interactivity:
html
<iframe
src="${session.debugUrl}?interactive=true&showControls=true"
style="width: 100%; height: 600px;"
></iframe>Past Sessions
Replay completed sessions as MP4/HLS video (or rrweb for legacy headless sessions).
Mobile Mode
Create sessions that emulate mobile devices with full fingerprint consistency:
typescript
const session = await client.sessions.create({
deviceConfig: { device: "mobile" }
});Benefits of mobile mode:
- Simplified navigation (linear flows vs nested menus)
- Faster page loads, simpler DOM = lower token costs
- Consistent mobile fingerprint (not just spoofed user agent)
- Works with all features (proxies, CAPTCHA, profiles)
Multi-Region Deployment
Control where browser sessions are hosted:
typescript
// Auto-select closest region (default)
const session = await client.sessions.create();
// Manual region selection
const session = await client.sessions.create({
region: "lax" // Los Angeles
});Available Regions
| Region | Code | Location |
|---|---|---|
| Los Angeles | lax | Los Angeles, USA |
| Chicago | ord | Chicago, USA |
| Washington DC | iad | Washington DC, USA |
Region vs Proxy
Region = where the browser physically runs. Proxy = where web requests appear to originate from. You can combine both for optimal setup.
Verification Checklist
- [ ] Live session streams in iframe
- [ ] Interactive mode allows user control
- [ ] Mobile mode creates mobile-fingerprinted session
- [ ] Region selection works as expected
- [ ] Past sessions replay correctly