> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anchorbrowser.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Browser Sessions

> How cloud browser sessions work — what you get back, how to create one, and what you can configure at creation time.

A **browser session** is a cloud Chromium instance you control over CDP (Playwright, Puppeteer) or Anchor's APIs. Create one, automate, then end it when done.

## What you get back

Every successful create returns:

| Field           | Use it for                                                                                              |
| --------------- | ------------------------------------------------------------------------------------------------------- |
| `id`            | Session identity — reconnect, run tasks, fetch recordings                                               |
| `cdp_url`       | Connect Playwright or Puppeteer over Chrome DevTools Protocol                                           |
| `live_view_url` | Embed or share a live view of the browser — see [Embedded Browser Live UI](/advanced/browser-live-view) |

By default sessions start **headful** with **recording enabled**. See [Start Browser Session](/api-reference/browser-sessions/start-browser-session) for defaults and full schema.

## How to create

| Guide                                                      | When to use                                                                                         |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [Create a Session](/quickstart/create-session)             | Standard create — blocks until the browser is ready. Best for scripts and single sessions.          |
| [Async Session](/essentials/async-session)                 | Returns immediately; poll until ready. Best for parallel provisioning or long proxy/stealth setups. |
| [Batch Browser Sessions](/advanced/batch-browser-sessions) | Many sessions in one call (up to 5,000). Best for large-scale scraping or load tests.               |

## Configure at create

Pass optional `session` and `browser` blocks in the create request body. The shape is the same for sync, async, and batch creates. Full schema: [Start Browser Session](/api-reference/browser-sessions/start-browser-session).

```json theme={null}
{
  "session": {
    "initial_url": "https://app.example.com"
  },
  "browser": {
    "headless": { "active": true }
  },
  "identities": [{ "id": "your-identity-id" }]
}
```

Attach **`identities`** to start signed in, or set **`browser.profile`** to load a saved browser state — see the auth rows below.

Setup for each option lives on its own page — this section only links there:

| Configurable at create                                                        | Learn more                                                                                                                      |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Proxy, VPN, sticky IP                                                         | [Proxy](/advanced/proxy), [Anchor VPN](/advanced/anchor-vpn), [Dedicated sticky IP](/advanced/dedicated-sticky-ip)              |
| Stealth, captcha, web bot auth                                                | [Stealth](/essentials/stealth), [CAPTCHA solving](/advanced/captcha-solving), [Web Bot Auth](/advanced/cloudflare-web-bot-auth) |
| Extensions, adblock, popups, sensitive data masking, timeouts, tags, CA certs | **Customize** in the sidebar                                                                                                    |
| Profiles (`browser.profile`)                                                  | [Managed Authentication — Browser profiles](/essentials/managed-authentication#browser-profiles)                                |
| Identities (`identities[]`)                                                   | [Managed Authentication](/essentials/managed-authentication)                                                                    |
| Email OTP, Custom MFA, 1Password                                              | [Email MFA](/advanced/email-otp), [Custom MFA](/advanced/mfa), [1Password](/integrations/1password)                             |
| Live view / embed (`live_view_url`)                                           | [Embedded Browser Live UI](/advanced/browser-live-view)                                                                         |

## Next steps

<CardGroup cols={2}>
  <Card title="Create a session" icon="play" href="/quickstart/create-session">
    SDK quick start — create, connect with Playwright or Puppeteer, automate.
  </Card>

  <Card title="Async sessions" icon="bolt" href="/essentials/async-session">
    Non-blocking create and poll until ready.
  </Card>

  <Card title="Batch sessions" icon="layer-group" href="/advanced/batch-browser-sessions">
    Create many sessions in one API call.
  </Card>

  <Card title="Session recordings" icon="video" href="/essentials/recording">
    Record and replay sessions after they end.
  </Card>
</CardGroup>
