> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/integrations/ai-studio-integrations/openclaw.md).

# OpenClaw

We offer a skill for [OpenClaw](https://docs.openclaw.ai/) agents that provides web search and page extraction through [Oxylabs AI Studio](https://aistudio.oxylabs.io/), including geo-targeted search, JavaScript rendering, and Markdown content extraction.

## Requirements

* `python 3` on `PATH`
* [OpenClaw](https://github.com/openclaw/openclaw) installed and running
* Oxylabs AI Studio [API key](https://aistudio.oxylabs.io/api-key)

## Installation

```shellscript
openclaw skills install @oxylabs/oxylabs-web-search
```

It gets installed into the active workspace's `skills/` directory.&#x20;

Add `--global` to install into `~/.openclaw/skills`, making the skill visible to all local agents:

```shellscript
openclaw skills install @oxylabs/oxylabs-web-search --global
```

Verify the skill before enabling:

```shellscript
openclaw skills verify @oxylabs/oxylabs-web-search
```

The command exits non-zero when ClawHub marks verification as failed.

## Configuration

The skill reads `OXYLABS_AI_STUDIO_API_KEY`. Provide it in one of three ways.

#### Option 1: OpenClaw config (recommended)

Add an entry to `~/.openclaw/openclaw.json`:

```json
{
  "skills": {
    "entries": {
      "oxylabs-web-search": {
        "enabled": true,
        "apiKey": "YOUR_OXYLABS_AI_STUDIO_API_KEY"
      }
    }
  }
}
```

#### Option 2: Environment variable

```shellscript
export OXYLABS_AI_STUDIO_API_KEY="YOUR_OXYLABS_AI_STUDIO_API_KEY"
```

#### Option 3: `.env` file

```
OXYLABS_AI_STUDIO_API_KEY=YOUR_OXYLABS_AI_STUDIO_API_KEY
```

`apiKey` also accepts a SecretRef object in place of a plaintext string.

Start a new OpenClaw session after installing and confirm the skill is loaded:

```shellscript
openclaw skills check
```

## Usage

### `search` – find pages for a query

```shellscript
python3 scripts/oxylabs.py search "best pancake recipe" -n 5
```

**Response:**

<img src="/files/BZ7q8ltXxlenoFvxoKFJ" alt="" height="332" width="624">

### `scrape` – get one page as Markdown

```shellscript
python3 scripts/oxylabs.py scrape "https://sandbox.oxylabs.io/products/1"
```

**Response:**

<img src="/files/LvXYcXIxKdu2xLxZWI7P" alt="" height="348" width="624">

Keep the skill updated with:

```shellscript
openclaw skills update --all
```

`openclaw skills update` tracks ClawHub installs only. Reinstall Git and local sources to refresh them.

### **Input parameters**

* `query` (str): What to search for (**required**, positional)
* `url` (str): Target URL to scrape (**required**, positional)
* `-n` (int): Maximum number of results to return
* `--content` (flag): Include page content in results
* `--geo` (str): Search proxy location in ISO2 format
* `--render-js` (flag): Render JavaScript (default: off)

### Usage examples

See the [skill listing on ClawHub](https://clawhub.ai/oxylabs/skills/oxylabs-web-search) for the full `SKILL.md` and source.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.oxylabs.io/integrations/ai-studio-integrations/openclaw.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
