> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.scrapybara.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.scrapybara.com/_mcp/server.

# OpenAI

## Act SDK

Use OpenAI models with the Act SDK:

* Default: `computer-use-preview` (computer use beta)

Consume agent credits or bring your own API key. Without an API key, each step consumes 1 [agent credit](https://scrapybara.com/#pricing). With your own API key, model charges are billed directly to your OpenAI account.

#### Python

**`Import model`**

```python Import model
from scrapybara.openai import OpenAI, UBUNTU_SYSTEM_PROMPT

# Consume agent credits
model = OpenAI()

# Bring your own API key
model = OpenAI(api_key="your_api_key")
```

**`Take action`**

```python Take action
from scrapybara import Scrapybara
from scrapybara.tools import BashTool, ComputerTool, EditTool 

client = Scrapybara()
instance = client.start_ubuntu()

client.act(
    tools=[
        BashTool(instance),
        ComputerTool(instance),
        EditTool(instance),
    ],
    model=model,
    system=UBUNTU_SYSTEM_PROMPT,
    prompt="Research Scrapybara",
)
```

#### TypeScript

**`Import model`**

```typescript Import model
import { openai, UBUNTU_SYSTEM_PROMPT } from "scrapybara/openai";

// Consume agent credits
const model = () => openai();

// Bring your own API key
const model = () => openai({ apiKey: "your_api_key" });
```

**`Take action`**

```typescript Take action
import { ScrapybaraClient } from "scrapybara";
import { bashTool, computerTool, editTool } from "scrapybara/tools";

const client = new ScrapybaraClient();
const instance = await client.startUbuntu();

await client.act({
  tools: [
    bashTool(instance),
    computerTool(instance),
    editTool(instance),
  ],
  model,
  system: UBUNTU_SYSTEM_PROMPT,
  prompt: "Research Scrapybara",
})
```