> ## Documentation Index
> Fetch the complete documentation index at: https://browseruse-0aece648-magnus-streaming-api-link.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Profiles

> Persistent browser state — cookies, localStorage, saved passwords. Login once, reuse across sessions.

<CodeGroup>
  ```python Python theme={null}
  from browser_use_sdk.v3 import AsyncBrowserUse

  client = AsyncBrowserUse()
  profile = await client.profiles.create(name="user-id-1")
  # or search existing
  # profile = (await client.profiles.list(query="user-id-1"))[0]
  session = await client.sessions.create(profile_id=profile.id)
  result = await client.run("Check browser-use github stars", session_id=session.id)
  print(result.output)
  ```

  ```typescript TypeScript theme={null}
  import { BrowserUse } from "browser-use-sdk/v3";

  const client = new BrowserUse();
  const profile = await client.profiles.create({ name: "user-id-1" });
  // or search existing
  // const profile = (await client.profiles.list({ query: "user-id-1" }))[0];
  const session = await client.sessions.create({ profileId: profile.id });
  const result = await client.run("Check browser-use github stars", {
    sessionId: session.id,
  });
  console.log(result.output);
  ```
</CodeGroup>

View your profile IDs at [cloud.browser-use.com/settings](https://cloud.browser-use.com/settings?tab=profiles).

## Manage profiles

<CodeGroup>
  ```python Python theme={null}
  # Create
  profile = await client.profiles.create(name="work-account")

  # List all
  profiles = await client.profiles.list()
  for p in profiles:
      print(p.id, p.name)

  # Search by name
  results = await client.profiles.list(query="user-id-1")
  profile = results[0]  # first match

  # Get one by ID
  profile = await client.profiles.get(profile_id)

  # Update
  await client.profiles.update(profile_id, name="renamed")

  # Delete
  await client.profiles.delete(profile_id)
  ```

  ```typescript TypeScript theme={null}
  // Create
  const profile = await client.profiles.create({ name: "work-account" });

  // List all
  const profiles = await client.profiles.list();
  for (const p of profiles) {
    console.log(p.id, p.name);
  }

  // Search by name
  const results = await client.profiles.list({ query: "user-id-1" });
  const found = results[0]; // first match

  // Get one by ID
  const fetched = await client.profiles.get(profileId);

  // Update
  await client.profiles.update(profileId, { name: "renamed" });

  // Delete
  await client.profiles.delete(profileId);
  ```
</CodeGroup>

## Usage patterns

* **Per-user profiles:** Create one profile per end-user. Query by name to get the profile ID, or store a mapping between your users and their profile IDs in your database.

<Warning>
  Profile state is only saved when the session ends. Always call `sessions.stop()` when you are done — if a session is left open or times out, changes may not be persisted.
</Warning>
