---
title: Devtools
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/typescript)

[Browser Rendering](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Devtools

#### DevtoolsSession

##### [List sessions.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/session/methods/list)

client.browserRendering.devtools.session.list(SessionListParams { account\_id, limit, offset } params, RequestOptionsoptions?): [SessionListResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.session%20%3E%20%28model%29%20session%5Flist%5Fresponse%20%3E%20%28schema%29) { sessionId, closeReason, closeReasonText, 8 more } 

GET/accounts/{account\_id}/browser-rendering/devtools/session

##### [Get session details.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/session/methods/get)

client.browserRendering.devtools.session.get(stringsessionID, SessionGetParams { account\_id } params, RequestOptionsoptions?): [SessionGetResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.session%20%3E%20%28model%29%20session%5Fget%5Fresponse%20%3E%20%28schema%29) { sessionId, closeReason, closeReasonText, 8 more } | null

GET/accounts/{account\_id}/browser-rendering/devtools/session/{session\_id}

##### ModelsExpand Collapse 

SessionListResponse \= Array<SessionListResponseItem\>

sessionId: string

Session ID.

formatuuid

closeReason?: number

Reason code for session closure.

closeReasonText?: string

Human-readable close reason.

connectionEndTime?: number

Connection end time.

connectionId?: string

Connection ID.

connectionStartTime?: number

Connection start time.

devtoolsFrontendUrl?: string

DevTools frontend URL.

endTime?: number

Session end time.

lastUpdated?: number

Last updated timestamp.

startTime?: number

Session start time.

webSocketDebuggerUrl?: string

WebSocket URL for debugging this target.

SessionGetResponse { sessionId, closeReason, closeReasonText, 8 more } 

sessionId: string

Session ID.

formatuuid

closeReason?: number

Reason code for session closure.

closeReasonText?: string

Human-readable close reason.

connectionEndTime?: number

Connection end time.

connectionId?: string

Connection ID.

connectionStartTime?: number

Connection start time.

devtoolsFrontendUrl?: string

DevTools frontend URL.

endTime?: number

Session end time.

lastUpdated?: number

Last updated timestamp.

startTime?: number

Session start time.

webSocketDebuggerUrl?: string

WebSocket URL for debugging this target.

#### DevtoolsBrowser

##### [Get a browser session ID.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/methods/create)

client.browserRendering.devtools.browser.create(BrowserCreateParams { account\_id, keep\_alive, lab, 4 more } params, RequestOptionsoptions?): [BrowserCreateResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser%20%3E%20%28model%29%20browser%5Fcreate%5Fresponse%20%3E%20%28schema%29) { sessionId, webSocketDebuggerUrl } 

POST/accounts/{account\_id}/browser-rendering/devtools/browser

##### [Acquire and connect to browser session.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/methods/launch)

client.browserRendering.devtools.browser.launch(BrowserLaunchParams { account\_id, keep\_alive, lab, 2 more } params, RequestOptionsoptions?): void

GET/accounts/{account\_id}/browser-rendering/devtools/browser

##### [Connect to browser session.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/methods/connect)

client.browserRendering.devtools.browser.connect(stringsessionID, BrowserConnectParams { account\_id, keep\_alive, lab, 2 more } params, RequestOptionsoptions?): void

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}

##### [Close browser session.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/methods/delete)

client.browserRendering.devtools.browser.delete(stringsessionID, BrowserDeleteParams { account\_id } params, RequestOptionsoptions?): [BrowserDeleteResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser%20%3E%20%28model%29%20browser%5Fdelete%5Fresponse%20%3E%20%28schema%29) { status } 

DELETE/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}

##### [Get browser version metadata.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/methods/version)

client.browserRendering.devtools.browser.version(stringsessionID, BrowserVersionParams { account\_id } params, RequestOptionsoptions?): [BrowserVersionResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser%20%3E%20%28model%29%20browser%5Fversion%5Fresponse%20%3E%20%28schema%29) { Browser, Protocol-Version, User-Agent, 3 more } 

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/json/version

##### [Get Chrome DevTools Protocol schema.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/methods/protocol)

client.browserRendering.devtools.browser.protocol(stringsessionID, BrowserProtocolParams { account\_id } params, RequestOptionsoptions?): [BrowserProtocolResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser%20%3E%20%28model%29%20browser%5Fprotocol%5Fresponse%20%3E%20%28schema%29) { domains, version } 

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/json/protocol

##### ModelsExpand Collapse 

BrowserCreateResponse { sessionId, webSocketDebuggerUrl } 

sessionId: string

Browser session ID.

webSocketDebuggerUrl?: string

WebSocket URL for the session.

BrowserDeleteResponse { status } 

status: "closing" | "closed"

One of the following:

"closing"

"closed"

BrowserVersionResponse { Browser, Protocol-Version, User-Agent, 3 more } 

Browser: string

Browser name and version.

"Protocol-Version": string

Chrome DevTools Protocol version.

"User-Agent": string

User agent string.

"V8-Version": string

V8 JavaScript engine version.

"WebKit-Version": string

WebKit version.

webSocketDebuggerUrl: string

WebSocket URL for debugging the browser.

BrowserProtocolResponse { domains, version } 

domains: Array<Domain\>

List of protocol domains.

domain: string

Domain name.

commands?: Array<Record<string, unknown\>\>

Available commands.

dependencies?: Array<string\>

Domain dependencies.

