# Searxng

> Search the web using a self-hosted SearXNG instance. Privacy-respecting metasearch that aggregates results from multiple engines.

- Skill: `dvcrn/searxng-7` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add dvcrn/searxng-7`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/searxng-7/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/dvcrn/searxng-7

---


# SearXNG Search Skill

Search the web using your self-hosted SearXNG instance.  
Privacy-respecting metasearch that aggregates results from Google, DuckDuckGo, Brave, Startpage, and many other engines.

---

## Prerequisites

SearXNG running locally or on a server.

Quick Docker setup:

```bash
mkdir -p ~/Projects/searxng/searxng
cd ~/Projects/searxng

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

cat > searxng/settings.yml << 'EOF'
use_default_settings: true
server:
  secret_key: "change-me-to-random-string"
  bind_address: "127.0.0.1"
  port: 8080
search:
  safe_search: 0
  autocomplete: "google"
  default_lang: "en"
  formats:
    - html
    - json
EOF

docker compose up -d
```

---

## Configuration

Set the SearXNG URL (optional, defaults to http://localhost:8080):

```bash
export SEARXNG_URL="http://localhost:8080"
```

---

## Response Format

Each result includes:
- `title` – Result title
- `url` – Link to the result  
- `content` – Snippet/description
- `engines` – Engines returning the result
- `score` – Relevance score
- `category` – Result category

---

## Security Notes

- Default binding is `127.0.0.1` to prevent public exposure.
- Replace the default `secret_key` with a strong random value.
- Do not expose SearXNG directly to the public internet without HTTPS and authentication.
- This skill uses HTTP requests only and does not execute shell commands.

---

## Why SearXNG?

- Privacy-first (no tracking, no ads)
- Aggregates 70+ engines
- Self-hosted control
- JSON API support
- No API keys or rate limits
