searxng
Search the web using a self-hosted SearXNG instance. Privacy-respecting metasearch that aggregates results from multiple engines.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-searxng-metasearch
Repository
Skill path: skills/clockworksquirrel/searxng-metasearch
Search the web using a self-hosted SearXNG instance. Privacy-respecting metasearch that aggregates results from multiple engines.
Open repositoryBest for
Primary workflow: Run DevOps.
Technical facets: Full Stack, Security.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install searxng into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding searxng to shared team environments
- Use searxng for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: searxng
description: Search the web using a self-hosted SearXNG instance. Privacy-respecting metasearch that aggregates results from multiple engines.
metadata:
clawdbot:
config:
optionalEnv:
- SEARXNG_URL
---
# SearXNG Search Skill
Search the web using your self-hosted SearXNG instance. Privacy-respecting metasearch that aggregates results from Google, DuckDuckGo, Brave, Startpage, and 70+ other engines.
## Prerequisites
SearXNG running locally or on a server. Quick Docker setup:
```bash
mkdir -p ~/Projects/searxng/searxng
cd ~/Projects/searxng
# Create docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
ports:
- "8080:8080"
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=http://localhost:8080/
restart: unless-stopped
EOF
# Create settings.yml with JSON API enabled
cat > searxng/settings.yml << 'EOF'
use_default_settings: true
server:
secret_key: "change-me-to-random-string"
bind_address: "0.0.0.0"
port: 8080
search:
safe_search: 0
autocomplete: "google"
default_lang: "en"
formats:
- html
- json
EOF
# Start SearXNG
docker compose up -d
```
## Configuration
Set the SearXNG URL (defaults to http://localhost:8080):
```bash
export SEARXNG_URL="http://localhost:8080"
```
## Usage Examples
### Basic Search
```bash
curl "http://localhost:8080/search?q=your+query&format=json" | jq '.results[:5]'
```
### Search with Categories
```bash
# General web search
curl "http://localhost:8080/search?q=query&categories=general&format=json"
# Images
curl "http://localhost:8080/search?q=query&categories=images&format=json"
# News
curl "http://localhost:8080/search?q=query&categories=news&format=json"
# Videos
curl "http://localhost:8080/search?q=query&categories=videos&format=json"
# IT/Tech documentation
curl "http://localhost:8080/search?q=query&categories=it&format=json"
# Science/Academic
curl "http://localhost:8080/search?q=query&categories=science&format=json"
```
### Search with Language/Region
```bash
curl "http://localhost:8080/search?q=query&language=en-US&format=json"
curl "http://localhost:8080/search?q=query&language=de-DE&format=json"
```
### Paginated Results
```bash
# Page 2 (results 11-20)
curl "http://localhost:8080/search?q=query&pageno=2&format=json"
```
## Response Format
Each result includes:
- `title` - Result title
- `url` - Link to the result
- `content` - Snippet/description
- `engines` - Array of search engines that returned this result
- `score` - Relevance score (higher = better)
- `category` - Result category
## Shell Function
Add to your `.zshrc` or `.bashrc`:
```bash
searxng() {
local query="$*"
local url="${SEARXNG_URL:-http://localhost:8080}"
curl -s "${url}/search?q=$(echo "$query" | sed 's/ /+/g')&format=json" | \
jq -r '.results[:10][] | "[\(.score | floor)] \(.title)\n \(.url)\n \(.content // "No description")\n"'
}
```
Usage: `searxng how to make sourdough bread`
## Docker Management
```bash
# Start
cd ~/Projects/searxng && docker compose up -d
# Stop
docker compose down
# View logs
docker compose logs -f searxng
# Restart
docker compose restart
```
## Troubleshooting
**Container won't start:**
```bash
docker compose logs searxng
```
**JSON format not working:**
Ensure `formats: [html, json]` is in your settings.yml
**No results:**
Some engines may be rate-limited. Check logs for errors.
## Why SearXNG?
- **Privacy**: No tracking, no ads, no data collection
- **Aggregation**: Combines results from 70+ search engines
- **Self-hosted**: Your data stays on your machine
- **API**: JSON output for automation
- **Free**: No API keys or rate limits
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "clockworksquirrel",
"slug": "searxng-metasearch",
"displayName": "SearXNG Metasearch",
"latest": {
"version": "1.0.0",
"publishedAt": 1769481360070,
"commit": "https://github.com/clawdbot/skills/commit/fbbd63ea3310a34d63416bf816b40480db98509d"
},
"history": []
}
```