Skip to main content
skill CX Codex

searxng — Claude Code skill: search via your own SearXNG

Routes web, image, news and video searches through a SearXNG instance you run yourself, so queries stay off third-party search APIs.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add KerberosClaw/kc_ai_skills --skill searxng -a claude-code
Open on GitHub

What searxng does

The skill shells out to a bundled script, scripts/searxng.py, which talks to whatever SearXNG instance sits behind the SEARXNG_URL environment variable. Output comes back either as readable text or as JSON, and the JSON mode is the one to pick when another tool has to parse the results. Category flags cover images, news and videos; result count, language and time range are adjustable too.

Set SEARXNG_URL before the first call, for example export SEARXNG_URL=https://your-searxng-instance.com. Leave it unset and the script falls back to http://localhost:8080 — if nothing is listening there, the search fails. The machine also needs python3.

Authenticated pages and private accounts are out of scope: this hits a search API, not a logged-in session. Treat snippets as leads rather than confirmed facts and open the source when the answer matters.

What it helps with

  • run a web search without wiring up an external search API
  • pull images or videos for a query in one call
  • get search results as JSON for downstream parsing
  • narrow results to the last day or a specific language
  • keep search traffic inside your own network

Example prompts for the agent

  • Search SearXNG for recent posts about local LLMs from the past day
  • Look up Python 3.13 in the news category
  • Find videos for "docker compose tutorial" and return JSON

How to install searxng

1Skills CLI (Vercel)

npx skills add KerberosClaw/kc_ai_skills --skill searxng -a claude-code

2Manually: put the files in place

~/.claude/skills/searxng/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/searxng/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about searxng

How do I install searxng in Claude Code?

Run npx skills add KerberosClaw/kc_ai_skills --skill searxng -a claude-code. The skill lands at ~/.claude/skills/searxng/SKILL.md.

What does the searxng skill do?

It sends your query to a SearXNG instance and returns the results as text or JSON. Categories, result limits, language and time range are all configurable.

What do I need before using it?

A reachable SearXNG instance plus the SEARXNG_URL variable pointing at it, and python3 on the machine. Without a live instance the search will not run.

Source text

SKILL.md · MIT
---
name: searxng
description: "Use when the user wants privacy-respecting web, image, news, or video search through a configured local SearXNG instance instead of external search APIs. Calls the bundled script against SEARXNG_URL, supports result limits/categories/language/time range, and can return human-readable or JSON output. NOT for searches when no SearXNG instance is configured or when authenticated/private data retrieval is required."
author: Avinash Venkatswamy
version: 1.0.2
status: stable
homepage: https://searxng.org
triggers:
  - "search for"
  - "search web"
  - "find information"
  - "look up"
metadata: {"clawdbot":{"emoji":"🔍","requires":{"bins":["python3"]},"config":{"env":{"SEARXNG_URL":{"description":"SearXNG instance URL","default":"http://localhost:8080","required":true}}}}}
---

# SearXNG Search

You are a privacy-preserving search operator. You route search requests through the user's configured SearXNG instance and report results without introducing third-party API dependencies.

Search the web using your local SearXNG instance - a privacy-respecting metasearch engine.

## Not For

- Do not use if `SEARXNG_URL` is missing and no local/default instance is reachable.
- Do not scrape authenticated pages or private user accounts.
- Do not treat search snippets as verified facts; cite uncertainty and follow sources when needed.

## Commands

### Web Search
```bash
uv run {baseDir}/scripts/searxng.py search "query"              # Top 10 results
uv run {baseDir}/scripts/searxng.py search "query" -n 20        # Top 20 results
uv run {baseDir}/scripts/searxng.py search "query" --format json # JSON output
```

### Category Search
```bash
uv run {baseDir}/scripts/searxng.py search "query" --category images
uv run {baseDir}/scripts/searxng.py search "query" --category news
uv run {baseDir}/scripts/searxng.py search "query" --category videos
```

### Advanced Options
```bash
uv run {baseDir}/scripts/searxng.py search "query" --language en
uv run {baseDir}/scripts/searxng.py search "query" --time-range day
```

## Configuration

**Required:** Set the `SEARXNG_URL` environment variable to your SearXNG instance:

```bash
export SEARXNG_URL=https://your-searxng-instance.com
```

Or configure in your Clawdbot config:
```json
{
  "env": {
    "SEARXNG_URL": "https://your-searxng-instance.com"
  }
}
```

Default (if not set): `http://localhost:8080`

## Features

- Privacy-focused (uses your local instance)
- Multi-engine aggregation
- Multiple search categories
- Rich formatted output
- Fast JSON mode for programmatic use

## API

Uses your local SearXNG JSON API endpoint (no authentication required by default).

© Avinash Venkatswamy · MIT · KerberosClaw/kc_ai_skills

Similar skills

All skills for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor