---
title: "List all sessions"
method: GET
path: "/v1/sessions"
tags: ["Sessions"]
---

# List all sessions

`GET /v1/sessions`

Fetches all active sessions for the current organization.

## Query parameters

- `cursorId` string
- `limit` integer
- `status` 'live' | 'released' | 'failed'
- `projectId` string, uuid

## Response `200`

Response containing a list of browser sessions with pagination details.

- SessionsResponse — Response containing a list of browser sessions with pagination details.
  - `nextCursor` string, nullable, required — Cursor for the next page of results. Null if no more pages.
  - `sessions` object[], required — List of browser sessions
    - `createdAt` string, date-time, required — Timestamp when the session started
    - `creditsUsed` integer, required — Amount of credits consumed by the session
    - `debugConfig` object — Configuration for the debug URL and session viewer. Controls interaction capabilities and cursor visibility.
      - `interactive` boolean — Whether interaction is allowed via the debug URL viewer. When false, the session viewer is view-only.
      - `systemCursor` boolean — Whether the OS-level mouse cursor is shown in the WebRTC stream (headful mode only).
    - `debugUrl` string, required — URL for debugging the session
    - `deviceConfig` object — Device configuration for the session
      - `device` 'desktop' | 'mobile'
    - `dimensions` object, required — Viewport and browser window dimensions for the session
      - `height` integer, required — Height of the browser window
      - `width` integer, required — Width of the browser window
    - `duration` integer, required — Duration of the session in milliseconds
    - `eventCount` integer, required — Number of events processed in the session
    - `fullscreen` boolean — Launch the browser in fullscreen mode, covering the full screen with no Chrome UI.
    - `headless` boolean — Indicates if the session is headless or headful
    - `id` string, uuid, required — Unique identifier for the session
    - `inactivityTimeout` integer — Inactivity timeout in milliseconds, if one was set when the session was created
    - `isSelenium` boolean — Indicates if Selenium is used in the session
    - `optimizeBandwidth` object, required — Bandwidth optimizations that were applied to the session.
      - `blockHosts` string[]
      - `blockImages` boolean
      - `blockMedia` boolean
      - `blockStylesheets` boolean
      - `blockUrlPatterns` string[]
    - `persistProfile` boolean — This flag will persist the profile for the session.
    - `profileId` string, uuid — The ID of the profile associated with the session
    - `projectId` string, uuid, nullable — The project associated with the session
    - `proxyBytesUsed` integer, required — Amount of data transmitted through the proxy
    - `proxySource` 'steel' | 'external', nullable, required — Source of the proxy used for the session
    - `region` 'lax' | 'ord' | 'iad' | 'scl' | 'fra' | 'nrt' | 'us-east' | 'us-west' | 'us-central' | 'eu-west' | 'eu-central' | 'ap-northeast' | 'ap-southeast' | 'sa-east' — The region where the session was created.
    - `releaseReason` 'user_requested' | 'timeout' | 'inactivity_timeout' | 'creation_timeout' | 'startup_failed' | 'browser_closed' | 'browser_crashed', nullable — Why the session reached a terminal state. Null while the session is live, or when the reason is unknown (e.g. sessions created before this was tracked). One of: user_requested (released via the API/SDK), timeout (hard `timeout` elapsed), inactivity_timeout (no activity for the configured window), creation_timeout (never started in time), startup_failed (could not be dispatched), browser_closed (the browser or agent closed itself — not a crash), browser_crashed (the browser crashed or its machine became unresponsive).
    - `sessionViewerUrl` string, required — URL to view session details
    - `solveCaptcha` boolean — Indicates if captcha solving is enabled
    - `status` 'live' | 'released' | 'failed', required — Status of the session
    - `stealthConfig` object — Stealth configuration for the session
      - `autoCaptchaSolving` boolean — When true, captchas will be automatically solved when detected. When false, use the solve endpoints to manually initiate solving.
      - `humanizeInteractions` boolean — This flag will make the browser act more human-like by moving the mouse in a more natural way
      - `skipFingerprintInjection` boolean — This flag will skip the fingerprint generation for the session.
    - `timeout` integer, required — Session timeout duration in milliseconds
    - `userAgent` string — User agent string used in the session
    - `websocketUrl` string, required — URL for the session's WebSocket connection
  - `totalCount` integer — Total number of sessions matching the query. Only included for filtered queries (e.g. status=live).

## Other responses

- `500` — An error response from the API

---

[API](https://skmtc.net/steel-dev/apis/steel-api.md) · [All operations](https://skmtc.net/steel-dev/apis/steel-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/steel-dev/steel-api/revisions/2248d956188a/schema)
