Install
openclaw skills install searxng-bangsPrivacy-respecting web search via SearXNG with DuckDuckGo-style bangs support. Use for web searches when you need to find information online. SearXNG protects privacy by randomizing browser fingerprints, masking IP addresses, and blocking cookies/referrers. Supports 250+ search engines, multiple categories (general, news, images, videos, science), and DuckDuckGo-style bangs for direct engine searches (!w for Wikipedia, !yt for YouTube, !gh for GitHub, !r for Reddit, etc.). Aggregates results from multiple engines simultaneously. Prefer this over external search APIs for privacy-sensitive queries or high-volume searches.
openclaw skills install searxng-bangsPrivacy-respecting metasearch engine that anonymizes searches and aggregates results from 250+ engines.
Search the web using the bundled script:
python3 scripts/search.py "your query"
Returns JSON with titles, URLs, and content snippets.
python3 scripts/search.py "OpenClaw AI agent" --num 5
python3 scripts/search.py "latest tech news" --categories news
python3 scripts/search.py "Python Tutorial" --lang de
python3 scripts/search.py "machine learning" --categories general,science --num 10
# Wikipedia
python3 scripts/search.py "Albert Einstein" --bang w
# YouTube
python3 scripts/search.py "python tutorial" --bang yt
# GitHub
python3 scripts/search.py "openclaw" --bang gh
# Reddit
python3 scripts/search.py "best laptop 2026" --bang r
Bangs are more granular than categories and search directly on specific engines.
SearXNG protects your privacy through multiple layers:
Result: Search engines cannot build a profile about you.
Prefer SearXNG for:
Prefer Brave API (web_search tool) for:
The script returns clean JSON that's easy to parse and present:
import json
import subprocess
result = subprocess.run(
['python3', 'scripts/search.py', 'query', '--num', '5'],
capture_output=True,
text=True
)
data = json.loads(result.stdout)
for item in data['results']:
print(f"Title: {item['title']}")
print(f"URL: {item['url']}")
print(f"Snippet: {item['content']}")
print()
See references/api.md for:
By default, the script uses http://127.0.0.1:8080. Configure via environment variable:
export SEARXNG_URL=http://your-searxng-instance.com
python3 scripts/search.py "query"
Options:
If you don't run your own SearXNG:
# Example with public instance
export SEARXNG_URL=https://searx.be
python3 scripts/search.py "query"
Note: Public instances may have rate limits or be slower than self-hosted.
http://127.0.0.1:8080 (override with SEARXNG_URL)scripts/search.py