PluginBench
Skill
Fail
Audit score 45

brave-search

badlogic/pi-skills

Web search and content extraction via Brave Search API—no browser required.

What is brave-search?

Lightweight web search skill using the official Brave Search API. Search documentation, facts, and web content, with optional page content extraction as markdown. Requires a free Brave Search API account.

  • Search the web with configurable result count (up to 20)
  • Filter results by country, date range, or freshness (past day/week/month/year)
  • Extract and convert page content to markdown
  • Return structured results with title, link, age, and snippet
  • Combine multiple search options in a single query

How to install brave-search

npx skills add https://github.com/badlogic/pi-skills --skill brave-search
Prerequisites
  • Brave Search API account (free tier available at https://api-dashboard.search.brave.com/register)
  • Credit card to create free subscription (no charges)
  • API key added to shell profile as BRAVE_API_KEY environment variable
  • npm dependencies installed via npm install
Claude Code
Cursor
Windsurf
Cline

How to use brave-search

  1. 1.Register for a free Brave Search API account and create an API key
  2. 2.Add your API key to your shell profile as export BRAVE_API_KEY="your-key"
  3. 3.Run npm install in the skill directory
  4. 4.Use search.js with your query: {baseDir}/search.js "query"
  5. 5.Add flags like -n 10 for more results, --content to extract page text, --country DE for location filtering, or --freshness pw for recent results
  6. 6.Use content.js to extract readable markdown from a specific URL: {baseDir}/content.js https://example.com

Use cases

Good for
  • Looking up API documentation or technical references
  • Fact-checking or researching current information
  • Extracting readable content from specific URLs
  • Finding recent news or time-sensitive information by date range
  • Searching within a specific country's results
Who it's for
  • Developers building research or documentation tools
  • AI agents needing real-time web information
  • Teams automating fact-checking or content curation
  • Anyone requiring lightweight web search without a browser

brave-search FAQ

Do I need to pay for Brave Search API?

No, a free tier is available. A credit card is required to create the account, but you will not be charged.

What is the maximum number of results I can get?

The maximum is 20 results per search query.

Can I filter results by date?

Yes, use --freshness with preset periods (pd, pw, pm, py) or a custom date range in YYYY-MM-DDtoYYYY-MM-DD format.

What does the --content flag do?

It fetches the full page content from each search result and converts it to markdown, not just the snippet.

Can I search within a specific country?

Yes, use --country with a two-letter country code (e.g., --country DE for Germany).

Full instructions (SKILL.md)

Source of truth, from badlogic/pi-skills.


name: brave-search description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content. Lightweight, no browser required.

Brave Search

Web search and content extraction using the official Brave Search API. No browser required.

Setup

Requires a Brave Search API account with a free subscription. A credit card is required to create the free subscription (you won't be charged).

  1. Create an account at https://api-dashboard.search.brave.com/register
  2. Create a "Free AI" subscription
  3. Create an API key for the subscription
  4. Add to your shell profile (~/.profile or ~/.zprofile for zsh):
    export BRAVE_API_KEY="your-api-key-here"
    
  5. Install dependencies (run once):
    cd {baseDir}
    npm install
    

Search

{baseDir}/search.js "query"                         # Basic search (5 results)
{baseDir}/search.js "query" -n 10                   # More results (max 20)
{baseDir}/search.js "query" --content               # Include page content as markdown
{baseDir}/search.js "query" --freshness pw          # Results from last week
{baseDir}/search.js "query" --freshness 2024-01-01to2024-06-30  # Date range
{baseDir}/search.js "query" --country DE            # Results from Germany
{baseDir}/search.js "query" -n 3 --content          # Combined options

Options

  • -n <num> - Number of results (default: 5, max: 20)
  • --content - Fetch and include page content as markdown
  • --country <code> - Two-letter country code (default: US)
  • --freshness <period> - Filter by time:
    • pd - Past day (24 hours)
    • pw - Past week
    • pm - Past month
    • py - Past year
    • YYYY-MM-DDtoYYYY-MM-DD - Custom date range

Extract Page Content

{baseDir}/content.js https://example.com/article

Fetches a URL and extracts readable content as markdown.

Output Format

--- Result 1 ---
Title: Page Title
Link: https://example.com/page
Age: 2 days ago
Snippet: Description from search results
Content: (if --content flag used)
  Markdown content extracted from the page...

--- Result 2 ---
...

When to Use

  • Searching for documentation or API references
  • Looking up facts or current information
  • Fetching content from specific URLs
  • Any task requiring web search without interactive browsing