Create a Steel browser session via the REST API with timeout, proxy, and CAPTCHA options
domain: docs.steel.dev · 6 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
POST https://api.steel.dev/v1/sessions with headers 'steel-api-key: <YOUR_API_KEY>' and 'Content-Type: application/json'; an empty JSON body {} creates a session with defaults
Optional body params: timeout (ms, default 300000 = 5 min hard cap), inactivityTimeout (ms, releases idle sessions early), useProxy (true for Steel residential proxies, or an object for BYOP), solveCaptcha (true to enable automatic CAPTCHA solving)
Parse the response for the session id and websocket URL (websocketUrl in TS SDK / websocket_url in Python) used for CDP connections
SDK equivalent: client.sessions.create({...}) in the Node/Python Steel SDKs abstracts this REST call
Sanity-check auth with: curl -i https://api.steel.dev/v1/sessions -H 'steel-api-key: $STEEL_API_KEY' — a 200 confirms the key works
Docs: https://docs.steel.dev/overview/authentication and https://docs.steel.dev/overview/sessions-api/quickstart
Known gotchas
Auth header is steel-api-key (not Authorization: Bearer); it works for every authenticated endpoint: sessions, files, credentials, profiles, extensions
Default session lifetime is only 5 minutes; max duration is plan-gated — 15 min on Launch, 1 hour on Scale, up to 24 hours on Enterprise (https://docs.steel.dev/overview/pricinglimits)
timeout is always the hard cap; you cannot change it on a running session — release and recreate to change duration
Steel-managed proxies and CAPTCHA solving on the Launch plan require verifying the account by adding $10 in paid balance
Give your agent this knowledge — and 16,400+ more routes
One MCP install gives any agent live access to the full route map across 5,800+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?