Privacy is a main reason people de-Google, but for me, switching from Google Search was about more than privacy. I didn’t enjoy getting SEO-heavy results and listicles when I needed a simple debugging fix.
After setting up SearXNG, I expected I’d be compromising a lot and believed that if it didn’t go well, the worst-case scenario would be returning to Google. I’ve been pleasantly surprised. This switch went beyond changing how I searched; it was about controlling and shaping search itself.
- OS
-
Server software (Linux, FreeBSD, macOS) and accessible via web client
- Developer
-
SearXNG Team
- Price model
-
Free, open-source
- Initial release
-
March 27, 2021
SearXNG is a privacy-respecting metasearch engine that collates search results from dozens of search services and keeps no user profiles. Available to self-host or use via public instances, it provides a flexible alternative to major search engines.
Searching stopped being something I consume
It became something I could configure at the source
If you assume SearXNG is a “better Google,” you are already starting on the wrong foot. Google crawls the web and maintains its own index, and SearXNG doesn’t maintain its own index. It queries Google, Bing, DuckDuckGo, GitHub, Reddit, and over 200 other sources and delivers an aggregated result on a search page. This removes reliance on a single ranking system and shifts the goal to assembling results.
SearXNG allows me to control which engines become sources, disabling those I don’t want while prioritizing others or even narrowing sources by category. Even though these categories sound simple, they effectively change search behavior.
For instance, switching to the IT category effectively tells SearXNG to prioritize Stack Overflow and GitHub over general-purpose, SEO-focused search engines. It means I can avoid optimized blog posts targeted at exploiting search engines.
SearXNG doesn’t have a personalized layer either. This is a stark contrast to Google, which uses history to shape search results. Without the subtle nudges, you get clean results free of bias. Using SearXNG showed me how much I had grown used to gaming search queries. After configuring my system, I can trust it.
Google optimizes for engagement
SearXNG optimizes for completion
The experience on SearXNG is totally different from Google Search. It doesn’t give you the “People also search for” or the “People also ask” blocks; it doesn’t show ads; and it doesn’t provide an almost infinite scroll of related queries.
The absence of these Google features reduces distractions. With Google Search, I might start with one; that would turn into three, then ten, and before long I was searching for something different from the original topic. Since nothing nudges me away from my original intent on SearXNG, I can avoid this loop of distraction.
SearXNG categories help you think deliberately before searching. You can direct searches to lean toward forums, documentation, or research papers, based on what you believe are the best sources.
The most significant impact of switching to SearXNG was on how I write. I started having shorter and more focused research sessions. I was finding quality sources without opening several tabs. I realized how much traditional search blurs the lines between gathering information and finishing a task.
Performance is great, too, because it’s run on a self-hosted instance. It feels fast, even though there can be an occasional delay when upstream engines are slow or caching isn’t configured. After using SearXNG for a while, you get a feeling that Google Search intentionally tries to keep you searching.
The moment SearXNG stopped being “search” entirely
Enabling JSON output turned it into infrastructure
Like other search engines, SearXNG returns only HTML by default, but I added this block of code to the settings.yml file, and it made a real difference:
search: formats: - html - json
This made it possible for me to query my SearXNG instance and get structured data in JSON format, including titles, URLs, snippets, and timestamps. This was the evolution of search from something I looked at to something I actually used.
I can use a curl request piped into jq to extract links. The result feeds research into my writing workflows. But this becomes even more powerful if you connect to other tools, like Perplexica, which relies solely on SearXNG as a backend.
It’s an elaborate chain where, after I query SearXNG, I get JSON results that I can pass to a local model to generate answers. I don’t have to rely on APIs for this. I can integrate automation tools like n8n to build workflows that automatically trigger searches. In the end, SearXNG isn’t replacing Google; it’s handing over the tools to you and allowing you to decide what to build.
I replaced Chrome with DuckDuckGo on Windows and didn’t expect this outcome
I thought I’d go back to Chrome, but I’m staying.
What SearXNG can’t replace
I still reach for Google to search for a nearby restaurant or directions. SearXNG doesn’t have that kind of location-aware data. It’s also not the best option for instant answers because it lacks a knowledge graph or features like a built-in calculator, weather widgets, or flight panels. This makes sense because SearXNG isn’t trying to be an ecosystem. Stacked against Google, here’s how it compares:
|
Feature |
SearXNG |
|
|---|---|---|
|
Privacy |
Full control |
Tracking-based |
|
Customization |
High |
None |
|
API access |
Native JSON (Requires manual activation in settings.yml) |
Restricted |
|
Local results |
Weak |
Excellent |
|
Interface noise |
Minimal |
High |
It’s worth noting the other search alternatives:
- DuckDuckGo relies a lot on Bing but offers a simpler, privacy-focused experience.
- Brave Search is a rare option that maintains an independent index.
- Kagi delivers high-quality results but is paid.
- Whoogle lacks multi-engine aggregation but removes tracking from Google results.
The primary point is that SearXNG doesn’t belong in any of the above; it occupies a unique category.