events?: Array<Record<string, unknown\>\>

Available events.

experimental?: boolean

Whether this domain is experimental.

types?: Array<Record<string, unknown\>\>

Type definitions.

version?: Version { major, minor } 

Protocol version.

major: string

Major version.

minor: string

Minor version.

#### DevtoolsBrowserLive View

##### [Mint live view URLs for a browser session](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/subresources/live%5Fview/methods/create)

client.browserRendering.devtools.browser.liveView.create(stringsessionID, LiveViewCreateParams { account\_id, expiresInMs, guardrails, 2 more } params, RequestOptionsoptions?): [LiveViewCreateResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser.live%5Fview%20%3E%20%28model%29%20live%5Fview%5Fcreate%5Fresponse%20%3E%20%28schema%29) { id, devtoolsFrontendUrl, options, webSocketDebuggerUrl } 

POST/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/live\_view

##### ModelsExpand Collapse 

LiveViewCreateResponse { id, devtoolsFrontendUrl, options, webSocketDebuggerUrl } 

id: string

Target ID

devtoolsFrontendUrl: string

URL to open the live view in a browser

formaturi

options: Options { mode, guardrails } 

mode: "devtools" | "tab" | "full"

UI mode for the live view

One of the following:

"devtools"

"tab"

"full"

guardrails?: Guardrails { mode } 

Connection guardrails applied to this link

mode: "readonly"

webSocketDebuggerUrl: string

WebSocket URL for CDP connection

formaturi

#### DevtoolsBrowserPage

##### [Connect to a specific Chrome DevTools page.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/subresources/page/methods/get)

client.browserRendering.devtools.browser.page.get(stringtargetID, PageGetParams { account\_id, session\_id, cfBrapiGuardrails } params, RequestOptionsoptions?): void

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/page/{target\_id}

#### DevtoolsBrowserTargets

##### [Open a new browser tab.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/subresources/targets/methods/create)

client.browserRendering.devtools.browser.targets.create(stringsessionID, TargetCreateParams { account\_id, liveViewUrlExpiresInMs, url } params, RequestOptionsoptions?): [TargetCreateResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser.targets%20%3E%20%28model%29%20target%5Fcreate%5Fresponse%20%3E%20%28schema%29) { id, type, url, 4 more } 

PUT/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/json/new

##### [List targets.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/subresources/targets/methods/list)

client.browserRendering.devtools.browser.targets.list(stringsessionID, TargetListParams { account\_id, liveViewUrlExpiresInMs } params, RequestOptionsoptions?): [TargetListResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser.targets%20%3E%20%28model%29%20target%5Flist%5Fresponse%20%3E%20%28schema%29) { id, type, url, 4 more } 

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/json/list

##### [Get a target by ID.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/subresources/targets/methods/get)

client.browserRendering.devtools.browser.targets.get(stringtargetID, TargetGetParams { account\_id, session\_id } params, RequestOptionsoptions?): [TargetGetResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser.targets%20%3E%20%28model%29%20target%5Fget%5Fresponse%20%3E%20%28schema%29) { id, type, url, 4 more } 

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/json/list/{target\_id}

##### [Activate a browser target.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/subresources/targets/methods/activate)

client.browserRendering.devtools.browser.targets.activate(stringtargetID, TargetActivateParams { account\_id, session\_id } params, RequestOptionsoptions?): [TargetActivateResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser.targets%20%3E%20%28model%29%20target%5Factivate%5Fresponse%20%3E%20%28schema%29) { message } 

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/json/activate/{target\_id}

##### [Close a browser target.](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering/subresources/devtools/subresources/browser/subresources/targets/methods/close)

client.browserRendering.devtools.browser.targets.close(stringtargetID, TargetCloseParams { account\_id, session\_id } params, RequestOptionsoptions?): [TargetCloseResponse](https://developers.cloudflare.com/api/typescript/resources/browser%5Frendering#%28resource%29%20browser%5Frendering.devtools.browser.targets%20%3E%20%28model%29%20target%5Fclose%5Fresponse%20%3E%20%28schema%29) { message } 

GET/accounts/{account\_id}/browser-rendering/devtools/browser/{session\_id}/json/close/{target\_id}

##### ModelsExpand Collapse 

TargetCreateResponse { id, type, url, 4 more } 

id: string

Target ID.

type: string

Target type (page, background\_page, worker, etc.).

url: string

URL of the target.

description?: string

Target description.

devtoolsFrontendUrl?: string

DevTools frontend URL.

title?: string

Title of the target.

webSocketDebuggerUrl?: string

WebSocket URL for debugging this target.

TargetListResponse \= Array<TargetListResponseItem\>

id: string

Target ID.

type: string

Target type (page, background\_page, worker, etc.).

url: string

URL of the target.

description?: string

Target description.

devtoolsFrontendUrl?: string

DevTools frontend URL.

title?: string

Title of the target.

webSocketDebuggerUrl?: string

WebSocket URL for debugging this target.

TargetGetResponse { id, type, url, 4 more } 

id: string

Target ID.

type: string

Target type (page, background\_page, worker, etc.).

url: string

URL of the target.

description?: string

Target description.

devtoolsFrontendUrl?: string

DevTools frontend URL.

title?: string

Title of the target.

webSocketDebuggerUrl?: string

WebSocket URL for debugging this target.

TargetActivateResponse { message } 

message: string

Target activated.

TargetCloseResponse { message } 

message: string

Target is closing.