Search

PythonReactSEOPDF
OpenClaw

brave-api-setup

Set up Brave Search API for OpenClaw web_search. Use when user needs to configure Brave API, get Brave API key, enable web search, or fix "missing_brave_api_key" error.

garibong-labs0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install garibong-labs/brave-api-setup

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Brave API Setup

Automates Brave Search API key extraction and OpenClaw configuration.

Included Files

File Description
SKILL.md This document
scripts/apply-api-key.js Applies API key to OpenClaw config (Node.js)

Dependencies

  • Node.js (for apply-api-key.js)
  • OpenClaw browser capability (browser tool)

When to Use

  • User wants to enable web_search in OpenClaw
  • Error: missing_brave_api_key
  • User asks to set up Brave Search API

Prerequisites

  • User must have a Brave Search API account
  • User must be logged in (openclaw browser profile)
  • API key must exist in dashboard

Workflow

Step 1: Navigate to API keys page
browser(action="navigate", profile="openclaw", 
        targetUrl="https://api-dashboard.search.brave.com/app/keys")
Step 2: Click reveal button (eye icon)

Take snapshot, find the reveal button, click it:

browser(action="act", kind="click", ref="<eye-button-ref>")
Step 3: Extract key via JavaScript (avoids LLM transcription error)
browser(action="act", kind="evaluate", 
        fn="(() => { const cells = document.querySelectorAll('td'); for (const cell of cells) { const text = cell.textContent?.trim(); if (text && text.startsWith('BSA') && !text.includes('•') && text.length > 20) return text; } return null; })()")

The result field contains the exact API key.

Step 4: Apply to config (direct file write, no LLM involved)

Relative to skill directory:

node <skill_dir>/scripts/apply-api-key.js "<extracted-key>"

Or use gateway config.patch with the extracted key.

Why This Approach

Problem: LLM can confuse similar characters when transcribing (O vs 0, l vs 1).

Solution:

  1. evaluate extracts key via JavaScript → returns exact string
  2. apply-api-key.js writes directly to config → bit-perfect

The key never passes through LLM text generation.

Manual Account Setup

If user doesn't have an account:

  1. Go to https...

Source information

Source
github
Repository
openclaw/skills
Path
skills/garibong-labs/brave-api-setup
Version
—
Commit
40200787bbc87364fb51158a18dd4d791d69f802
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# Brave API Setup

Automates Brave Search API key extraction and OpenClaw configuration.

## Included Files

| File | Description |
|------|-------------|
| `SKILL.md` | This document |
| `scripts/apply-api-key.js` | Applies API key to OpenClaw config (Node.js) |

## Dependencies
- Node.js (for apply-api-key.js)
- OpenClaw browser capability (`browser` tool)

## When to Use

- User wants to enable `web_search` in OpenClaw
- Error: `missing_brave_api_key`
- User asks to set up Brave Search API

## Prerequisites

- User must have a Brave Search API account
- User must be logged in (openclaw browser profile)
- API key must exist in dashboard

## Workflow

### Step 1: Navigate to API keys page

```
browser(action="navigate", profile="openclaw", 
        targetUrl="https://api-dashboard.search.brave.com/app/keys")
```

### Step 2: Click reveal button (eye icon)

Take snapshot, find the reveal button, click it:
```
browser(action="act", kind="click", ref="<eye-button-ref>")
```

### Step 3: Extract key via JavaScript (avoids LLM transcription error)

```
browser(action="act", kind="evaluate", 
        fn="(() => { const cells = document.querySelectorAll('td'); for (const cell of cells) { const text = cell.textContent?.trim(); if (text && text.startsWith('BSA') && !text.includes('•') && text.length > 20) return text; } return null; })()")
```

The result field contains the exact API key.

### Step 4: Apply to config (direct file write, no LLM involved)

Relative to skill directory:

```bash
node <skill_dir>/scripts/apply-api-key.js "<extracted-key>"
```

Or use gateway config.patch with the extracted key.

## Why This Approach

**Problem**: LLM can confuse similar characters when transcribing (O vs 0, l vs 1).

**Solution**: 
1. `evaluate` extracts key via JavaScript → returns exact string
2. `apply-api-key.js` writes directly to config → bit-perfect

The key never passes through LLM text generation.

## Manual Account Setup

If user doesn't have an account:
1. Go to https...

Related skills

OpenClaw

ai-maestro

23blocks-os

AI Agent Orchestrator with Skills System - Give AI Agents superpowers: memory search, code graph queries, agent-to-agent messaging. Manage Claude, Codex or any AI Agent from one dashboard. Move Agents between c...

OpenClaw

registry-broker-skills

hashgraph-online

AI agent skills for the Universal Registry - search, chat, and register 72,000+ agents across 14+ protocols. Works with Claude, Codex, Cursor, OpenClaw, and any AI assistant.

OpenClaw

skills-manager

rito-w

A cross-platform skills manager for AI IDEs. Search marketplace, download locally, and install to Claude, Cursor, Windsurf, and more with one click.