Skip to content
Start here

Browser Rendering

Browser RenderingContent

Get HTML content.
POST/accounts/{account_id}/browser-rendering/content
ModelsExpand Collapse
ContentCreateResponse = string

HTML content.

Browser RenderingPDF

Get PDF.
POST/accounts/{account_id}/browser-rendering/pdf

Browser RenderingScrape

Scrape elements.
POST/accounts/{account_id}/browser-rendering/scrape
ModelsExpand Collapse
ScrapeCreateResponse = array of { results, selector }
results: { attributes, height, html, 4 more }
attributes: array of { name, value }
name: string

Attribute name.

value: string

Attribute value.

height: number

Element height.

html: string

HTML content.

left: number

Element left.

text: string

Text content.

top: number

Element top.

width: number

Element width.

selector: string

Selector.

Browser RenderingScreenshot

Get screenshot.
POST/accounts/{account_id}/browser-rendering/screenshot
ModelsExpand Collapse
ScreenshotCreateResponse { success, errors }
success: boolean

Response status.

errors: optional array of { code, message }
code: number

Error code.

message: string

Error message.

Browser RenderingSnapshot

Get HTML content and screenshot.
POST/accounts/{account_id}/browser-rendering/snapshot
ModelsExpand Collapse
SnapshotCreateResponse { content, screenshot }
content: string

HTML content.

screenshot: string

Base64 encoded image.

Browser RenderingJson

Extract structured JSON data.
POST/accounts/{account_id}/browser-rendering/json
ModelsExpand Collapse
JsonCreateResponse = map[unknown]
Get Links.
POST/accounts/{account_id}/browser-rendering/links
ModelsExpand Collapse

Browser RenderingMarkdown

Get markdown.
POST/accounts/{account_id}/browser-rendering/markdown
ModelsExpand Collapse
MarkdownCreateResponse = string

Markdown content.

Browser RenderingCrawl

Crawl websites.
POST/accounts/{account_id}/browser-rendering/crawl
Get crawl result.
GET/accounts/{account_id}/browser-rendering/crawl/{job_id}
Cancel a crawl job.
DELETE/accounts/{account_id}/browser-rendering/crawl/{job_id}
ModelsExpand Collapse
CrawlCreateResponse = string

Crawl job ID.

CrawlGetResponse { id, browserSecondsUsed, finished, 5 more }
id: string

Crawl job ID.

browserSecondsUsed: number

Total seconds spent in browser so far.

finished: number

Total number of URLs that have been crawled so far.

records: array of { metadata, status, url, 3 more }

List of crawl job records.

metadata: { status, url, title }
status: number

HTTP status code of the crawled page.

url: string

Final URL of the crawled page.

title: optional string

Title of the crawled page.

status: "queued" or "errored" or "completed" or 3 more

Current status of the crawled URL.

One of the following:
"queued"
"errored"
"completed"
"disallowed"
"skipped"
"cancelled"
url: string

Crawled URL.

html: optional string

HTML content of the crawled URL.

json: optional map[unknown]

JSON of the content of the crawled URL.

markdown: optional string

Markdown of the content of the crawled URL.

skipped: number

Total number of URLs that were skipped due to include/exclude/subdomain filters. Skipped URLs are included in records but are not counted toward total/finished.

status: string

Current crawl job status.

total: number

Total current number of URLs in the crawl job.

cursor: optional string

Cursor for pagination.

CrawlDeleteResponse { job_id, message }
job_id: string

The ID of the cancelled job.

message: string

Cancellation confirmation message.

Browser RenderingDevtools

Browser RenderingDevtoolsSession

List sessions.
GET/accounts/{account_id}/browser-rendering/devtools/session
Get session details.
GET/accounts/{account_id}/browser-rendering/devtools/session/{session_id}
ModelsExpand Collapse
SessionListResponse = array of { sessionId, closeReason, closeReasonText, 8 more }
sessionId: string

Session ID.

formatuuid
closeReason: optional string

Reason for session closure.

closeReasonText: optional string

Human-readable close reason.

connectionEndTime: optional number

Connection end time.

connectionId: optional string

Connection ID.

connectionStartTime: optional number

Connection start time.

devtoolsFrontendUrl: optional string

DevTools frontend URL.

endTime: optional number

Session end time.

lastUpdated: optional number

Last updated timestamp.

startTime: optional number

Session start time.

webSocketDebuggerUrl: optional string

WebSocket URL for debugging this target.

SessionGetResponse { sessionId, closeReason, closeReasonText, 8 more }
sessionId: string

Session ID.

formatuuid
closeReason: optional string

Reason for session closure.

closeReasonText: optional string

Human-readable close reason.

connectionEndTime: optional number

Connection end time.

connectionId: optional string

Connection ID.

connectionStartTime: optional number

Connection start time.

devtoolsFrontendUrl: optional string

DevTools frontend URL.

endTime: optional number

Session end time.

lastUpdated: optional number

Last updated timestamp.

startTime: optional number

Session start time.

webSocketDebuggerUrl: optional string

WebSocket URL for debugging this target.

Browser RenderingDevtoolsBrowser

Get a browser session ID.
POST/accounts/{account_id}/browser-rendering/devtools/browser
Acquire and connect to browser session.
GET/accounts/{account_id}/browser-rendering/devtools/browser
Connect to browser session.
GET/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}
Close browser session.
DELETE/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}
Get browser version metadata.
GET/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/version
Get Chrome DevTools Protocol schema.
GET/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/protocol
ModelsExpand Collapse
BrowserCreateResponse { sessionId, webSocketDebuggerUrl }
sessionId: string

Browser session ID.

webSocketDebuggerUrl: optional string

WebSocket URL for the session.

BrowserDeleteResponse { status }
status: "closing" or "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 of { domain, commands, dependencies, 3 more }

List of protocol domains.

domain: string

Domain name.

commands: optional array of map[unknown]

Available commands.

dependencies: optional array of string

Domain dependencies.

events: optional array of map[unknown]

Available events.

experimental: optional boolean

Whether this domain is experimental.

types: optional array of map[unknown]

Type definitions.

version: optional { major, minor }

Protocol version.

major: string

Major version.

minor: string

Minor version.

Browser RenderingDevtoolsBrowserPage

Connect to a specific Chrome DevTools page.
GET/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/page/{target_id}

Browser RenderingDevtoolsBrowserTargets

Open a new browser tab.
PUT/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/new
List targets.
GET/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/list
Get a target by ID.
GET/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/list/{target_id}
Activate a browser target.
GET/accounts/{account_id}/browser-rendering/devtools/browser/{session_id}/json/activate/{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: optional string

Target description.

devtoolsFrontendUrl: optional string

DevTools frontend URL.

title: optional string

Title of the target.

webSocketDebuggerUrl: optional string

WebSocket URL for debugging this target.

TargetListResponse = array of { 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: optional string

Target description.

devtoolsFrontendUrl: optional string

DevTools frontend URL.

title: optional string

Title of the target.

webSocketDebuggerUrl: optional 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: optional string

Target description.

devtoolsFrontendUrl: optional string

DevTools frontend URL.

title: optional string

Title of the target.

webSocketDebuggerUrl: optional string

WebSocket URL for debugging this target.

TargetActivateResponse { message }
message: string

Target activated.