Local JSON endpoint
SearXNG on 127.0.0.1:8080 with format=json enabled for agent use and a normal HTML UI for humans.
Self-hosted search for OpenClaw
Run SearXNG on your own machine and give OpenClaw a JSON search backend with 70+ engines available, Redis caching, and multi-page results. No search API key, no vendor query quota, no public instance.
$ git clone https://github.com/FiredMosquito831/searxng-openclaw-complete-setup.git
$ cd searxng-openclaw-complete-setup
$ sudo bash scripts/install-all.sh
$ bash scripts/configure-openclaw.sh
$ bash scripts/test-setup.sh
What you get
The installer handles the host. The configuration and scripts handle the handoff to OpenClaw. The guides cover the failures you will actually hit.
SearXNG on 127.0.0.1:8080 with format=json enabled for agent use and a normal HTML UI for humans.
A local Redis instance caches upstream responses. Nothing external is required and the cache never leaves the host.
Starts on boot, restarts on failure, and runs as the unprivileged searxng user with sandboxing directives.
A configuration script backs up openclaw.json, registers the search plugin, validates it, and restarts the gateway.
SearXNG's pageno parameter retrieves further pages. The bundled plugin template enables multi-page search and a 100-result default.
Update from upstream, back up configuration with a restore helper, run a health check, or remove everything with confirmation.
Request path
OpenClaw calls a local JSON endpoint. SearXNG queries the engines you enabled, merges the results, and caches responses in Redis. Nothing is exposed publicly by the supplied configuration.
searxng provider
format=json
SearXNG ships with a large engine catalogue. The installer enables a small set so queries stay fast and do not invite rate limits. Add engines in /etc/searxng/settings.yml.
Zero-cost angle
SearXNG queries the engines for you. You pay for the host you already run, not a metered search API. There is no key rotation, no monthly quota, and no vendor account to manage.
"Unlimited" means no quota from this stack. Upstream engines can still
rate-limit your server; SearXNG reports them in unresponsive_engines.
Privacy posture
SearXNG does not log queries or build profiles. Your requests still reach the enabled engines from your server's IP address, so this is not an anonymity network.
Search results are untrusted input. OpenClaw wraps web content in
<<<EXTERNAL_UNTRUSTED_CONTENT>>> boundaries and
strips chat-template special tokens before the model sees it. That layer does
not replace tool allowlists, approvals, or sandboxing.
Start here
The installer never touches OpenClaw. A separate script backs up your config, adds the plugin, validates it, and restarts the gateway.