---
title: "Get Browser Session"
method: GET
path: "/browsers/{session_id}"
tags: ["Browsers"]
---

# Get Browser Session

`GET /browsers/{session_id}`

## Request

- Base URL: `https://api.browser-use.com/api/v4`
- URL: `https://api.browser-use.com/api/v4/browsers/{session_id}`
- Auth: API key in header `X-Browser-Use-API-Key`

Get detailed browser session information including status and URLs.

## Path parameters

- `session_id` string, uuid, required

## Response `200`

Successful Response

- BrowserSessionView: View model for representing a browser session.
  - `id` string, uuid, required: Unique identifier for the session
  - `status` 'active' | 'stopped', required: Enumeration of possible browser session states Attributes: ACTIVE: Session is currently active and running (browser is running) STOPPED: Session has been stopped and is no longer active (browser is stopped)
  - `liveUrl` string, nullable: URL where the browser can be viewed live in real-time
  - `cdpUrl` string, nullable: Chrome DevTools Protocol URL for browser automation
  - `timeoutAt` string, date-time, required: Timestamp when the session will timeout
  - `startedAt` string, date-time, required: Timestamp when the session was created and started
  - `finishedAt` string, date-time, nullable: Timestamp when the session was stopped (None if still active)
  - `proxyUsedMb` string: Amount of proxy data used in MB
  - `proxyCost` string: Cost of proxy usage in USD
  - `browserCost` string: Cost of browser session hosting in USD
  - `agentSessionId` string, uuid, nullable: ID of the agent session that created this browser (None for standalone BaaS sessions)
  - `recordingUrl` string, nullable: Presigned URL to download the session recording, if recording was enabled. Only populated on GET /api/v2/browsers/{session_id}: the upload starts when the browser stops, so it is never ready in the stop response.
  - `recordingAvailable` boolean: False when a recording can never appear for this session: recording was disabled, or the browser stopped long enough ago that the upload is not coming. Only ever false from proof, so a failed recording lookup leaves it true. Clients polling for `recordingUrl` must stop when this is false.
  - `metadata` object: Caller-supplied labels set when the browser was created.
  - `extensions` BrowserExtensionView[]: Extensions installed in the browser, in the order of `extensionIds`.
    - `id` string, uuid, required: Extension ID from POST /api/v4/extensions
    - `runtimeId` string, required: Chromium extension ID, as in chrome-extension://{runtimeId}/
    - `version` string, required: Version from the extension manifest

## Other responses

- `404`: Session not found
- `422`: Validation Error

---

[API](https://skmtc.dev/browser-use/apis/browser-use-public-api-v4.md) · [All operations](https://skmtc.dev/browser-use/apis/browser-use-public-api-v4/llms.txt) · [OpenAPI document](https://skmtc.dev/browser-use/apis/browser-use-public-api-v4/revisions/cd7b1eee1102?raw)
