Skip to content

API Reference

Fresh

Complete REST API reference for Steel.dev. Base URL: https://api.steel.dev

Authentication: Include header steel-api-key: YOUR_API_KEY with all requests.

Browser Tools

POST /v1/scrape - Scrape Webpage Content

Extracts content from a URL in multiple formats.

ParameterTypeRequiredDescription
urlstringYesURL of the webpage to scrape
delaynumberNoDelay before scraping (ms)
formatstring[]NoOutput formats: html, readability, cleaned_html, markdown
pdfbooleanNoInclude PDF in response
screenshotbooleanNoInclude screenshot in response
useProxybooleanNoUse Steel residential proxy
regionobjectNoGeographic region for the request
bash
curl https://api.steel.dev/v1/scrape \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'steel-api-key: YOUR_API_KEY' \
  --data '{
    "url": "https://example.com",
    "format": ["markdown", "html"],
    "screenshot": true,
    "useProxy": true
  }'
typescript
import Steel from 'steel-sdk';
const client = new Steel({ steelAPIKey: 'YOUR_API_KEY' });
const result = await client.scrape({
  url: 'https://example.com',
  format: ['markdown'],
  useProxy: true
});

Response (200):

json
{
  "content": {
    "html": "string",
    "cleaned_html": "string",
    "markdown": "string",
    "readability": {}
  },
  "metadata": {
    "title": "string",
    "description": "string",
    "language": "string",
    "urlSource": "string",
    "timestamp": "2026-02-14T00:00:00Z",
    "ogTitle": "string",
    "ogDescription": "string",
    "canonical": "string",
    "favicon": "string"
  },
  "links": [{ "url": "string", "text": "string" }],
  "screenshot": { "url": "string" },
  "pdf": { "url": "string" }
}

POST /v1/screenshot - Capture Screenshot

ParameterTypeRequiredDescription
urlstring (uri)YesURL to capture
delaynumberNoDelay before capture (ms)
fullPagebooleanNoFull page screenshot (default: false)
useProxybooleanNoUse residential proxy
regionobjectNoGeographic region
bash
curl https://api.steel.dev/v1/screenshot \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'steel-api-key: YOUR_API_KEY' \
  --data '{ "url": "https://example.com", "fullPage": true }'

POST /v1/pdf - Convert to PDF

ParameterTypeRequiredDescription
urlstring (uri)YesURL to convert
delaynumberNoDelay before generation (ms)
useProxybooleanNoUse residential proxy
regionobjectNoGeographic region

Sessions API

MethodEndpointDescription
GET/v1/sessionsList all sessions
POST/v1/sessionsCreate a new session
POST/v1/sessions/releaseRelease all sessions
GET/v1/sessions/{id}Get session details
POST/v1/sessions/{id}/releaseRelease specific session
GET/v1/sessions/{id}/contextGet session auth context
GET/v1/sessions/{id}/eventsGet session recording events
GET/v1/sessions/{id}/live-detailsGet live session details
GET/v1/sessions/{id}/hlsGet HLS recording playlist

Create Session - Key Parameters

typescript
const session = await client.sessions.create({
  useProxy: true,           // Enable residential proxy
  solveCaptcha: true,       // Enable CAPTCHA solving
  timeout: 1800000,         // Session timeout (ms)
  proxyUrl: 'http://...',   // BYOP proxy URL
  profileId: 'prof_xxx',   // Browser profile ID
  extensionIds: ['ext_1'],  // Extensions to load
  isSelenium: false,        // Selenium mode
  userAgent: 'custom-ua',   // Custom user agent
  dimensions: { width: 1920, height: 1080 },
  region: 'lax'             // Multi-region: lax, ord, iad
});

Files API

MethodEndpointDescription
POST/v1/sessions/{id}/filesUpload file to session
GET/v1/sessions/{id}/filesList session files
GET/v1/sessions/{id}/files/{path}Download session file
DELETE/v1/sessions/{id}/files/{path}Delete session file
GET/v1/sessions/{id}/files.zipDownload all as ZIP
POST/v1/filesUpload global file
GET/v1/filesList global files
GET/v1/files/{path}Download global file
DELETE/v1/files/{path}Delete global file

Credentials API

MethodEndpointDescription
POST/v1/credentialsCreate credential
GET/v1/credentialsList credentials
PUT/v1/credentialsUpdate credential
DELETE/v1/credentialsDelete credential

CAPTCHAs API

MethodEndpointDescription
GET/v1/sessions/{id}/captchas/statusGet CAPTCHA status
POST/v1/sessions/{id}/captchas/solveSolve CAPTCHAs
POST/v1/sessions/{id}/captchas/solve-imageSolve image CAPTCHA

Extensions API

MethodEndpointDescription
POST/v1/extensionsUpload extension
GET/v1/extensionsList extensions
DELETE/v1/extensionsDelete all extensions
GET/v1/extensions/{id}Get extension details
PUT/v1/extensions/{id}Update extension
DELETE/v1/extensions/{id}Delete extension

Profiles API

MethodEndpointDescription
POST/v1/profilesCreate profile
GET/v1/profilesList profiles
GET/v1/profiles/{id}Get profile
PATCH/v1/profiles/{id}Update profile

Computer API

MethodEndpointDescription
POST/v1/sessions/{id}/computerSend computer actions

Error Responses

CodeDescription
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
404Not Found - Resource doesn't exist
429Rate Limited - Too many requests
503Service Unavailable - Server error

SOP Documentation Hub - Built from Steel.dev Official Docs