---
title: "Read a saved profile and actual runtime state"
method: GET
path: "/cloud-browsers/{id}"
tags: ["Cloud browsers"]
---

# Read a saved profile and actual runtime state

`GET /cloud-browsers/{id}`

## Request

- Base URL: `https://api.adscrawl.net`
- URL: `https://api.adscrawl.net/cloud-browsers/{id}`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
  - API key in cookie `access_token`
- TypeScript: <https://skmtc.dev/adscrawl/apis/adscrawl-api/docs/cloud-browsers/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the profile directly without a data wrapper. Use runtime.status as returned. A missing node or connection URL does not confirm shutdown. Proxy credentials are removed from responses; saved cookies remain readable by their owner. Viewer access requires the owner's login session.

## Response `200`

Saved profile and runtime status.

- CloudBrowser
  - `id` string, uuid
  - `source` 'manual' | 'launch'
  - `deleteOnStop` boolean: Current profiles are retained on stop; false.
  - `deleted` boolean
  - `remark` string
  - `browserSettings` object: Saved browser settings with proxy credentials removed; may include owner-readable cookies and snapshots.
  - `proxyDisplayIp` string, nullable
  - `proxyDisplayRegion` string, nullable
  - `lastOpenedAt` string, date-time, nullable
  - `updatedAt` string, date-time
  - `runtime` CloudRuntime
    - `runtimeKind` 'neko' | 'worker_cdp'
    - `status` 'starting' | 'running' | 'stopping' | 'stopped', required
    - `sessionId` string
    - `expiresAt` string, date-time
    - `connectUrl` string, uri: Optional interactive viewer URL when running; requires the profile owner's login session.
    - `cdpBaseUrl` string, uri: Only worker_cdp may return this; neko omits it.

## Other responses

- `default`: Error response. Typical statuses are 400 invalid input, 401 invalid authentication, 402 payment/credits required, 403 ownership mismatch, 404 missing resource, 409 state or quota conflict, 410 expired session, 429 rate/concurrency limit, 500 internal failure, 502 upstream failure, 503 capacity/runtime unavailable, or 504 timeout. Not every status applies to every operation. Use HTTP status and code when present.

---

[API](https://skmtc.dev/adscrawl/apis/adscrawl-api.md) - [All operations](https://skmtc.dev/adscrawl/apis/adscrawl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adscrawl/apis/adscrawl-api/revisions/aa45d0651921?raw)
