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.
npx skills add KerberosClaw/kc_ai_skills --skill searxng -a claude-codeWhat 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-code2Manually: put the files in place
~/.claude/skills/searxng/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/searxng/
1Skills CLI (Vercel)
npx skills add KerberosClaw/kc_ai_skills --skill searxng -a codex2Manually: put the files in place
.agents/skills/searxng/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add KerberosClaw/kc_ai_skills --skill searxng -a cursor2Manually: put the files in place
.cursor/skills/searxng/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install KerberosClaw/kc_ai_skills searxng2Manually: put the files in place
.github/skills/searxng/SKILL.md1Skills CLI (Vercel)
npx skills add KerberosClaw/kc_ai_skills --skill searxng -a gemini-cli2Platform CLI
gemini skills install https://github.com/KerberosClaw/kc_ai_skills --path searxngManually: put the files in place
.devin/skills/searxng/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add KerberosClaw/kc_ai_skills --skill searxng -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
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