# Open Browser

### `POST /api/v1/Browser/Open` <a href="#id-1-toc-title" id="id-1-toc-title"></a>

<table data-full-width="false"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>args</td><td><code>string[]</code></td><td>A list of custom browser arguments. If <code>null</code>, default arguments will be used.</td></tr><tr><td>ignoredDefaultArgs</td><td><code>string[]</code></td><td>A list of default arguments to ignore. If <code>null</code>, default ignored arguments will be used.</td></tr><tr><td>headless</td><td><code>bool</code></td><td>Indicates whether the browser should open in headless mode (<code>true</code>) or with a graphical interface (<code>false</code>). Default is <code>false</code>.</td></tr><tr><td>stealth</td><td><code>bool</code></td><td>Enables or disables stealth mode. Default is <code>true</code>.</td></tr><tr><td>browser</td><td><code>number</code></td><td><p><code>0</code> – Chrome</p><p><code>2</code> – Chromium</p><p><code>3</code> – ChromeHeadlessShell <br><br>Default is <code>0</code></p></td></tr><tr><td>keepOpen</td><td><code>number</code></td><td>Seconds of inactivity before the browser automatically closes. The value 0 is never, default is 300 seconds.</td></tr><tr><td>proxy</td><td><code>BrowserOptionsProxy</code></td><td>Custom proxy configuration. If not specified, the service will use an automatically assigned proxy.</td></tr><tr><td>label</td><td><code>string</code> </td><td>Specifies the instance name, useful for recognizing it in the list of open remote desktops.</td></tr><tr><td>saveSession</td><td><code>bool</code> </td><td>If <code>true</code>, the browser session is saved periodically and at the end, cookies and local storage, but not the open tabs. Default is <code>false</code>.</td></tr><tr><td>recoverSession</td><td><code>bool</code> </td><td>If <code>true</code>, the label is loaded when starting a previous session (in case it exists), to know which session we saved/restored. Default is <code>false</code>.</td></tr></tbody></table>

**Request Example:**

<pre class="language-bash"><code class="lang-bash"><strong>curl -X POST https://production.cloudbrowser.ai/api/v1/Browser/Open \
</strong>-H "Authorization: Bearer &#x3C;your-api-token>" \
-d '{
  "Args": ["--no-sandbox", "--disable-gpu"],
  "IgnoredDefaultArgs": ["--enable-automation"],
  "Headless": true,
  "Stealth": true,
  "Browser": 2,
  "KeepOpen": 60,
  "Proxy": {
      "Host": "my-proxy.com",
      "Port": "8080",
      "Username": "user",
      "Password": "password"
  },
  "Label": "app-worker01",
  "saveSession": true,
  "recoverSession": true
}'
</code></pre>

**Response:**

```json
{
  "address": "browserprovider-worker-*.cloudbrowser.ai/devtools/browser/*",
  "status": 200
}
```

**HTTP response:**

* `200` – Success: The browser was successfully opened.
* `401` – AuthorizationError: Incorrect token.
* `402` – NoSubscription: No active subscription.
* `403` – NoUnits: All units have been consumed. This can be avoided by enabling additional units in the web settings.
* `404` – BrowserLimit: Your subscription does not allow opening more browsers in parallel.
* `0` – Unknown: Unexpected error.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cloudbrowser.gitbook.io/docs/get-started/browser-management/open-browser.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
