Skip to content
Dashboard

Computers

List computers
computers.list(ComputerListParams**kwargs) -> ComputerListResponse
GET/computers
Create a new computer instance
computers.create(ComputerCreateParams**kwargs) -> ComputerResponse
POST/computers
Get computer status
computers.retrieve(strid) -> ComputerResponse
GET/computers/{id}
Terminate computer
computers.delete(strid)
DELETE/computers/{id}
Execute multiple actions
computers.batch(strid, ComputerBatchParams**kwargs) -> ComputerBatchResponse
POST/computers/{id}/batch
Change proxy settings
computers.change_proxy(strid, ComputerChangeProxyParams**kwargs) -> ActionResult
POST/computers/{id}/change-proxy
Click at coordinates
computers.click(strid, ComputerClickParams**kwargs) -> ActionResult
POST/computers/{id}/click
Execute debug command
computers.debug(strid, ComputerDebugParams**kwargs) -> ActionResult
POST/computers/{id}/debug
Double-click at coordinates
computers.double_click(strid, ComputerDoubleClickParams**kwargs) -> ActionResult
POST/computers/{id}/double-click
Click and drag
computers.drag(strid, ComputerDragParams**kwargs) -> ActionResult
POST/computers/{id}/drag
Stream events
computers.retrieve_events(strid)
GET/computers/{id}/events
Execute single action
computers.execute(strid, ComputerExecuteParams**kwargs) -> ActionResult
POST/computers/{id}/execute
Press hotkey combination
computers.hotkey(strid, ComputerHotkeyParams**kwargs) -> ActionResult
POST/computers/{id}/hotkey
Get page HTML
computers.html(strid, ComputerHTMLParams**kwargs) -> ActionResult
POST/computers/{id}/html
Keep computer alive
computers.keepalive(strid) -> ComputerKeepaliveResponse
POST/computers/{id}/keepalive
Press and hold key
computers.key_down(strid, ComputerKeyDownParams**kwargs) -> ActionResult
POST/computers/{id}/key-down
Release held key
computers.key_up(strid, ComputerKeyUpParams**kwargs) -> ActionResult
POST/computers/{id}/key-up
Press and hold mouse button
computers.mouse_down(strid, ComputerMouseDownParams**kwargs) -> ActionResult
POST/computers/{id}/mouse-down
Release mouse button
computers.mouse_up(strid, ComputerMouseUpParams**kwargs) -> ActionResult
POST/computers/{id}/mouse-up
Navigate to URL
computers.navigate(strid, ComputerNavigateParams**kwargs) -> ActionResult
POST/computers/{id}/navigate
Right-click at coordinates
computers.right_click(strid, ComputerRightClickParams**kwargs) -> ActionResult
POST/computers/{id}/right-click
Stream screencast frames
computers.retrieve_screencast(strid)
GET/computers/{id}/screencast
Capture screenshot
computers.screenshot(strid, ComputerScreenshotParams**kwargs) -> ActionResult
POST/computers/{id}/screenshot
Scroll viewport
computers.scroll(strid, ComputerScrollParams**kwargs) -> ActionResult
POST/computers/{id}/scroll
Get computer status (TTL)
computers.retrieve_status(strid) -> ComputerRetrieveStatusResponse
GET/computers/{id}/status
Type text
computers.type(strid, ComputerTypeParams**kwargs) -> ActionResult
POST/computers/{id}/type
Set viewport size
computers.viewport(strid, ComputerViewportParams**kwargs) -> ActionResult
POST/computers/{id}/viewport
WebSocket connection
computers.retrieve_ws(strid)
GET/computers/{id}/ws
ModelsExpand Collapse
class ActionResult:
error_message: Optional[str]
executed_tab_id: Optional[str]
page_context: Optional[V2GoBackendInternalTypesPageContext]
device_scale_factor: Optional[float]
is_main_tab: Optional[bool]
page_height: Optional[int]
page_width: Optional[int]
scroll_x: Optional[float]
scroll_y: Optional[float]
tab_id: Optional[str]
title: Optional[str]
url: Optional[str]
viewport_height: Optional[int]
viewport_width: Optional[int]
request_id: Optional[str]
result: Optional[Dict[str, object]]
status: Optional[str]
timestamp: Optional[str]
class ComputerAction:
auto_detect_encoding: Optional[bool]

For get_html_content

base64: Optional[bool]

For screenshot

button: Optional[str]
debug: Optional[Debug]
command: Optional[str]
cwd: Optional[str]
env: Optional[Dict[str, str]]
max_output_length: Optional[int]
request_id: Optional[str]
stream: Optional[bool]
timeout_seconds: Optional[int]
dx: Optional[float]

For scrolling

dy: Optional[float]
height: Optional[int]
include_context: Optional[bool]

Include page context in response

key: Optional[str]

For key_down/key_up

keys: Optional[List[str]]
ms: Optional[int]
proxy_url: Optional[str]
request_id: Optional[str]

RequestId is used for correlating streaming output to the originating request. Set on ActionRequest, not individual action types.

scale_factor: Optional[float]
tab_id: Optional[str]

For tab management (browser sessions only)

text: Optional[str]
type: Optional[str]

click|double_click|right_click|drag|type|keypress|scroll|wait|screenshot|go_to_url|debug|get_html_content|set_viewport|list_tabs|new_tab|switch_tab|close_tab|key_down|key_up|mouse_down|mouse_up

url: Optional[str]
width: Optional[int]

For set_viewport

x: Optional[float]
x1: Optional[float]

For dragging/scrolling

x2: Optional[float]

For dragging

y: Optional[float]
y1: Optional[float]
y2: Optional[float]
class ComputerResponse:
id: Optional[str]
auto_kill: Optional[bool]
created_at: Optional[str]
endpoints: Optional[Dict[str, str]]
expires_at: Optional[str]
idle_expires_at: Optional[str]
inactivity_timeout_seconds: Optional[int]
kind: Optional[str]
last_activity_at: Optional[str]
max_lifetime_seconds: Optional[int]
status: Optional[str]
class V2GoBackendInternalTypesPageContext:
device_scale_factor: Optional[float]
is_main_tab: Optional[bool]
page_height: Optional[int]
page_width: Optional[int]
scroll_x: Optional[float]
scroll_y: Optional[float]
tab_id: Optional[str]
title: Optional[str]
url: Optional[str]
viewport_height: Optional[int]
viewport_width: Optional[int]

ComputersExec

Execute command (streaming)
computers.exec.create(strid, ExecCreateParams**kwargs) -> ExecCreateResponse
POST/computers/{id}/exec
Execute command (synchronous)
computers.exec.sync(strid, ExecSyncParams**kwargs) -> ExecSyncResponse
POST/computers/{id}/exec/sync

ComputersTabs

List all tabs
computers.tabs.list(strid) -> ActionResult
GET/computers/{id}/tabs
Create new tab
computers.tabs.create(strid, TabCreateParams**kwargs) -> ActionResult
POST/computers/{id}/tabs
Close tab
computers.tabs.delete(strtab_id, TabDeleteParams**kwargs) -> ActionResult
DELETE/computers/{id}/tabs/{tab_id}
Switch to tab
computers.tabs.switch(strtab_id, TabSwitchParams**kwargs) -> ActionResult
POST/computers/{id}/tabs/{tab_id}/switch