Steel / api /openapi /schemas.json
supernovagateway's picture
Upload folder using huggingface_hub
fb38ec5 verified
{
"openapi": "3.0.3",
"info": {
"title": "Steel Browser Instance API",
"description": "Documentation for controlling a single instance of Steel Browser",
"version": "0.0.1"
},
"components": {
"securitySchemes": {},
"schemas": {
"ScrapeRequest": {
"title": "ScrapeRequest",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"format": {
"type": "array",
"items": {
"type": "string",
"enum": [
"html",
"readability",
"cleaned_html",
"markdown"
]
}
},
"screenshot": {
"type": "boolean"
},
"pdf": {
"type": "boolean"
},
"proxyUrl": {
"type": "string",
"nullable": true,
"description": "Proxy URL to use for the scrape. Provide `null` to disable proxy. If not provided, current session proxy settings will be used."
},
"delay": {
"type": "number"
},
"logUrl": {
"type": "string"
}
},
"additionalProperties": false
},
"ScrapeResponse": {
"title": "ScrapeResponse",
"type": "object",
"properties": {
"content": {
"type": "object",
"additionalProperties": {}
},
"metadata": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"language": {
"type": "string"
},
"urlSource": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string"
},
"keywords": {
"type": "string"
},
"author": {
"type": "string"
},
"ogTitle": {
"type": "string"
},
"ogDescription": {
"type": "string"
},
"ogImage": {
"type": "string"
},
"ogUrl": {
"type": "string"
},
"ogSiteName": {
"type": "string"
},
"articleAuthor": {
"type": "string"
},
"publishedTime": {
"type": "string"
},
"modifiedTime": {
"type": "string"
},
"canonical": {
"type": "string"
},
"favicon": {
"type": "string"
},
"jsonLd": {},
"statusCode": {
"type": "integer"
}
},
"required": [
"statusCode"
],
"additionalProperties": false
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"url",
"text"
],
"additionalProperties": false
}
},
"screenshot": {
"type": "string"
},
"pdf": {
"type": "string"
}
},
"required": [
"content",
"metadata",
"links"
],
"additionalProperties": false
},
"ScreenshotRequest": {
"title": "ScreenshotRequest",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"proxyUrl": {
"type": "string",
"nullable": true,
"description": "Proxy URL to use for the scrape. Provide `null` to disable proxy. If not provided, current session proxy settings will be used."
},
"delay": {
"type": "number"
},
"fullPage": {
"type": "boolean"
},
"logUrl": {
"type": "string"
}
},
"additionalProperties": false
},
"ScreenshotResponse": {
"title": "ScreenshotResponse"
},
"PDFRequest": {
"title": "PDFRequest",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"proxyUrl": {
"type": "string",
"nullable": true,
"description": "Proxy URL to use for the scrape. Provide `null` to disable proxy. If not provided, current session proxy settings will be used."
},
"delay": {
"type": "number"
},
"logUrl": {
"type": "string"
}
},
"additionalProperties": false
},
"PDFResponse": {
"title": "PDFResponse"
},
"CreateSession": {
"title": "CreateSession",
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the session"
},
"proxyUrl": {
"type": "string",
"description": "Proxy URL to use for the session"
},
"userAgent": {
"type": "string",
"description": "User agent string to use for the session"
},
"sessionContext": {
"type": "object",
"properties": {
"cookies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the cookie"
},
"value": {
"type": "string",
"description": "The value of the cookie"
},
"url": {
"type": "string",
"description": "The URL of the cookie"
},
"domain": {
"type": "string",
"description": "The domain of the cookie"
},
"path": {
"type": "string",
"description": "The path of the cookie"
},
"secure": {
"type": "boolean",
"description": "Whether the cookie is secure"
},
"httpOnly": {
"type": "boolean",
"description": "Whether the cookie is HTTP only"
},
"sameSite": {
"type": "string",
"enum": [
"Strict",
"Lax",
"None"
],
"description": "The same site attribute of the cookie"
},
"size": {
"type": "number",
"description": "The size of the cookie"
},
"expires": {
"type": "number",
"description": "The expiration date of the cookie"
},
"partitionKey": {
"type": "object",
"properties": {
"topLevelSite": {
"type": "string",
"description": "The site of the top-level URL the browser was visiting at the start of the request to the endpoint that set the cookie."
},
"hasCrossSiteAncestor": {
"type": "boolean",
"description": "Indicates if the cookie has any ancestors that are cross-site to the topLevelSite."
}
},
"required": [
"topLevelSite",
"hasCrossSiteAncestor"
],
"additionalProperties": false,
"description": "The partition key of the cookie"
},
"session": {
"type": "boolean",
"description": "Whether the cookie is a session cookie"
},
"priority": {
"type": "string",
"enum": [
"Low",
"Medium",
"High"
],
"description": "The priority of the cookie"
},
"sameParty": {
"type": "boolean",
"description": "Whether the cookie is a same party cookie"
},
"sourceScheme": {
"type": "string",
"enum": [
"Unset",
"NonSecure",
"Secure"
],
"description": "The source scheme of the cookie"
},
"sourcePort": {
"type": "number",
"description": "The source port of the cookie"
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
},
"description": "Cookies to initialize in the session"
},
"localStorage": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": "Domain-specific localStorage items to initialize in the session"
},
"sessionStorage": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": "Domain-specific sessionStorage items to initialize in the session"
},
"indexedDB": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {},
"value": {},
"blobFiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blobNumber": {
"type": "number"
},
"mimeType": {
"type": "string"
},
"size": {
"type": "number"
},
"filename": {
"type": "string"
},
"lastModified": {
"type": "string",
"format": "date-time"
},
"path": {
"type": "string"
}
},
"required": [
"blobNumber",
"mimeType",
"size"
],
"additionalProperties": false
}
}
},
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"records"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"data"
],
"additionalProperties": false
}
},
"description": "Domain-specific indexedDB items to initialize in the session"
}
},
"additionalProperties": false,
"description": "Session context data to be used in the created session"
},
"isSelenium": {
"type": "boolean",
"description": "Indicates if Selenium is used in the session"
},
"blockAds": {
"type": "boolean",
"description": "Flag to indicate if ads should be blocked in the session"
},
"optimizeBandwidth": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "object",
"properties": {
"blockImages": {
"type": "boolean"
},
"blockMedia": {
"type": "boolean"
},
"blockStylesheets": {
"type": "boolean"
},
"blockHosts": {
"type": "array",
"items": {
"type": "string"
}
},
"blockUrlPatterns": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
],
"description": "Enable bandwidth optimizations. Passing true enables all flags (except hosts/patterns). Object allows granular control."
},
"skipFingerprintInjection": {
"type": "boolean",
"description": "Flag to indicate if fingerprint injection should be skipped for this session."
},
"deviceConfig": {
"type": "object",
"properties": {
"device": {
"type": "string",
"enum": [
"desktop",
"mobile"
],
"default": "desktop"
}
},
"additionalProperties": false,
"description": "Device configuration for the session. Specify 'mobile' for mobile device fingerprints and configurations."
},
"logSinkUrl": {
"type": "string",
"description": "Deprecated: Log sink URL to use for the session"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Extensions to use for the session"
},
"persist": {
"type": "boolean",
"description": "Flag to indicate if session should be persisted"
},
"userDataDir": {
"type": "string",
"description": "User data directory path to use for the session"
},
"timezone": {
"type": "string",
"description": "Timezone to use for the session"
},
"dimensions": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"additionalProperties": false,
"description": "Dimensions to use for the session"
},
"userPreferences": {
"type": "object",
"additionalProperties": {},
"description": "Chrome user preferences to customize browser behavior (e.g., font size, popup blocking, notification settings)"
},
"extra": {
"type": "object",
"additionalProperties": {},
"description": "Extra metadata to help initialize the session"
},
"credentials": {
"type": "object",
"properties": {
"autoSubmit": {
"anyOf": [
{
"type": "boolean"
},
{
"not": {}
}
]
},
"blurFields": {
"anyOf": [
{
"type": "boolean"
},
{
"not": {}
}
]
},
"exactOrigin": {
"anyOf": [
{
"type": "boolean"
},
{
"not": {}
}
]
}
},
"additionalProperties": false,
"description": "Configuration for session credentials"
},
"headless": {
"type": "boolean",
"description": "Headless mode for the session"
}
},
"additionalProperties": false
},
"SessionDetails": {
"title": "SessionDetails",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the session"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the session started"
},
"status": {
"type": "string",
"enum": [
"idle",
"live",
"released",
"failed"
],
"description": "Status of the session"
},
"duration": {
"type": "integer",
"description": "Duration of the session in milliseconds"
},
"eventCount": {
"type": "integer",
"description": "Number of events processed in the session"
},
"dimensions": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"additionalProperties": false,
"description": "Dimensions used for the session"
},
"timeout": {
"type": "integer",
"description": "Session timeout duration in milliseconds"
},
"creditsUsed": {
"type": "integer",
"description": "Amount of credits consumed by the session"
},
"websocketUrl": {
"type": "string",
"description": "URL for the session's WebSocket connection"
},
"debugUrl": {
"type": "string",
"description": "URL for a viewing the live browser instance for the session"
},
"debuggerUrl": {
"type": "string",
"description": "URL for debugging the session"
},
"sessionViewerUrl": {
"type": "string",
"description": "URL to view session details"
},
"userAgent": {
"type": "string",
"description": "User agent string used in the session"
},
"proxy": {
"type": "string",
"description": "Proxy server used for the session"
},
"proxyTxBytes": {
"type": "integer",
"minimum": 0,
"description": "Amount of data transmitted through the proxy"
},
"proxyRxBytes": {
"type": "integer",
"minimum": 0,
"description": "Amount of data received through the proxy"
},
"solveCaptcha": {
"type": "boolean",
"description": "Indicates if captcha solving is enabled"
},
"isSelenium": {
"type": "boolean",
"description": "Indicates if Selenium is used in the session"
}
},
"required": [
"id",
"createdAt",
"status",
"duration",
"eventCount",
"timeout",
"creditsUsed",
"websocketUrl",
"debugUrl",
"debuggerUrl",
"sessionViewerUrl",
"proxyTxBytes",
"proxyRxBytes"
],
"additionalProperties": false
},
"MultipleSessions": {
"title": "MultipleSessions",
"type": "object",
"properties": {
"sessions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the session"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the session started"
},
"status": {
"type": "string",
"enum": [
"idle",
"live",
"released",
"failed"
],
"description": "Status of the session"
},
"duration": {
"type": "integer",
"description": "Duration of the session in milliseconds"
},
"eventCount": {
"type": "integer",
"description": "Number of events processed in the session"
},
"dimensions": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"additionalProperties": false,
"description": "Dimensions used for the session"
},
"timeout": {
"type": "integer",
"description": "Session timeout duration in milliseconds"
},
"creditsUsed": {
"type": "integer",
"description": "Amount of credits consumed by the session"
},
"websocketUrl": {
"type": "string",
"description": "URL for the session's WebSocket connection"
},
"debugUrl": {
"type": "string",
"description": "URL for a viewing the live browser instance for the session"
},
"debuggerUrl": {
"type": "string",
"description": "URL for debugging the session"
},
"sessionViewerUrl": {
"type": "string",
"description": "URL to view session details"
},
"userAgent": {
"type": "string",
"description": "User agent string used in the session"
},
"proxy": {
"type": "string",
"description": "Proxy server used for the session"
},
"proxyTxBytes": {
"type": "integer",
"minimum": 0,
"description": "Amount of data transmitted through the proxy"
},
"proxyRxBytes": {
"type": "integer",
"minimum": 0,
"description": "Amount of data received through the proxy"
},
"solveCaptcha": {
"type": "boolean",
"description": "Indicates if captcha solving is enabled"
},
"isSelenium": {
"type": "boolean",
"description": "Indicates if Selenium is used in the session"
}
},
"required": [
"id",
"createdAt",
"status",
"duration",
"eventCount",
"timeout",
"creditsUsed",
"websocketUrl",
"debugUrl",
"debuggerUrl",
"sessionViewerUrl",
"proxyTxBytes",
"proxyRxBytes"
],
"additionalProperties": false
}
}
},
"required": [
"sessions"
],
"additionalProperties": false
},
"SessionContextSchema": {
"title": "SessionContextSchema",
"type": "object",
"properties": {
"cookies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the cookie"
},
"value": {
"type": "string",
"description": "The value of the cookie"
},
"url": {
"type": "string",
"description": "The URL of the cookie"
},
"domain": {
"type": "string",
"description": "The domain of the cookie"
},
"path": {
"type": "string",
"description": "The path of the cookie"
},
"secure": {
"type": "boolean",
"description": "Whether the cookie is secure"
},
"httpOnly": {
"type": "boolean",
"description": "Whether the cookie is HTTP only"
},
"sameSite": {
"type": "string",
"enum": [
"Strict",
"Lax",
"None"
],
"description": "The same site attribute of the cookie"
},
"size": {
"type": "number",
"description": "The size of the cookie"
},
"expires": {
"type": "number",
"description": "The expiration date of the cookie"
},
"partitionKey": {
"type": "object",
"properties": {
"topLevelSite": {
"type": "string",
"description": "The site of the top-level URL the browser was visiting at the start of the request to the endpoint that set the cookie."
},
"hasCrossSiteAncestor": {
"type": "boolean",
"description": "Indicates if the cookie has any ancestors that are cross-site to the topLevelSite."
}
},
"required": [
"topLevelSite",
"hasCrossSiteAncestor"
],
"additionalProperties": false,
"description": "The partition key of the cookie"
},
"session": {
"type": "boolean",
"description": "Whether the cookie is a session cookie"
},
"priority": {
"type": "string",
"enum": [
"Low",
"Medium",
"High"
],
"description": "The priority of the cookie"
},
"sameParty": {
"type": "boolean",
"description": "Whether the cookie is a same party cookie"
},
"sourceScheme": {
"type": "string",
"enum": [
"Unset",
"NonSecure",
"Secure"
],
"description": "The source scheme of the cookie"
},
"sourcePort": {
"type": "number",
"description": "The source port of the cookie"
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
},
"description": "Cookies to initialize in the session"
},
"localStorage": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": "Domain-specific localStorage items to initialize in the session"
},
"sessionStorage": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"description": "Domain-specific sessionStorage items to initialize in the session"
},
"indexedDB": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {},
"value": {},
"blobFiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blobNumber": {
"type": "number"
},
"mimeType": {
"type": "string"
},
"size": {
"type": "number"
},
"filename": {
"type": "string"
},
"lastModified": {
"type": "string",
"format": "date-time"
},
"path": {
"type": "string"
}
},
"required": [
"blobNumber",
"mimeType",
"size"
],
"additionalProperties": false
}
}
},
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"records"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"data"
],
"additionalProperties": false
}
},
"description": "Domain-specific indexedDB items to initialize in the session"
}
},
"additionalProperties": false
},
"RecordedEvents": {
"title": "RecordedEvents",
"type": "object",
"properties": {
"events": {
"type": "array",
"description": "Events to emit"
}
},
"required": [
"events"
],
"additionalProperties": false
},
"ReleaseSession": {
"title": "ReleaseSession",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the session"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the session started"
},
"status": {
"type": "string",
"enum": [
"idle",
"live",
"released",
"failed"
],
"description": "Status of the session"
},
"duration": {
"type": "integer",
"description": "Duration of the session in milliseconds"
},
"eventCount": {
"type": "integer",
"description": "Number of events processed in the session"
},
"dimensions": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"additionalProperties": false,
"description": "Dimensions used for the session"
},
"timeout": {
"type": "integer",
"description": "Session timeout duration in milliseconds"
},
"creditsUsed": {
"type": "integer",
"description": "Amount of credits consumed by the session"
},
"websocketUrl": {
"type": "string",
"description": "URL for the session's WebSocket connection"
},
"debugUrl": {
"type": "string",
"description": "URL for a viewing the live browser instance for the session"
},
"debuggerUrl": {
"type": "string",
"description": "URL for debugging the session"
},
"sessionViewerUrl": {
"type": "string",
"description": "URL to view session details"
},
"userAgent": {
"type": "string",
"description": "User agent string used in the session"
},
"proxy": {
"type": "string",
"description": "Proxy server used for the session"
},
"proxyTxBytes": {
"type": "integer",
"minimum": 0,
"description": "Amount of data transmitted through the proxy"
},
"proxyRxBytes": {
"type": "integer",
"minimum": 0,
"description": "Amount of data received through the proxy"
},
"solveCaptcha": {
"type": "boolean",
"description": "Indicates if captcha solving is enabled"
},
"isSelenium": {
"type": "boolean",
"description": "Indicates if Selenium is used in the session"
},
"success": {
"type": "boolean",
"description": "Indicates if the session was successfully released"
}
},
"required": [
"id",
"createdAt",
"status",
"duration",
"eventCount",
"timeout",
"creditsUsed",
"websocketUrl",
"debugUrl",
"debuggerUrl",
"sessionViewerUrl",
"proxyTxBytes",
"proxyRxBytes",
"success"
],
"additionalProperties": false
},
"SessionStreamQuery": {
"title": "SessionStreamQuery",
"type": "object",
"properties": {
"showControls": {
"type": "boolean",
"default": true,
"description": "Show controls in the browser iframe"
},
"theme": {
"type": "string",
"enum": [
"dark",
"light"
],
"default": "dark",
"description": "Theme of the browser iframe"
},
"interactive": {
"type": "boolean",
"default": true,
"description": "Make the browser iframe interactive"
},
"pageId": {
"type": "string",
"description": "Page ID to connect to"
},
"pageIndex": {
"type": "string",
"description": "Page index (or tab index) to connect to"
}
},
"additionalProperties": false
},
"SessionStreamResponse": {
"title": "SessionStreamResponse",
"type": "string",
"description": "HTML content for the session streamer view"
},
"SessionLiveDetailsResponse": {
"title": "SessionLiveDetailsResponse",
"type": "object",
"properties": {
"sessionViewerUrl": {
"type": "string"
},
"sessionViewerFullscreenUrl": {
"type": "string"
},
"websocketUrl": {
"type": "string"
},
"pages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"favicon": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"url",
"title",
"favicon"
],
"additionalProperties": false
}
},
"browserState": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"idle",
"live",
"released",
"failed"
]
},
"userAgent": {
"type": "string"
},
"browserVersion": {
"type": "string"
},
"initialDimensions": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"additionalProperties": false
},
"pageCount": {
"type": "number"
}
},
"required": [
"status",
"userAgent",
"browserVersion",
"initialDimensions",
"pageCount"
],
"additionalProperties": false
}
},
"required": [
"sessionViewerUrl",
"sessionViewerFullscreenUrl",
"websocketUrl",
"pages",
"browserState"
],
"additionalProperties": false
},
"LogQuerySchema": {
"title": "LogQuerySchema",
"type": "object",
"properties": {
"startTime": {
"type": "string",
"format": "date-time"
},
"endTime": {
"type": "string",
"format": "date-time"
},
"eventTypes": {
"type": "string"
},
"pageId": {
"type": "string"
},
"targetType": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"additionalProperties": false
},
"LogStatsSchema": {
"title": "LogStatsSchema",
"type": "object",
"properties": {
"totalEvents": {
"type": "number"
},
"oldestEvent": {
"type": "string",
"format": "date-time",
"nullable": true
},
"newestEvent": {
"type": "string",
"format": "date-time",
"nullable": true
},
"sizeBytes": {
"type": "number"
}
},
"required": [
"totalEvents",
"oldestEvent",
"newestEvent",
"sizeBytes"
],
"additionalProperties": false
},
"LogQueryResultSchema": {
"title": "LogQueryResultSchema",
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"total": {
"type": "number"
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"events",
"total",
"hasMore"
],
"additionalProperties": false
},
"ExportLogsSchema": {
"title": "ExportLogsSchema",
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"startTime": {
"type": "string",
"format": "date-time"
},
"endTime": {
"type": "string",
"format": "date-time"
},
"eventTypes": {
"type": "string"
},
"pageId": {
"type": "string"
},
"targetType": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"GetDevtoolsUrlSchema": {
"title": "GetDevtoolsUrlSchema",
"type": "object",
"properties": {
"pageId": {
"type": "string"
}
},
"additionalProperties": false
},
"LaunchRequest": {
"title": "LaunchRequest",
"type": "object",
"properties": {
"options": {
"type": "object",
"properties": {
"args": {
"type": "array",
"items": {
"type": "string"
}
},
"chromiumSandbox": {
"type": "boolean"
},
"devtools": {
"type": "boolean"
},
"downloadsPath": {
"type": "string"
},
"headless": {
"type": "boolean"
},
"ignoreDefaultArgs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"proxyUrl": {
"type": "string"
},
"timeout": {
"type": "number"
},
"tracesDir": {
"type": "string"
}
},
"additionalProperties": false
},
"req": {},
"stealth": {
"type": "boolean"
},
"cookies": {
"type": "array"
},
"userAgent": {
"type": "string"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"logSinkUrl": {
"type": "string",
"description": "Deprecated"
},
"customHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"timezone": {
"type": "string"
},
"dimensions": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"height": {
"type": "number"
}
},
"required": [
"width",
"height"
],
"additionalProperties": false,
"nullable": true
}
},
"required": [
"options"
],
"additionalProperties": false
},
"LaunchResponse": {
"title": "LaunchResponse",
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
],
"additionalProperties": false
},
"FileUploadRequest": {
"title": "FileUploadRequest",
"type": "object",
"properties": {
"file": {
"description": "The file to upload (binary) or URL string to download from"
},
"path": {
"type": "string",
"description": "Path to the file in the storage system"
}
},
"additionalProperties": false
},
"FileDetails": {
"title": "FileDetails",
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the file in the storage system"
},
"size": {
"type": "number",
"description": "Size of the file in bytes"
},
"lastModified": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the file was last updated"
}
},
"required": [
"path",
"size",
"lastModified"
],
"additionalProperties": false
},
"MultipleFiles": {
"title": "MultipleFiles",
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the file in the storage system"
},
"size": {
"type": "number",
"description": "Size of the file in bytes"
},
"lastModified": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the file was last updated"
}
},
"required": [
"path",
"size",
"lastModified"
],
"additionalProperties": false
},
"description": "Array of files for the current page"
}
},
"required": [
"data"
],
"additionalProperties": false
}
}
},
"paths": {
"/v1/scrape": {
"post": {
"operationId": "scrape",
"summary": "Scrape a URL",
"tags": [
"Browser Actions"
],
"description": "Scrape a URL",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScrapeRequest"
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScrapeResponse"
}
}
}
}
}
}
},
"/v1/screenshot": {
"post": {
"operationId": "screenshot",
"summary": "Take a screenshot",
"tags": [
"Browser Actions"
],
"description": "Take a screenshot",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreenshotRequest"
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreenshotResponse"
}
}
}
}
}
}
},
"/v1/pdf": {
"post": {
"operationId": "pdf",
"summary": "Get the PDF content of a page",
"tags": [
"Browser Actions"
],
"description": "Get the PDF content of a page",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PDFRequest"
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PDFResponse"
}
}
}
}
}
}
},
"/v1/health": {
"get": {
"operationId": "health",
"summary": "Check if the server and browser are running",
"tags": [
"Health"
],
"description": "Check if the server and browser are running",
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/sessions": {
"post": {
"operationId": "launch_browser_session",
"summary": "Launch a browser session",
"tags": [
"Sessions"
],
"description": "Launch a browser session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSession"
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SessionDetails"
}
}
}
}
}
},
"get": {
"operationId": "get_sessions",
"summary": "Get all sessions",
"tags": [
"Sessions"
],
"description": "Get all sessions",
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MultipleSessions"
}
}
}
}
}
}
},
"/v1/sessions/{sessionId}": {
"get": {
"operationId": "get_session_details",
"summary": "Get session details",
"tags": [
"Sessions"
],
"description": "Get session details",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SessionDetails"
}
}
}
}
}
}
},
"/v1/sessions/{sessionId}/context": {
"get": {
"operationId": "get_browser_context",
"summary": "Get a browser context",
"tags": [
"Sessions"
],
"description": "Get a browser context",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SessionContextSchema"
}
}
}
}
}
}
},
"/v1/sessions/{sessionId}/release": {
"post": {
"operationId": "release_browser_session",
"summary": "Release a browser session",
"tags": [
"Sessions"
],
"description": "Release a browser session",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseSession"
}
}
}
}
}
}
},
"/v1/sessions/release": {
"post": {
"operationId": "release_browser_sessions",
"summary": "Release browser sessions",
"tags": [
"Sessions"
],
"description": "Release browser sessions",
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseSession"
}
}
}
}
}
}
},
"/v1/sessions/debug": {
"get": {
"operationId": "get_session_debugger_stream",
"summary": "Get session debugger view",
"tags": [
"Sessions"
],
"description": "Returns an HTML page with a live debugger view of the session",
"parameters": [
{
"schema": {
"type": "boolean",
"default": true
},
"in": "query",
"name": "showControls",
"required": false,
"description": "Show controls in the browser iframe"
},
{
"schema": {
"type": "string",
"enum": [
"dark",
"light"
],
"default": "dark"
},
"in": "query",
"name": "theme",
"required": false,
"description": "Theme of the browser iframe"
},
{
"schema": {
"type": "boolean",
"default": true
},
"in": "query",
"name": "interactive",
"required": false,
"description": "Make the browser iframe interactive"
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "pageId",
"required": false,
"description": "Page ID to connect to"
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "pageIndex",
"required": false,
"description": "Page index (or tab index) to connect to"
}
],
"responses": {
"200": {
"description": "HTML content for the session streamer view",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SessionStreamResponse"
}
}
}
}
}
}
},
"/v1/events": {
"post": {
"operationId": "receive_events",
"summary": "Receive recorded events from the browser",
"tags": [
"Sessions"
],
"description": "Receive recorded events from the browser",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordedEvents"
}
}
}
},
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/sessions/{id}/live-details": {
"get": {
"operationId": "get_session_live_details",
"summary": "Get session live details",
"tags": [
"Sessions"
],
"description": "Returns the live state of the session, including pages, tabs, and browser state",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "id",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SessionLiveDetailsResponse"
}
}
}
}
}
}
},
"/v1/sessions/scrape": {
"post": {
"operationId": "scrape_session",
"summary": "Scrape Current Session",
"tags": [
"Sessions"
],
"description": "Scrape Current Session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScrapeRequest"
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScrapeResponse"
}
}
}
}
}
}
},
"/v1/sessions/screenshot": {
"post": {
"operationId": "screenshot_session",
"summary": "Take Screenshot of Current Session",
"tags": [
"Sessions"
],
"description": "Take Screenshot of Current Session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreenshotRequest"
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreenshotResponse"
}
}
}
}
}
}
},
"/v1/sessions/pdf": {
"post": {
"operationId": "pdf_session",
"summary": "Generate PDF of Current Session",
"tags": [
"Sessions"
],
"description": "Generate PDF of Current Session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PDFRequest"
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PDFResponse"
}
}
}
}
}
}
},
"/v1/devtools/inspector.html": {
"get": {
"operationId": "getDevtoolsUrl",
"summary": "Get the URL for the DevTools inspector",
"tags": [
"CDP"
],
"description": "Get the URL for the DevTools inspector",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "query",
"name": "pageId",
"required": false
}
],
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/sessions/{sessionId}/files": {
"post": {
"operationId": "upload_file",
"summary": "Upload a file",
"tags": [
"Files"
],
"description": "Uploads a file to a session via `multipart/form-data` with a `file` field that accepts either binary data or a URL string to download from, and an optional `path` field for the file storage path.",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/FileUploadRequest"
}
}
}
},
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FileDetails"
}
}
}
}
}
},
"get": {
"operationId": "list_files",
"summary": "List files",
"tags": [
"Files"
],
"description": "List all files from the session in descending order.",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MultipleFiles"
}
}
}
}
}
},
"delete": {
"operationId": "delete_all_files",
"summary": "Delete all files",
"tags": [
"Files"
],
"description": "Delete all files from a session",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
}
],
"responses": {
"204": {
"description": "No content"
}
}
}
},
"/v1/sessions/{sessionId}/files/{*}": {
"get": {
"operationId": "download_file",
"summary": "Download a file",
"tags": [
"Files"
],
"description": "Download a file from a session",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
},
{
"schema": {
"type": "string"
},
"in": "path",
"name": "*",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response"
}
}
},
"delete": {
"operationId": "delete_file",
"summary": "Delete a file",
"tags": [
"Files"
],
"description": "Delete a file from a session",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
},
{
"schema": {
"type": "string"
},
"in": "path",
"name": "*",
"required": true
}
],
"responses": {
"204": {
"description": "No content"
}
}
}
},
"/v1/sessions/{sessionId}/files.zip": {
"get": {
"operationId": "download_archive",
"summary": "Download archive",
"tags": [
"Files"
],
"description": "Download all files from the session as a zip archive.",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "sessionId",
"required": true
}
],
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/logs/query": {
"get": {
"tags": [
"Logs"
],
"description": "Query browser logs from local storage",
"parameters": [
{
"schema": {
"type": "string",
"format": "date-time"
},
"in": "query",
"name": "startTime",
"required": false
},
{
"schema": {
"type": "string",
"format": "date-time"
},
"in": "query",
"name": "endTime",
"required": false
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "eventTypes",
"required": false
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "pageId",
"required": false
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "targetType",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100
},
"in": "query",
"name": "limit",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0,
"default": 0
},
"in": "query",
"name": "offset",
"required": false
}
],
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/logs/stats": {
"get": {
"tags": [
"Logs"
],
"description": "Get statistics about stored browser logs",
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/logs/stream": {
"get": {
"tags": [
"Logs"
],
"description": "Stream browser logs in real-time using SSE",
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/logs/export": {
"post": {
"tags": [
"Logs"
],
"description": "Export browser logs to Parquet format",
"parameters": [
{
"schema": {
"type": "string",
"format": "date-time"
},
"in": "query",
"name": "startTime",
"required": false
},
{
"schema": {
"type": "string",
"format": "date-time"
},
"in": "query",
"name": "endTime",
"required": false
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "eventTypes",
"required": false
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "pageId",
"required": false
},
{
"schema": {
"type": "string"
},
"in": "query",
"name": "targetType",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100
},
"in": "query",
"name": "limit",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0,
"default": 0
},
"in": "query",
"name": "offset",
"required": false
}
],
"responses": {
"200": {
"description": "Default Response"
}
}
}
},
"/v1/logs/": {
"delete": {
"tags": [
"Logs"
],
"description": "Clear all browser logs from storage",
"responses": {
"200": {
"description": "Default Response"
}
}
}
}
},
"servers": [
{
"url": "http://0.0.0.0:3000/",
"description": "Local server"
},
{
"url": "http://0.0.0.0:3000",
"description": "Local server from env variables"
}
]
}