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

> ## Agent Instructions
> H Platform has four products: the Agents API (managed computer-use agents, base URL https://agp.eu.hcompany.ai/api/v2 or https://agp.hcompany.ai/api/v2 for the US), the Models API (OpenAI-compatible Holo vision-language models at https://api.hcompany.ai/v1), HoloDesktop CLI (Holo on the user's own desktop), and HoloTab (a free no-code Chrome extension that runs Holo in the user's browser, with recordable routines and schedules).
> Authenticate with a bearer API key from the HAI_API_KEY environment variable. SDKs: `pip install hai-agents` (Python, `from hai_agents import Client`) and `npm install hai-agents` (TypeScript, `import { HaiAgentsClient } from "hai-agents"`). CLI: `hai`.
> Agents do work in a browser or on a desktop; describe the task as an imperative instruction. To run a task quickly, prefer the pre-built agent `h/web-surfer-flash`. Read results from the session's `latest_answer` after it reaches a terminal status.
> Sessions are the unit of work; wait for a terminal status (completed, failed, timed_out, interrupted) before reading the answer. Use webhooks or the `changes` long-poll endpoint to follow progress.

# Retrieve a browser profile

> Fetch a browser profile by id, with its upload state and default flag.

Fetches a single browser profile.

**Returns** the profile object.

***

## Path parameters

<ParamField path="profile_id" type="string" required>
  The profile's `id` (UUID).
</ParamField>

***

## The browser profile object

<ResponseField name="id" type="string">
  Unique profile identifier (UUID).
</ResponseField>

<ResponseField name="name" type="string">
  Human-readable label.
</ResponseField>

<ResponseField name="description" type="string | null">
  Optional free-text description.
</ResponseField>

<ResponseField name="browser_name" type="string">
  Browser the profile was captured with (for example `chromium`).
</ResponseField>

<ResponseField name="browser_version" type="string">
  Browser version string the profile was captured with.
</ResponseField>

<ResponseField name="s3_path" type="string | null">
  Internal storage path of the profile archive.
</ResponseField>

<ResponseField name="file_size_bytes" type="integer | null">
  Size of the stored archive in bytes.
</ResponseField>

<ResponseField name="checksum" type="string | null">
  SHA-256 checksum of the stored archive, computed at upload time.
</ResponseField>

<ResponseField name="usage_count" type="integer">
  Number of times the profile has been loaded into a session.
</ResponseField>

<ResponseField name="last_used_at" type="string | null">
  ISO 8601 timestamp of the last time the profile was loaded, or `null` if never used.
</ResponseField>

<ResponseField name="labels" type="object | null">
  Key-value metadata you set on the profile.
</ResponseField>

<ResponseField name="is_default" type="boolean">
  Whether this profile is your [default](/agents-api/browser/profiles#default-profiles) for its `browser_name`. Set and cleared via the [set-default](/agents-api/browser-profiles/set-default) and [unset-default](/agents-api/browser-profiles/unset-default) endpoints.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 creation timestamp.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp of the last change.
</ResponseField>

***

## Examples

<CodeGroup>
  ```bash cURL theme={"system"}
  curl "https://agp.eu.hcompany.ai/api/v2/browser-profiles/a1b2c3d4-5678-90ab-cdef-1234567890ab" \
    -H "Authorization: Bearer $HAI_API_KEY"
  ```

  ```python Python theme={"system"}
  from hai_agents import Client

  client = Client()

  profile = client.browser_profiles.get_browser_profile(profile_id="a1b2c3d4-5678-90ab-cdef-1234567890ab")
  print(profile.name, profile.browser_name, profile.usage_count)
  ```

  ```typescript TypeScript theme={"system"}
  import { HaiAgentsClient } from "hai-agents";

  const client = new HaiAgentsClient();

  const profile = await client.browserProfiles.getBrowserProfile({
    profileId: "a1b2c3d4-5678-90ab-cdef-1234567890ab",
  });
  console.log(profile.name, profile.browserName, profile.usageCount);
  ```
</CodeGroup>

```json Response theme={"system"}
{
  "id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
  "name": "acme-prod-login",
  "description": null,
  "browser_name": "chromium",
  "browser_version": "131",
  "s3_path": "browser-profiles/finished/org_123/a1b2c3d4-5678-90ab-cdef-1234567890ab/profile.zip",
  "file_size_bytes": 102400,
  "checksum": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "usage_count": 3,
  "last_used_at": "2026-06-16T13:05:00Z",
  "labels": {"team": "qa"},
  "is_default": false,
  "created_at": "2026-06-16T14:30:00Z",
  "updated_at": "2026-06-16T14:30:00Z"
}
```

***

## Errors

| Status | Cause                                       |
| ------ | ------------------------------------------- |
| `404`  | Profile not found or you don't have access. |
