> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browser-use.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Models

> Choose the right model for your task.

Pass `model` to select a model:

| Model             | API String          | Input (per 1M tokens) | Output (per 1M tokens) |
| ----------------- | ------------------- | --------------------- | ---------------------- |
| Claude Sonnet 4.6 | `claude-sonnet-4.6` | \$3.60                | \$18.00                |
| Claude Opus 4.6   | `claude-opus-4.6`   | \$6.00                | \$30.00                |
| GPT-5.4 mini      | `gpt-5.4-mini`      | \$0.90                | \$5.40                 |

<Tip>
  We recommend **Claude Sonnet 4.6** (`claude-sonnet-4.6`). It's the model we optimize for the most right now.
</Tip>

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

  client = AsyncBrowserUse()
  result = await client.run(
      "List the top 20 posts on Hacker News today with their points",
      model="claude-sonnet-4.6",
  )
  print(result.output)
  ```

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

  const client = new BrowserUse();
  const result = await client.run(
    "List the top 20 posts on Hacker News today with their points",
    { model: "claude-sonnet-4.6" },
  );
  console.log(result.output);
  ```

  ```bash curl theme={null}
  curl -X POST https://api.browser-use.com/api/v3/sessions \
    -H "X-Browser-Use-API-Key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"task": "List the top 20 posts on Hacker News", "model": "claude-sonnet-4.6"}'
  ```
</CodeGroup>

## Bring your own key

Connect your own Anthropic, OpenAI, or Google API key. You pay your provider directly + a 0.2× orchestration fee on provider list token prices.

1. Add your provider key in the dashboard under **Settings → API Keys → Bring Your Own Key**.
2. Pass `use_own_key=True` on the session:

<CodeGroup>
  ```python Python theme={null}
  result = await client.run(
      "List the top 20 posts on Hacker News today with their points",
      model="claude-sonnet-4.6",
      use_own_key=True,
  )
  ```

  ```typescript TypeScript theme={null}
  const result = await client.run(
    "List the top 20 posts on Hacker News today with their points",
    { model: "claude-sonnet-4.6", useOwnKey: true },
  );
  ```

  ```bash curl theme={null}
  curl -X POST https://api.browser-use.com/api/v3/sessions \
    -H "X-Browser-Use-API-Key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"task": "List the top 20 posts on Hacker News", "model": "claude-sonnet-4.6", "useOwnKey": true}'
  ```
</CodeGroup>

To default every session on a client to BYOK, set it once on the constructor:

<CodeGroup>
  ```python Python theme={null}
  client = AsyncBrowserUse(use_own_key=True)
  ```

  ```typescript TypeScript theme={null}
  const client = new BrowserUse({ useOwnKey: true });
  ```
</CodeGroup>

The provider key on your project must match the model you pick — Claude models use your Anthropic key, GPT models use your OpenAI key, Gemini models use your Google key.
