Install
openclaw skills install web-search-by-searxngSearch using a custom SearXNG instance via HTTP API. Enables privacy-friendly web search by aggregating results from multiple search engines. Supports query, format (json/csv/rss), language, time range, categories, engines, pagination, and safe search filtering. Requires a user-provided or configured SearXNG instance URL.
openclaw skills install web-search-by-searxngThis skill enables web search using a custom SearXNG instance via its HTTP API.
SearXNG is a privacy-respecting metasearch engine that aggregates results from multiple search engines. This skill allows you to search using a custom SearXNG instance URL.
GET / or GET /search - Query parameters in URLPOST / or POST /search - Form dataYou need a SearXNG instance URL. The user can provide:
https://searx.be)SEARXNG_URL containing the instance URL| Parameter | Required | Description |
|---|---|---|
q | Yes | Search query string |
format | No | Output format: json, csv, rss (default: HTML) |
language | No | Language code (e.g., en, zh, de) |
pageno | No | Page number (default: 1) |
time_range | No | Time filter: day, month, year |
categories | No | Comma-separated category list |
engines | No | Comma-separated engine list |
safesearch | No | Safe search level: 0, 1, 2 |
SearXNG organizes search into categories (tabs) with multiple engines per category.
Available Categories:
general - General web searchimages - Image searchvideos - Video searchnews - News articlesmap - Maps and locationsmusic - Music and audioit - IT/Technology resourcesscience - Scientific publicationsfiles - Files and torrentssocial_media - Social media contentCommon Engines:
google, duckduckgo, bing, brave, startpage, wikipediagoogle images, bing images, unsplash, flickryoutube, google videos, vimeo, dailymotiongoogle news, bing news, reutersgithub, stackoverflow, arch linux wiki, pypigoogle scholar, arxiv, pubmedBang Syntax: Use ! prefix in queries to target specific engines:
!go python - Search Google!wp artificial intelligence - Search Wikipedia!github machine learning - Search GitHubFor detailed engine lists and features, see references/engines_and_categories.md.
# Basic search
python scripts/searxng_search.py -u https://searx.example.org -q "python tutorial"
# JSON output
python scripts/searxng_search.py -u https://searx.example.org -q "python tutorial" --format json
# With language and time range
python scripts/searxng_search.py -u https://searx.example.org -q "news" --lang en --time-range day
# Use environment variable for URL
export SEARXNG_URL=https://searx.example.org
python scripts/searxng_search.py -q "search query"
# Search specific category
python scripts/searxng_search.py -u https://searx.example.org -q "AI" --categories news
# Search specific engines
python scripts/searxng_search.py -u https://searx.example.org -q "python" --engines google,stackoverflow
import requests
url = "https://searx.example.org/search"
params = {
"q": "python tutorial",
"format": "json",
"language": "en",
"categories": "general,it", # Multiple categories
"engines": "google,duckduckgo" # Specific engines
}
response = requests.get(url, params=params, timeout=30)
results = response.json()
# Use bang syntax to target specific engines
params = {
"q": "!github machine learning framework", # Only search GitHub
"format": "json"
}
{
"query": "search query",
"number_of_results": 1000000,
"results": [
{
"title": "Result Title",
"url": "https://example.com",
"content": "Snippet text...",
"engine": "google",
"score": 1.0
}
],
"answers": [],
"suggestions": [],
"unresponsive_engines": []
}
settings.yml. Many public instances disable these formats.format=jsoncategories parameter or bang syntaxpageno parametertime_range=day for recent resultssafesearch=2 for strict filteringlanguage parameter for locale-specific resultscategories or engines to narrow search scope