# Scrapfly Documentation

## Table of Contents

### Dashboard

- [Intro](https://scrapfly.io/docs)
- [Project](https://scrapfly.io/docs/project)
- [Account](https://scrapfly.io/docs/account)
- [Workspace & Team](https://scrapfly.io/docs/workspace-and-team)
- [Billing](https://scrapfly.io/docs/billing)

### Products

#### MCP Server

- [Getting Started](https://scrapfly.io/docs/mcp/getting-started)
- [Tools & API Spec](https://scrapfly.io/docs/mcp/tools)
- [Authentication](https://scrapfly.io/docs/mcp/authentication)
- [Examples & Use Cases](https://scrapfly.io/docs/mcp/examples)
- [FAQ](https://scrapfly.io/docs/mcp/faq)
##### Integrations

- [Overview](https://scrapfly.io/docs/mcp/integrations)
- [Claude Desktop](https://scrapfly.io/docs/mcp/integrations/claude-desktop)
- [Claude Code](https://scrapfly.io/docs/mcp/integrations/claude-code)
- [ChatGPT](https://scrapfly.io/docs/mcp/integrations/chatgpt)
- [Cursor](https://scrapfly.io/docs/mcp/integrations/cursor)
- [Cline](https://scrapfly.io/docs/mcp/integrations/cline)
- [Windsurf](https://scrapfly.io/docs/mcp/integrations/windsurf)
- [Zed](https://scrapfly.io/docs/mcp/integrations/zed)
- [Roo Code](https://scrapfly.io/docs/mcp/integrations/roo-code)
- [VS Code](https://scrapfly.io/docs/mcp/integrations/vscode)
- [LangChain](https://scrapfly.io/docs/mcp/integrations/langchain)
- [LlamaIndex](https://scrapfly.io/docs/mcp/integrations/llamaindex)
- [CrewAI](https://scrapfly.io/docs/mcp/integrations/crewai)
- [OpenAI](https://scrapfly.io/docs/mcp/integrations/openai)
- [n8n](https://scrapfly.io/docs/mcp/integrations/n8n)
- [Make](https://scrapfly.io/docs/mcp/integrations/make)
- [Zapier](https://scrapfly.io/docs/mcp/integrations/zapier)
- [Vapi AI](https://scrapfly.io/docs/mcp/integrations/vapi)
- [Agent Builder](https://scrapfly.io/docs/mcp/integrations/agent-builder)
- [Custom Client](https://scrapfly.io/docs/mcp/integrations/custom-client)


#### Web Scraping API

- [Getting Started](https://scrapfly.io/docs/scrape-api/getting-started)
- [API Specification]()
- [Monitoring](https://scrapfly.io/docs/monitoring)
- [Customize Request](https://scrapfly.io/docs/scrape-api/custom)
- [Debug](https://scrapfly.io/docs/scrape-api/debug)
- [Anti Scraping Protection](https://scrapfly.io/docs/scrape-api/anti-scraping-protection)
- [Proxy](https://scrapfly.io/docs/scrape-api/proxy)
- [Proxy Mode](https://scrapfly.io/docs/scrape-api/proxy-mode)
- [Proxy Mode - Screaming Frog](https://scrapfly.io/docs/scrape-api/proxy-mode/screaming-frog)
- [Proxy Mode - Apify](https://scrapfly.io/docs/scrape-api/proxy-mode/apify)
- [(Auto) Data Extraction](https://scrapfly.io/docs/scrape-api/extraction)
- [Javascript Rendering](https://scrapfly.io/docs/scrape-api/javascript-rendering)
- [Javascript Scenario](https://scrapfly.io/docs/scrape-api/javascript-scenario)
- [SSL](https://scrapfly.io/docs/scrape-api/ssl)
- [DNS](https://scrapfly.io/docs/scrape-api/dns)
- [Cache](https://scrapfly.io/docs/scrape-api/cache)
- [Batch (Multi-URL Scraping)](https://scrapfly.io/docs/scrape-api/batch)
- [Session](https://scrapfly.io/docs/scrape-api/session)
- [Webhook](https://scrapfly.io/docs/scrape-api/webhook)
- [Schedule](https://scrapfly.io/docs/scrape-api/schedule)
- [Screenshot](https://scrapfly.io/docs/scrape-api/screenshot)
- [Errors](https://scrapfly.io/docs/scrape-api/errors)
- [Timeout](https://scrapfly.io/docs/scrape-api/understand-timeout)
- [Throttling](https://scrapfly.io/docs/throttling)
- [Troubleshoot](https://scrapfly.io/docs/scrape-api/troubleshoot)
- [Billing](https://scrapfly.io/docs/scrape-api/billing)
- [FAQ](https://scrapfly.io/docs/scrape-api/faq)

#### Crawler API

- [Getting Started](https://scrapfly.io/docs/crawler-api/getting-started)
- [API Specification]()
- [Retrieving Results](https://scrapfly.io/docs/crawler-api/results)
- [WARC Format](https://scrapfly.io/docs/crawler-api/warc-format)
- [Data Extraction](https://scrapfly.io/docs/crawler-api/extraction-rules)
- [Webhook](https://scrapfly.io/docs/crawler-api/webhook)
- [Schedule](https://scrapfly.io/docs/crawler-api/schedule)
- [Billing](https://scrapfly.io/docs/crawler-api/billing)
- [Errors](https://scrapfly.io/docs/crawler-api/errors)
- [Troubleshoot](https://scrapfly.io/docs/crawler-api/troubleshoot)
- [FAQ](https://scrapfly.io/docs/crawler-api/faq)

#### Screenshot API

- [Getting Started](https://scrapfly.io/docs/screenshot-api/getting-started)
- [API Specification]()
- [Accessibility Testing](https://scrapfly.io/docs/screenshot-api/accessibility)
- [Webhook](https://scrapfly.io/docs/screenshot-api/webhook)
- [Schedule](https://scrapfly.io/docs/screenshot-api/schedule)
- [Billing](https://scrapfly.io/docs/screenshot-api/billing)
- [Errors](https://scrapfly.io/docs/screenshot-api/errors)

#### Extraction API

- [Getting Started](https://scrapfly.io/docs/extraction-api/getting-started)
- [API Specification]()
- [Rules Template](https://scrapfly.io/docs/extraction-api/rules-and-template)
- [LLM Extraction](https://scrapfly.io/docs/extraction-api/llm-prompt)
- [AI Auto Extraction](https://scrapfly.io/docs/extraction-api/automatic-ai)
- [Webhook](https://scrapfly.io/docs/extraction-api/webhook)
- [Billing](https://scrapfly.io/docs/extraction-api/billing)
- [Errors](https://scrapfly.io/docs/extraction-api/errors)
- [FAQ](https://scrapfly.io/docs/extraction-api/faq)

#### Data API


#### Proxy Saver

- [Getting Started](https://scrapfly.io/docs/proxy-saver/getting-started)
- [Fingerprints](https://scrapfly.io/docs/proxy-saver/fingerprints)
- [Optimizations](https://scrapfly.io/docs/proxy-saver/optimizations)
- [SSL Certificates](https://scrapfly.io/docs/proxy-saver/certificates)
- [Protocols](https://scrapfly.io/docs/proxy-saver/protocols)
- [Pacfile](https://scrapfly.io/docs/proxy-saver/pacfile)
- [Secure Credentials](https://scrapfly.io/docs/proxy-saver/security)
- [Billing](https://scrapfly.io/docs/proxy-saver/billing)

#### Cloud Browser API

- [Getting Started](https://scrapfly.io/docs/cloud-browser-api/getting-started)
- [Proxy & Geo-Targeting](https://scrapfly.io/docs/cloud-browser-api/proxy)
- [Unblock API](https://scrapfly.io/docs/cloud-browser-api/unblock)
- [Captcha Solver](https://scrapfly.io/docs/cloud-browser-api/captcha-solver)
- [File Downloads](https://scrapfly.io/docs/cloud-browser-api/file-downloads)
- [Session Resume](https://scrapfly.io/docs/cloud-browser-api/session-resume)
- [Human-in-the-Loop](https://scrapfly.io/docs/cloud-browser-api/human-in-the-loop)
- [Debug Mode](https://scrapfly.io/docs/cloud-browser-api/debug-mode)
- [Browser Extensions](https://scrapfly.io/docs/cloud-browser-api/extensions)
- [Native Browser MCP](https://scrapfly.io/docs/cloud-browser-api/mcp)
- [DevTools Protocol](https://scrapfly.io/docs/cloud-browser-api/cdp-reference)
##### Integrations

- [Puppeteer](https://scrapfly.io/docs/cloud-browser-api/puppeteer)
- [Playwright](https://scrapfly.io/docs/cloud-browser-api/playwright)
- [Selenium](https://scrapfly.io/docs/cloud-browser-api/selenium)
- [Vercel Agent Browser](https://scrapfly.io/docs/cloud-browser-api/agent-browser)
- [Browser Use](https://scrapfly.io/docs/cloud-browser-api/browser-use)
- [Stagehand](https://scrapfly.io/docs/cloud-browser-api/stagehand)

- [Billing](https://scrapfly.io/docs/cloud-browser-api/billing)
- [Errors](https://scrapfly.io/docs/cloud-browser-api/errors)


### Tools

- [Antibot Detector](https://scrapfly.io/docs/tools/antibot-detector)

### SDK

- [Golang](https://scrapfly.io/docs/sdk/golang)
- [Python](https://scrapfly.io/docs/sdk/python)
- [Rust](https://scrapfly.io/docs/sdk/rust)
- [TypeScript](https://scrapfly.io/docs/sdk/typescript)
- [Scrapy](https://scrapfly.io/docs/sdk/scrapy)

### Integrations

- [Getting Started](https://scrapfly.io/docs/integration/getting-started)
- [LangChain](https://scrapfly.io/docs/integration/langchain)
- [LlamaIndex](https://scrapfly.io/docs/integration/llamaindex)
- [CrewAI](https://scrapfly.io/docs/integration/crewai)
- [Zapier](https://scrapfly.io/docs/integration/zapier)
- [Make](https://scrapfly.io/docs/integration/make)
- [n8n](https://scrapfly.io/docs/integration/n8n)

### Academy

- [Overview](https://scrapfly.io/academy)
- [Web Scraping Overview](https://scrapfly.io/academy/scraping-overview)
- [Tools](https://scrapfly.io/academy/tools-overview)
- [Reverse Engineering](https://scrapfly.io/academy/reverse-engineering)
- [Static Scraping](https://scrapfly.io/academy/static-scraping)
- [HTML Parsing](https://scrapfly.io/academy/html-parsing)
- [Dynamic Scraping](https://scrapfly.io/academy/dynamic-scraping)
- [Hidden API Scraping](https://scrapfly.io/academy/hidden-api-scraping)
- [Headless Browsers](https://scrapfly.io/academy/headless-browsers)
- [Hidden Web Data](https://scrapfly.io/academy/hidden-web-data)
- [JSON Parsing](https://scrapfly.io/academy/json-parsing)
- [Data Processing](https://scrapfly.io/academy/data-processing)
- [Scaling](https://scrapfly.io/academy/scaling)
- [Walkthrough Summary](https://scrapfly.io/academy/walkthrough-summary)
- [Scraper Blocking](https://scrapfly.io/academy/scraper-blocking)
- [Proxies](https://scrapfly.io/academy/proxies)

---

1. [DevTools Protocol](https://scrapfly.io/docs/cloud-browser-api/cdp-reference)
2. Browser

  # Browser

The Browser domain defines methods and events for browser managing.

 - [Commands (23)](#commands)
- [Events (3)](#events)
- [Types (12)](#types)

No symbols match your filter.

## Commands

#### `Browser.setPermission`

 Experimental

Set permission settings for given embedding and embedded origins.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `permission` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-PermissionDescriptor">PermissionDescriptor</a>` | Descriptor of permission to override. |
| `setting` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-PermissionSetting">PermissionSetting</a>` | Setting of the permission. |
| `origin`  (optional) | `string` | Embedding origin the permission applies to, all origins if not specified. |
| `embeddedOrigin`  (optional) | `string` | Embedded origin the permission applies to. It is ignored unless the embedding origin is present and valid. If the embedding origin is provided but the embedded origin isn't, the embedding origin is used as the embedded origin. |
| `browserContextId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserContextID">BrowserContextID</a>` | Context to override. When omitted, default browser context is used. |

#### `Browser.grantPermissions`

 Experimental Deprecated

Grant specific permissions to the given origin and reject all others. Deprecated. Use
setPermission instead.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `permissions` | `array<<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-PermissionType">PermissionType</a>>` |  |
| `origin`  (optional) | `string` | Origin the permission applies to, all origins if not specified. |
| `browserContextId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserContextID">BrowserContextID</a>` | BrowserContext to override permissions. When omitted, default browser context is used. |

#### `Browser.resetPermissions`

Reset all permission management for all origins.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `browserContextId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserContextID">BrowserContextID</a>` | BrowserContext to reset permissions. When omitted, default browser context is used. |

#### `Browser.setDownloadBehavior`

 Experimental

Set the behavior when downloading a file.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `behavior` | `string` | Whether to allow all or deny all download requests, or use default Chrome behavior if available (otherwise deny). \|allowAndName\| allows download and names files according to their download guids. |
| `browserContextId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserContextID">BrowserContextID</a>` | BrowserContext to set download behavior. When omitted, default browser context is used. |
| `downloadPath`  (optional) | `string` | The default path to save downloaded files to. This is required if behavior is set to 'allow' or 'allowAndName'. |
| `eventsEnabled`  (optional) | `boolean` | Whether to emit download events (defaults to false). |

#### `Browser.cancelDownload`

 Experimental

Cancel a download if in progress

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `guid` | `string` | Global unique identifier of the download. |
| `browserContextId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserContextID">BrowserContextID</a>` | BrowserContext to perform the action in. When omitted, default browser context is used. |

#### `Browser.close`

Close browser gracefully.

#### `Browser.crash`

 Experimental

Crashes browser on the main thread.

#### `Browser.crashGpuProcess`

 Experimental

Crashes GPU process.

#### `Browser.getVersion`

Returns version information.

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `protocolVersion` | `string` | Protocol version. |
| `product` | `string` | Product name. |
| `revision` | `string` | Product revision. |
| `userAgent` | `string` | User-Agent. |
| `jsVersion` | `string` | V8 version. |

#### `Browser.getBrowserCommandLine`

 Experimental

Returns the command line switches for the browser process if, and only if
\--enable-automation is on the commandline.

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `arguments` | `array<<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-string">string</a>>` | Commandline parameters |

#### `Browser.getHistograms`

 Experimental

Get Chrome histograms.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `query`  (optional) | `string` | Requested substring in name. Only histograms which have query as a substring in their name are extracted. An empty or absent query returns all histograms. |
| `delta`  (optional) | `boolean` | If true, retrieve delta since last delta call. |

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `histograms` | `array<<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-Histogram">Histogram</a>>` | Histograms. |

#### `Browser.getHistogram`

 Experimental

Get a Chrome histogram by name.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `name` | `string` | Requested histogram name. |
| `delta`  (optional) | `boolean` | If true, retrieve delta since last delta call. |

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `histogram` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-Histogram">Histogram</a>` | Histogram. |

#### `Browser.getWindowBounds`

 Experimental

Get position and size of the browser window.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `windowId` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-WindowID">WindowID</a>` | Browser window id. |

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `bounds` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-Bounds">Bounds</a>` | Bounds information of the window. When window state is 'minimized', the restored window position and size are returned. |

#### `Browser.getWindowForTarget`

 Experimental

Get the browser window that contains the devtools target.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `targetId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Target#type-TargetID">Target.TargetID</a>` | Devtools agent host id. If called as a part of the session, associated targetId is used. |

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `windowId` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-WindowID">WindowID</a>` | Browser window id. |
| `bounds` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-Bounds">Bounds</a>` | Bounds information of the window. When window state is 'minimized', the restored window position and size are returned. |

#### `Browser.setWindowBounds`

 Experimental

Set position and/or size of the browser window.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `windowId` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-WindowID">WindowID</a>` | Browser window id. |
| `bounds` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-Bounds">Bounds</a>` | New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged. |

#### `Browser.setContentsSize`

 Experimental

Set size of the browser contents resizing browser window as necessary.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `windowId` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-WindowID">WindowID</a>` | Browser window id. |
| `width`  (optional) | `integer` | The window contents width in DIP. Assumes current width if omitted. Must be specified if 'height' is omitted. |
| `height`  (optional) | `integer` | The window contents height in DIP. Assumes current height if omitted. Must be specified if 'width' is omitted. |

#### `Browser.setDockTile`

 Experimental

Set dock tile details, platform-specific.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `badgeLabel`  (optional) | `string` |  |
| `image`  (optional) | `binary` | Png encoded image. |

#### `Browser.executeBrowserCommand`

 Experimental

Invoke custom browser commands used by telemetry.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `commandId` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserCommandId">BrowserCommandId</a>` |  |

#### `Browser.addPrivacySandboxEnrollmentOverride`

Allows a site to use privacy sandbox features that require enrollment
without the site actually being enrolled. Only supported on page targets.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `url` | `string` |  |

#### `Browser.enable`

 Experimental Scrapfly

Enables Browser-domain Scrapfly events for this session. Currently emits
restorableSessionDetected if the last run ended in a crash and a session is
available to restore (the CDP equivalent of Chromium showing the "Restore
pages?" bubble). No-op for the upstream Browser commands. \[Scrapfly extension\]

#### `Browser.restoreSession`

 Experimental Scrapfly

Reopens the previous browsing session's tabs — the programmatic equivalent
of clicking "Restore" on the "Chromium didn't shut down correctly" bubble.
Requires a profile with a persisted last session (a reused user-data-dir).
Restores asynchronously; the response is sent once the browser/tabs have
been created (not necessarily finished loading). \[Scrapfly extension\]

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `requireCrashedState`  (optional) | `boolean` | When true, only restore if the last exit was a crash; otherwise this is a no-op with success=false. Default false (restore regardless of how the last session ended, as long as one exists). |

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `success` | `boolean` |  |
| `restoredTabs`  (optional) | `array<<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-RestoredTab">RestoredTab</a>>` | The tabs reopened by the restore, each with its DevTools target id and URL. Empty/absent on failure. |
| `errorMessage`  (optional) | `string` |  |

#### `Browser.addPrivacySandboxCoordinatorKeyConfig`

Configures encryption keys used with a given privacy sandbox API to talk
to a trusted coordinator. Since this is intended for test automation only,
coordinatorOrigin must be a .test domain. No existing coordinator
configuration for the origin may exist.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `api` | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-PrivacySandboxAPI">PrivacySandboxAPI</a>` |  |
| `coordinatorOrigin` | `string` |  |
| `keyConfig` | `string` |  |
| `browserContextId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserContextID">BrowserContextID</a>` | BrowserContext to perform the action in. When omitted, default browser context is used. |

#### `Browser.flushProfile`

 Experimental

Flush all in-memory profile state to disk (cookies, DOM storage, trust tokens, etc).
Used before profile backup to ensure all data is persisted to SQLite/LevelDB.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `browserContextId`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-BrowserContextID">BrowserContextID</a>` | BrowserContext to flush. When omitted, default browser context is used. |

###### Return Object

 | Name | Type | Description |
|---|---|---|
| `cookieCount` | `integer` | Number of cookies flushed to disk. |
| `localStorageOriginCount` | `integer` | Number of localStorage origins flushed. |
| `pstCount` | `integer` | Number of private state tokens flushed. |

## Events

#### `Browser.downloadWillBegin`

 Experimental

Fired when page is about to start a download.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `frameId` | `<a href="/docs/cloud-browser-api/cdp-reference/Page#type-FrameId">Page.FrameId</a>` | Id of the frame that caused the download to begin. |
| `guid` | `string` | Global unique identifier of the download. |
| `url` | `string` | URL of the resource being downloaded. |
| `suggestedFilename` | `string` | Suggested file name of the resource (the actual name of the file saved on disk may differ). |

#### `Browser.downloadProgress`

 Experimental

Fired when download makes progress. Last call has |done| == true.

###### Parameters

 | Name | Type | Description |
|---|---|---|
| `guid` | `string` | Global unique identifier of the download. |
| `totalBytes` | `number` | Total expected bytes to download. |
| `receivedBytes` | `number` | Total bytes received. |
| `state` | `string` | Download status. |
| `filePath`  (optional) Experimental | `string` | If download is "completed", provides the path of the downloaded file. Depending on the platform, it is not guaranteed to be set, nor the file is guaranteed to exist. |

#### `Browser.restorableSessionDetected`

 Experimental Scrapfly

Emitted (after Browser.enable) when the previous run ended uncleanly and a
session is available to restore — i.e. exactly when Chromium would surface
the "Chromium didn't shut down correctly / Restore pages?" bubble in the UI.
The client can react by calling Browser.restoreSession. \[Scrapfly extension\]

## Types

#### `BrowserContextID`

 (string) Experimental

#### `WindowID`

 (integer) Experimental

#### `WindowState`

 (string) Experimental

The state of the browser window.

###### Allowed Values

- `normal`
- `minimized`
- `maximized`
- `fullscreen`

#### `Bounds`

 (object) Experimental

Browser window bounds information

###### Properties

 | Name | Type | Description |
|---|---|---|
| `left`  (optional) | `integer` | The offset from the left edge of the screen to the window in pixels. |
| `top`  (optional) | `integer` | The offset from the top edge of the screen to the window in pixels. |
| `width`  (optional) | `integer` | The window width in pixels. |
| `height`  (optional) | `integer` | The window height in pixels. |
| `windowState`  (optional) | `<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-WindowState">WindowState</a>` | The window state. Default to normal. |

#### `PermissionType`

 (string) Experimental

###### Allowed Values

- `ar`
- `audioCapture`
- `automaticFullscreen`
- `backgroundFetch`
- `backgroundSync`
- `cameraPanTiltZoom`
- `capturedSurfaceControl`
- `clipboardReadWrite`
- `clipboardSanitizedWrite`
- `displayCapture`
- `durableStorage`
- `geolocation`
- `handTracking`
- `idleDetection`
- `keyboardLock`
- `localFonts`
- `localNetwork`
- `localNetworkAccess`
- `loopbackNetwork`
- `midi`
- `midiSysex`
- `nfc`
- `notifications`
- `paymentHandler`
- `periodicBackgroundSync`
- `pointerLock`
- `protectedMediaIdentifier`
- `sensors`
- `smartCard`
- `speakerSelection`
- `storageAccess`
- `topLevelStorageAccess`
- `videoCapture`
- `vr`
- `wakeLockScreen`
- `wakeLockSystem`
- `webAppInstallation`
- `webPrinting`
- `windowManagement`

#### `PermissionSetting`

 (string) Experimental

###### Allowed Values

- `granted`
- `denied`
- `prompt`

#### `PermissionDescriptor`

 (object) Experimental

Definition of PermissionDescriptor defined in the Permissions API:
https://w3c.github.io/permissions/#dom-permissiondescriptor.

###### Properties

 | Name | Type | Description |
|---|---|---|
| `name` | `string` | Name of permission. See https://cs.chromium.org/chromium/src/third\_party/blink/renderer/modules/permissions/permission\_descriptor.idl for valid permission names. |
| `sysex`  (optional) | `boolean` | For "midi" permission, may also specify sysex control. |
| `userVisibleOnly`  (optional) | `boolean` | For "push" permission, may specify userVisibleOnly. Note that userVisibleOnly = true is the only currently supported type. |
| `allowWithoutSanitization`  (optional) | `boolean` | For "clipboard" permission, may specify allowWithoutSanitization. |
| `allowWithoutGesture`  (optional) | `boolean` | For "fullscreen" permission, must specify allowWithoutGesture:true. |
| `panTiltZoom`  (optional) | `boolean` | For "camera" permission, may specify panTiltZoom. |

#### `BrowserCommandId`

 (string) Experimental

Browser command ids used by executeBrowserCommand.

###### Allowed Values

- `openTabSearch`
- `closeTabSearch`
- `openGlic`

#### `Bucket`

 (object) Experimental

Chrome histogram bucket.

###### Properties

 | Name | Type | Description |
|---|---|---|
| `low` | `integer` | Minimum value (inclusive). |
| `high` | `integer` | Maximum value (exclusive). |
| `count` | `integer` | Number of samples. |

#### `Histogram`

 (object) Experimental

Chrome histogram.

###### Properties

 | Name | Type | Description |
|---|---|---|
| `name` | `string` | Name. |
| `sum` | `integer` | Sum of sample values. |
| `count` | `integer` | Total number of samples. |
| `buckets` | `array<<a href="/docs/cloud-browser-api/cdp-reference/Browser#type-Bucket">Bucket</a>>` | Buckets. |

#### `RestoredTab`

 (object) Experimental Scrapfly

A tab reopened by restoreSession.

###### Properties

 | Name | Type | Description |
|---|---|---|
| `targetId` | `<a href="/docs/cloud-browser-api/cdp-reference/Target#type-TargetID">Target.TargetID</a>` | DevTools target id of the restored tab. Attach to it with Target.attachToTarget, or drive it with the other Browser/Page commands. |
| `url` | `string` | URL the restored tab committed to (may still be loading). |

#### `PrivacySandboxAPI`

 (string) Experimental

###### Allowed Values

- `BiddingAndAuctionServices`
- `TrustedKeyValue`
