Browserbase · Schema
Browserbase Session
Schema for the Browserbase Session object returned from POST /v1/sessions and related endpoints. Represents a cloud Chromium browser session that an agent or automation client can drive via Playwright, Puppeteer, Stagehand, or CDP.
Headless BrowserBrowser InfrastructureWeb AutomationAI AgentsWeb ScrapingStagehandPlaywrightPuppeteerWeb SearchWeb FetchModel GatewayMCPSession RecordingAgent Identity
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/browserbase/browserbase-session-schema.json",
"title": "Browserbase Session",
"description": "Schema for the Browserbase Session object returned from POST /v1/sessions and related endpoints. Represents a cloud Chromium browser session that an agent or automation client can drive via Playwright, Puppeteer, Stagehand, or CDP.",
"type": "object",
"definitions": {
"SessionCreate": {
"type": "object",
"description": "Request body for creating a Browserbase session.",
"required": ["projectId"],
"properties": {
"projectId": {
"type": "string",
"description": "Identifier of the Browserbase project under which to bill and group this session."
},
"extensionId": {
"type": "string",
"description": "Optional previously-uploaded Chrome extension to load into the session."
},
"browserSettings": {
"type": "object",
"description": "Per-session browser configuration.",
"properties": {
"context": {
"type": "object",
"description": "Reuse a previously created context for cookies, localStorage, and authenticated state.",
"properties": {
"id": { "type": "string", "description": "Context ID to attach." },
"persist": { "type": "boolean", "description": "Whether changes made during this session should be written back to the context." }
}
},
"viewport": {
"type": "object",
"description": "Initial browser viewport dimensions.",
"properties": {
"width": { "type": "integer", "minimum": 1 },
"height": { "type": "integer", "minimum": 1 }
}
},
"blockAds": { "type": "boolean", "description": "When true, block known ad and tracker domains." },
"solveCaptchas": { "type": "boolean", "description": "When true, route CAPTCHAs through Browserbase's solving pipeline." },
"recordSession": { "type": "boolean", "description": "When true, record an rrweb replay of the session." },
"logSession": { "type": "boolean", "description": "When true, capture console, request, and response logs." },
"advancedStealth": { "type": "boolean", "description": "Enable advanced anti-detection fingerprint surface." },
"os": {
"type": "string",
"description": "Operating system fingerprint to emulate.",
"enum": ["windows", "mac", "linux", "mobile", "tablet"]
},
"ignoreCertificateErrors": { "type": "boolean", "description": "When true, ignore TLS certificate errors." }
}
},
"timeout": {
"type": "integer",
"description": "Inactivity timeout in seconds before the session is auto-released.",
"minimum": 60,
"maximum": 21600
},
"keepAlive": {
"type": "boolean",
"description": "When true, keep the session alive across reconnects until explicitly released."
},
"proxies": {
"description": "Either a boolean toggle for Browserbase-managed proxies, or an array of proxy configurations.",
"oneOf": [
{ "type": "boolean" },
{
"type": "array",
"items": { "type": "object" }
}
]
},
"region": {
"type": "string",
"description": "Geographic region to run the session in.",
"enum": ["us-west-2", "us-east-1", "eu-central-1", "ap-southeast-1"]
},
"userMetadata": {
"type": "object",
"description": "Arbitrary key-value metadata attached to the session.",
"additionalProperties": true
}
}
},
"Session": {
"type": "object",
"description": "The Browserbase Session resource.",
"required": ["id", "status", "projectId"],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the session."
},
"connectUrl": {
"type": "string",
"description": "WebSocket URL used by Playwright/Puppeteer/Stagehand to connect to the session over CDP."
},
"seleniumRemoteUrl": {
"type": "string",
"description": "Selenium-compatible remote driver URL for the session."
},
"signingKey": {
"type": "string",
"description": "Short-lived key used to sign reconnect requests to the session."
},
"status": {
"type": "string",
"description": "Lifecycle state of the session.",
"enum": ["PENDING", "RUNNING", "ERROR", "TIMED_OUT", "COMPLETED"]
},
"createdAt": { "type": "string", "format": "date-time", "description": "Creation timestamp." },
"updatedAt": { "type": "string", "format": "date-time", "description": "Most recent update timestamp." },
"startedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the Chromium process began running." },
"expiresAt": { "type": "string", "format": "date-time", "description": "Timestamp at which the session will be auto-released." },
"projectId": { "type": "string", "description": "Project the session belongs to." },
"region": { "type": "string", "description": "Region the session is running in." },
"keepAlive": { "type": "boolean", "description": "Whether keepAlive was requested on creation." }
}
}
},
"oneOf": [
{ "$ref": "#/definitions/SessionCreate" },
{ "$ref": "#/definitions/Session" }
]
}