Web Search via SearXNG

v1.0.0

Search the web using SearXNG meta-search engine. Use when the user wants to search the web, find current information, look up facts, news, or any query that...

0· 90·0 current·0 all-time
bySimon@simoncatbot

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for simoncatbot/web-search-searxng.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Web Search via SearXNG" (simoncatbot/web-search-searxng) from ClawHub.
Skill page: https://clawhub.ai/simoncatbot/web-search-searxng
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install web-search-searxng

ClawHub CLI

Package manager switcher

npx clawhub@latest install web-search-searxng
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name, description, SKILL.md, config, and scripts/search.py all align: the code calls SearXNG instances, aggregates results, and exposes CLI/Python usage consistent with a web-search skill. No unrelated credentials, binaries, or services are requested.
Instruction Scope
Runtime instructions and the code limit activity to building search requests, loading a local config file, and calling external SearXNG instance URLs. The SKILL.md does not instruct reading unrelated system files, harvesting environment variables, or posting data to unexpected endpoints.
Install Mechanism
There is no install spec (lowest-risk) but the bundle includes Python code that will be executed by the agent. SKILL.md references a requirements.txt and tests that are not present in the file manifest — a packaging/metadata omission rather than a direct security hazard, but you should ensure required Python packages (requests, PyYAML) are installed before running.
Credentials
The skill requests no environment variables, no credentials, and no config paths beyond its own config/searxng.yaml. That is proportionate for a search client. The code sets a browser-like User-Agent header (expected for search requests) and does not attempt to access unrelated credentials.
Persistence & Privilege
always:false and normal user-invocable/autonomous invocation defaults. The skill does not request permanent platform presence, nor does it modify other skills or system-wide settings.
Assessment
This skill is coherent and appears safe for its intended purpose, but a few housekeeping checks are recommended before installing or running it: 1) Ensure you run it with Python 3.8+ and install required packages (requests, PyYAML) — SKILL.md mentions requirements.txt but that file is not included. 2) The package references tests and a module import form (from searxng import SearXNGClient) that may require adjusting PYTHONPATH or running the script directly. 3) Because it queries external SearXNG instances by default (https://searx.be and other public instances), consider self-hosting a SearXNG instance or verifying the public instance you choose is trusted to avoid sending queries to unknown third-party servers. 4) If you need higher assurance, inspect and run the code in a sandboxed environment and add an explicit requirements.txt or packaging to ensure predictable dependencies.

Like a lobster shell, security has layers — review code before you run it.

latestvk973cn2a3rfdhjw0fjkbz6ch2x84qp2k
90downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

SearXNG Search

Web search integration using SearXNG meta-search engine. SearXNG aggregates results from multiple search engines (Google, Bing, DuckDuckGo, etc.) without tracking or ads.

Quick Start

# Search
python scripts/search.py "quantum computing latest research"

# With specific engine
python scripts/search.py "weather in Tokyo" --engines duckduckgo

# News search
python scripts/search.py "AI breakthroughs 2024" --category news

How It Works

User Query
    ↓
Format Search Parameters
    ↓
Call SearXNG API
    ↓
Aggregate Results
    ↓
Return Formatted Results

Configuration

Edit config/searxng.yaml:

# SearXNG instance URL
# Use public instance or your own
base_url: "https://searx.be"  # or your local instance

# Default search settings
defaults:
  language: "en-US"
  safesearch: 0  # 0 = off, 1 = moderate, 2 = strict
  time_range: ""  # day, week, month, year
  results_per_page: 10

# Preferred engines (optional)
engines:
  - google
  - duckduckgo
  - bing
  - brave
  - wikipedia

# Categories
categories:
  general: "general"
  news: "news"
  images: "images"
  videos: "videos"
  files: "files"

File Structure

searxng/
├── SKILL.md                          # This file
├── requirements.txt                    # Dependencies
│
├── config/
│   └── searxng.yaml                  # Configuration
│
└── scripts/
    └── search.py                     # Search functionality

Usage

CLI

# Basic search
python scripts/search.py "python async tutorial"

# Limit results
python scripts/search.py "machine learning" --limit 5

# Specific category
python scripts/search.py "breaking news" --category news

# Time range
python scripts/search.py "tech announcements" --time week

# Specific engines
python scripts/search.py "wikipedia python" --engines wikipedia

# JSON output
python scripts/search.py "docker tutorial" --json

Python API

from searxng import SearXNGClient

# Initialize
client = SearXNGClient()

# Search
results = client.search("quantum computing")

# Access results
for result in results["results"]:
    print(f"{result['title']}: {result['url']}")

# Search with options
results = client.search(
    query="AI safety",
    category="news",
    time_range="month",
    limit=5
)

Search Categories

CategoryUse For
generalStandard web search
newsNews articles
imagesImage search
videosVideo search
filesFile search (PDFs, etc.)
scienceScientific papers
social mediaSocial platforms

Features

Multiple Engine Aggregation

Results from 70+ search engines including:

  • Google, Bing, DuckDuckGo
  • Wikipedia, Wikidata
  • GitHub, Stack Overflow
  • News sources (BBC, Reuters, etc.)
  • Academic (arXiv, PubMed)

Privacy

  • No tracking
  • No ads
  • Self-hostable
  • Open source

Rate Limiting

Built-in rate limiting to respect SearXNG instances:

# Automatic delay between requests
client = SearXNGClient(rate_limit=1.0)  # 1 second between calls

Response Format

{
  "query": "quantum computing",
  "number_of_results": 10,
  "results": [
    {
      "title": "Quantum Computing - Wikipedia",
      "url": "https://en.wikipedia.org/wiki/Quantum_computing",
      "content": "Quantum computing is a type of computation...",
      "engine": "wikipedia",
      "score": 1.0
    }
  ],
  "suggestions": ["quantum computing explained", "quantum computing applications"],
  "infobox": {}  // Knowledge panel if available
}

Testing

# Run search tests
python tests/test_search.py

Troubleshooting

"Connection refused"

# Check if SearXNG instance is reachable
curl https://your-searx-instance/healthz

"No results"

  • Try different engines: --engines google,duckduckgo
  • Check category: --category general
  • Verify instance isn't rate-limiting you

"Rate limited"

  • Add delay between requests
  • Use different SearXNG instance
  • Self-host your own instance

Self-Hosting

Deploy your own SearXNG:

# Docker
docker run -d --name searxng -p 8080:8080 \
  -v searxng-config:/etc/searxng \
  searxng/searxng:latest

# Then update config/searxng.yaml
base_url: "http://localhost:8080"

Public Instances

Popular public SearXNG instances:

Note: Public instances may have rate limits. For heavy use, self-host.

Requirements

  • Python 3.8+
  • requests library
  • SearXNG instance (public or self-hosted)

Comments

Loading comments...