SearXNG: A Private Metasearch Engine You Run Yourself
SearXNG queries other search engines on your behalf and returns the combined results. The engines see requests from your server rather than from you, and nothing about the query is retained.
What it actually does
It is a metasearch engine: it does not crawl the web itself. A query goes out to whichever engines you enable, results come back, get deduplicated and ranked, and are presented in one list.
The privacy property follows from the architecture. There is no account, no cookie tracking your history, and no advertising model that requires knowing who you are.
Configuration worth doing
The default engine set is broad and slow. Trimming it to the handful you actually want makes results faster and more relevant.
Rate limiting matters too. Search engines notice a single address issuing many automated queries, and an aggressively configured instance will start getting blocked. The bundled limiter is there for a reason.
Why it appears in AI stacks
SearXNG has become the standard search backend for self-hosted AI tools that need current information. Perplexica requires it. Khoj and several agent frameworks can use it.
The reason is practical rather than ideological: commercial search APIs are metered and expensive, and SearXNG gives an application a search endpoint with no key and no per-query cost.
If you are building anything that needs web search locally, this is the piece that provides it.
Running it
The Docker Compose setup includes a Redis-compatible cache used by the rate limiter. Enable the JSON output format if AI tools will query it, since that is off by default.
A public instance is possible and brings maintenance: engines block instances that generate too much traffic, and an open instance attracts abuse. A private instance for yourself and an application or two is the low-effort option.
License
SearXNG is released under the AGPL-3.0 License.