---
title: "Start Browser Session"
method: POST
path: "/v1/sessions"
tags: ["Browser Sessions"]
---

# Start Browser Session

`POST /v1/sessions`

Allocates a new browser session for the user, with optional configurations for ad-blocking, captcha solving, proxy usage, and idle timeout.

## Request body

- SessionCreateRequestSchema
  - `session` SessionConfig — Session-related configurations.
    - `initial_url` string, uri — The URL to navigate to when the browser session starts. If not provided, the browser will load an empty page.
    - `recording` object — Configuration for session recording.
      - `active` boolean — Enable or disable video recording of the browser session. Defaults to `true`.
    - `proxy` union — Proxy Documentation available at [Proxy Documentation](/advanced/proxy)
      - object
        - `active` boolean, required
        - `type` 'anchor_proxy' — Create a session with a proxy to access websites as if you're browsing from a computer in that country.
        - `country_code` 'af' | 'al' | 'dz' | 'ad' | 'ao' | 'as' | 'ag' | 'ar' | 'am' | 'aw' | 'au' | 'at' | 'az' | 'bs' | 'bh' | 'bb' | 'by' | 'be' | 'bz' | 'bj' | 'bm' | 'bo' | 'ba' | 'br' | 'bg' | 'bf' | 'cm' | 'ca' | 'cv' | 'td' | 'cl' | 'co' | 'cg' | 'cr' | 'ci' | 'hr' | 'cu' | 'cy' | 'cz' | 'dk' | 'dm' | 'do' | 'ec' | 'eg' | 'sv' | 'ee' | 'et' | 'fo' | 'fi' | 'fr' | 'gf' | 'pf' | 'ga' | 'gm' | 'ge' | 'de' | 'gh' | 'gi' | 'gr' | 'gd' | 'gp' | 'gt' | 'gg' | 'gn' | 'gw' | 'gy' | 'ht' | 'hn' | 'hu' | 'is' | 'in' | 'ir' | 'iq' | 'ie' | 'il' | 'it' | 'jm' | 'jp' | 'jo' | 'kz' | 'kw' | 'kg' | 'lv' | 'lb' | 'ly' | 'li' | 'lt' | 'lu' | 'mk' | 'ml' | 'mt' | 'mq' | 'mr' | 'mx' | 'md' | 'mc' | 'me' | 'ma' | 'nl' | 'nz' | 'ni' | 'ng' | 'no' | 'pk' | 'pa' | 'py' | 'pe' | 'ph' | 'pl' | 'pt' | 'pr' | 'qa' | 'ro' | 'lc' | 'sm' | 'sa' | 'sn' | 'rs' | 'sc' | 'sl' | 'sk' | 'si' | 'so' | 'za' | 'kr' | 'es' | 'sr' | 'se' | 'ch' | 'sy' | 'st' | 'tw' | 'tj' | 'tg' | 'tt' | 'tn' | 'tr' | 'tc' | 'ua' | 'ae' | 'us' | 'uy' | 'uz' | 've' | 'ye'
        - `region` string — Region code for more specific geographic targeting. The city parameter can only be used when region is also provided.
        - `city` string — City name for precise geographic targeting. Supported for anchor_proxy only. Can only be used when region is also provided.
      - object
        - `type` 'custom', required
        - `server` string, required — Proxy address in **PROTOCOL://HOST:PORT** format (e.g., https://proxy.example.com:443). See [proxy page](/advanced/proxy#custom-proxy).
        - `username` string, required — Proxy username
        - `password` string, required — Proxy password
        - `active` boolean, required
    - `timeout` object — Timeout configurations for the browser session.
      - `max_duration` integer — Maximum amount of time (in minutes) for the browser to run before terminating. Defaults to `20`.
      - `idle_timeout` integer — The amount of time (in minutes) the browser session waits for new connections after all others are closed before stopping. Defaults to `5`.
    - `live_view` object — Configuration for live viewing the browser session.
      - `read_only` boolean — Enable or disable read-only mode for live viewing. Defaults to `false`.
  - `browser` BrowserConfig — Browser-specific configurations.
    - `profile` object — Options for managing and persisting browser session profiles.
      - `name` string — The name of the profile to be used during the browser session.
      - `persist` boolean — Indicates whether the browser session profile data should be saved when the browser session ends. Defaults to `false`.
    - `adblock` object — Configuration for ad-blocking.
      - `active` boolean — Enable or disable ad-blocking. Defaults to `true`.
    - `popup_blocker` object — Configuration for popup blocking.
      - `active` boolean — Blocks popups, including ads and CAPTCHA consent banners. Requires adblock to be active. Defaults to `true`.
    - `captcha_solver` object — Configuration for captcha-solving.
      - `active` boolean — Enable or disable captcha-solving. Requires proxy to be active. Defaults to `false`.
    - `headless` object — Configuration for headless mode.
      - `active` boolean — Whether browser should be headless or headful. Defaults to `false`.
    - `viewport` object — Configuration for the browser's viewport size.
      - `width` integer — Width of the viewport in pixels. Defaults to `1440`.
      - `height` integer — Height of the viewport in pixels. Defaults to `900`.
    - `fullscreen` object — Configuration for fullscreen mode.
      - `active` boolean — Enable or disable fullscreen mode. When enabled, the browser will start in fullscreen mode. Defaults to `false`.
    - `p2p_download` object — Configuration for peer-to-peer download capture functionality.
      - `active` boolean — Enable or disable P2P downloads. When enabled, the browser will capture downloads for direct data extraction, instead of uploading them on Anchor's storage. Defaults to `false`.
    - `extensions` string[] — Array of extension IDs to load in the browser session. Extensions must be previously uploaded using the Extensions API.
    - `disable_web_security` object — Configuration for disabling web security features.
      - `active` boolean — Whether to disable web security features (CORS, same-origin policy, etc.). Allows accessing iframes and resources from different origins. Defaults to `false`.
    - `cross_origin_support` object — Configuration for cross-origin support.
      - `active` boolean — Whether to enable cross-origin support. Allows accessing iframes and resources from different origins. Defaults to `false`.
    - `extra_stealth` object — Configuration for extra stealth mode to enhance browser fingerprinting protection.
      - `active` boolean — Enable or disable extra stealth mode.
    - `sensitive_data_mask` object — Automatically detects and masks sensitive data (passwords, emails, phone numbers, credit card fields, tokens) in web pages. Supports custom CSS selectors globally or per site, and custom regex patterns.
      - `active` boolean — Enable or disable sensitive data masking. Defaults to `false`.
      - `custom_selectors` string[] — Additional CSS selectors to mask globally across all sites. Matched elements will be blurred.
      - `site_selectors` object — Per-site CSS selectors. Keys are hostnames (supports wildcard prefix like `*.bank.com`), values are arrays of CSS selectors. Matched elements will be blurred.
      - `custom_patterns` object[] — Custom regex patterns to detect and mask additional sensitive data types.
        - `regex` string — Regular expression pattern to match sensitive data.
        - `mask` string — Replacement string for matched text. Defaults to `****`.
  - `integrations` Integration[] — Array of integrations to load in the browser session. Integrations must be previously created using the Integrations API.
    - `id` string, uuid, required — Unique integration ID
    - `type` '1PASSWORD', required — Integration type
    - `configuration` union, required
      - OnePasswordAllSecretsConfig
        - `load_mode` 'all', required — Load all secrets from 1Password
      - OnePasswordSpecificSecretsConfig
        - `load_mode` 'specific', required — Load specific secrets from 1Password
        - `secrets` string[], required — Array of secret references to load
  - `identities` object[] — Activates an authenticated session.
    - `id` string — The identity ID to use for the browser session.

## Response `200`

Successfully returned a browser object

- SessionCreateResponseSchema
  - `data` object
    - `id` string — Unique identifier for the browser session
    - `cdp_url` string — The CDP websocket connection string
    - `live_view_url` string — The browser session live view url

## Other responses

- `400` — Bad Request - Invalid request parameters or configuration.
- `402` — Payment Required - Insufficient credits to allocate a new browser
- `429` — Too many requests — session creation rate limit exceeded.

## Changes

- **2026-04-07** `34bbc48a0e32` — 1 info
  - added the non-success response with the status `429`
- **2026-03-20** `c1198ecebd31` — 1 info
  - added the new optional request property `browser/sensitive_data_mask`
- **2026-02-25** `ae25b3e0f20d` — 1 info
  - added the new optional request property `browser/cross_origin_support`
- **2026-02-10** `00b41ac4ada2` — 5 breaking, 147 info
  - request property `session/proxy/oneOf[subschema #1: Anchor Proxy]/country_code` was restricted to a list of enum values
  - request property `session/proxy/oneOf[subschema #1: Anchor Proxy]/type` was restricted to a list of enum values
  - removed `#/components/schemas/AnchorProxyCountryCode, #/components/schemas/ResidentialCountryCode, #/components/schemas/MobileCountryCode, #/components/schemas/GovCountryCode` from the `session/proxy/oneOf[subschema #1: Anchor Proxy]/country_code` request property `oneOf` list
  - removed `subschema #1: anchor_residential, subschema #2: anchor_mobile, subschema #3: anchor_gov, subschema #4: anchor_proxy` from the `session/proxy/oneOf[subschema #1: Anchor Proxy]/type` request property `oneOf` list
  - …148 more
- **2026-01-02** `4b12d8cb611b` — 1 info
  - added the new optional request property `identities`

[Full history](https://skmtc.dev/anchorbrowser/apis/anchorbrowser-api/changes/v1/sessions/post.md)

---

[API](https://skmtc.dev/anchorbrowser/apis/anchorbrowser-api.md) · [All operations](https://skmtc.dev/anchorbrowser/apis/anchorbrowser-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/anchorbrowser/anchorbrowser-api/revisions/d0f5aa64f9f4/schema)
