TL;DR - which privacy-focused search engine do people recommend, preferably one that can also easily be used as a default option in Safari?
I ditched Google in about 2016ish I would guess, and since then have used DDG as my default search engine.
As someone entrenched in the Apple ecosystem, it’s always seemed like a sound choice, as it’s one of the search engines built in to Safari on both iOS and macOS.
After spending a bit more time recently playing around with and updating my Docker containers, I started hosting a Whoogle container, which seemed to work pretty well, but I don’t see many out there talking about it, so not sure how good it actually is. I then tried a SearXNG container, but either had it misconfigured or just wasn’t getting many search results back.
At the moment I’m trying out Startpage, but I know there are potential privacy concerns since they were part-bought in 2019 by a US ad-tech company.
I’m also playing around with different browsers at the moment, flicking between Safari, Firefox and Brave. At which point I stumbled across Brave Search, which seems pretty promising.
So, which search engines do you all recommend?
UPDATE: Probably should’ve done a poll! But latest (if I’ve captured everything correctly) is:
- DuckDuckGo - 10
- Qwant / SearXNG / Kagi / Brave - 4
- Startpage / Ecosia - 2
- Google - 1
As to my other questions around browsers:
- Majority seem to use Firefox
- Some mentions of Brave
- One mention of Arc
I started paying for Kagi a few months ago and I’m loving it. Search results and tools are great. People balk at paying for a search engine, but at least this way I know I’m not the product.
I’m seeing a lot of love for Kagi as well. Not sure I’m quite ready to have to pay for search results, but I fully appreciate people that do. I have lots of subscriptions already and am trying to reduce them (i.e. self-hosting Vaultwarden as a replacement for 1Password).
I often recommend people using the “100 searches” trial of kagi to see if it might be worth it for them. I tried it and for me the price is worth it because of the custom filters and weights for results. It’s really nice to search for something and all results on the first page are relevant content (no ads, seo-bait pages or stuff like Pinterest).
People don’t even know what that feels like I think. Google has messed them up.
I remember the days when a Google search would usually get me what I wanted in the first result. And if not, at least it would be on the first page.
Now it’s a mess of sponsored links, videos, and other irrelevant suggestions.
Kagi has been great. I’d like to see more searches on their $5 plan as 300 searches a month doesn’t feel adequate. It has been great being able to promote, demote, and block sites from searching and I have found my results to be more helpful and relevant than Google alternatives I tried. I don’t think I have used Google search at all since signing up. Highly recommend.
I’ve been loving my kagi trial. I used my 100 searches. I’ll wait to see how long I can suffer before I buy it.
The weird thing for me is that by paying to use, you will need to be uniquely identified, and that opens doors for losing privacy in several ways. How is that addressed by kagi?
They address this on their website and go in further detail on their privacy policy. You’d have to read through that to decide if they do enough to earn your trust. But in my opinion not having any advertising removes most of their incentive to try to collect user data. I suppose there could be a temptation to collect the data to resell, but since a large portion of their income relies on the reputation of being a search alternative that has a focus on privacy I feel the risk to their reputation would be greater than whatever revenue that would generate.
Of course there are all kinds of companies that flew too close to the sun and sold out user privacy for a Coke and a smile. I’ve decided to go with Kagi and have been very happy with them so far. If they ever sell out I’ll cash out, but they seem to be the best option for me right now.
DuckDuckGo from the browser, because 90% of the time I can get where I want with the appropriate ! bang from the address bar.
With the appropriate ! bang from the address bar
What does this mean? I want to like DuckDuckGo, but it’s kinda messy.
They are basically shortcuts. For example, I can type “!w ibuprofen” into DuckDuckGo (or the address bar because I have it set as my default search engine) and be brought immediately to the wikipedia page for Ibuprofen. There’s also !yt for youtube search, !so for stack overflow search, and many more.
Just using duckduckgo. I’m not happy with my search results as they heavily prioritize clickbait CEO blogs instead of showing official documentation / sources.
Duckduckgo results are pretty bad in my experience, brave search and startpage are way better.
I’m using Ecosia. Planting trees FTW!
I run a pihole to block ads network-wide. I tried doing a general search for a bit of info on it and didn’t find much, but I guess my question is are the ads they run more like sponsored results, or like actual advertisements?
You can find info here: https://ecosia.helpscoutdocs.com/category/314-privacy-friendly-search-engine
TLDR they have ads, but related to your current search, not your profile. And they are Bing based.
Using qwant because it’s developed and hosted in France. Better than supporting a US company as a European.
But qwant uses bing
So you’re still supporting Microsoft
They use their own indexer.
I think there was some drama a while ago about them collecting and sharing data which got them delisted from PrivacyGuides? Not a good look imo.
I started using qwant last year for the same reason and I haven’t looked back. Search results are excellent. I sometimes switch to Startpage as a proxy for google.
I’ve been using DuckDuckGo for years now and recommend it all the time.
I get decent, reliable results so haven’t shopped around.
This. Clean, reliable and functional. Although I’ve never wrapped my head around how they make their $$
They place ads in the search results.
If you disable your ad blocker, the first search result will almost always an Amazon ad. I test searched for “Headphones” and it also shows a row of JBL headphones at the top ala google shopping, which is an ad as well.
Really, they make their money the same way as google, they just don’t track your searches and site visits.
They still run ads, just less profitable ones since they’re less intrusive, aren’t personalised, and most never see them anyway because if youre on DDG in the first place, you’re also likely to be using adblock.
Been a duckie for years now but I find myself going back to google for things like maps and shopping (that nearby search is a godsend) have you found any privacy mindfull alternatives?
Unfortunately not. If anyone knows of something I’d be keen.
On Android you can install Organic Maps, but the downside is that you’ll need to download the maps for each area you want to have a map of (which, takes storage)
OsmAnd+ seems to be a good alternative recommended often, but I just haven’t used it.
On PC, OpenStreetMaps is your friend
On Android you can install Organic Maps, but the downside is that you’ll need to download the maps for each area you want to have a map of (which, takes storage)
OsmAnd+ seems to be a good alternative recommended often, but I just haven’t used it.
On PC, OpenStreetMaps is your friend
Do you find DDG to be slower than Bing or Google? A few years ago I thought there was a noticeable delay with DDG, but not with Google.
Not really, they’re both nice and snappy.
Default search in Firefox: SearXNG (List of Instances) (solves 60-80%)
if not the solution, I then search for “dd [term]” which goes to duckduckgo. Solves mostly the rest.
If not, and I am really desperate, I try: “dd !g [term]” so it goes to ddg, redirects to google and then I am reminded how bad a first page result can be. Only ads, sponsored entries and only big company names. Good luck finding anything from a forum or a small blog on google today. All the search words are bundled up in company results that has nothing to do with the topic.
You don’t use an adblocker?
Sure. But how is that changing the quality of google results? Are you trolling?
I meant because you mentioned there’s nothing but ads which would be gone with an adblocker. Did you mean the actual results are essentially ads or literally the ads and Sponsored post at the top?
Sponsored results. I do not see ads, but I can see from the thing that I was searching for, and the difference between the that abd the first 4 results, that this can not be a real search result but a highly customized and profiled result. The results are just straight garbage.
Have a look at uBlacklist it removes a lot of the SEO rubbish for me
ddg.gg for the win.
Started using them when I confronted the Google filter bubble for the first time.
But what totally sold me? DDG provided me link for a product I had searched for in vain on Google for years at that point, using the exact same query.
I used to think Google search was clean until I used ddg. For some reason I prefer how ddg display searches.
Please reveal the product. I am consumed by curiosity.
Steel leveling jacks, manual, center screw variety, used extensively for leveling mobile homes back in the day.
First time I used DDG to look for them, BOOM, half way down the page a manufacturer in Enid, OK. G? Literally for years kept serving me up pneumatic, expensive, industrial gear or services.
That is definitely not what I was expecting
That is definitely not what I was expecting
Please reveal what you were expecting. I am consumed by curiosity.
Titanium leveling jacks most likely
Your post may have just convinced me to try ddg. My problem with Google is that increasingly it does not give me what I am looking for and instead gives me what it thinks I should want. From your description it sounds like ddg is what Google used to be.
Pretty much. They deliver a couple of sponsored entries per search, but even those have been occasionally productive. No harm in trying for a while, you can always change if it’s not working. GL&HF!
deleted by creator
Do you use it on mobile? Have you had any success configuring it as default search on mobile because I gave up (iPhone)
Would love to know this, and this did form part of my OP in terms of which search engines could be “hacked” into Safari.
deleted by creator
Duckduckgo was brutal on my battery I switched back to Firefox
My own searxng instance, listed at https://searx.space
Perhaps I need to go back to figuring out SearXNG. Although I did read that there’s a slight privacy compromise to use SearXNG over SearX.
Perhaps that doesn’t apply if it’s self-hosted, though.
Using self hosted SearXNG as well. If you have docker running already it’s a snap to setup.
Yeah I’ve got Docker up and running with lots of containers, but wasn’t getting any results back from SearXNG for some reason, kept getting timeouts. I’ve got everything running behind Traefik so might just be a bit of a config issue.
I probably wouldn’t expose it externally to your network, but that’s just me. Unless that’s what you’re doing, there aren’t really any ports to expose with Traefik.
No, I’m using local DNS in Pi-hole with a domain I own but nothing is externally accessible. And even if it were, I’ve got Authelia on all my containers (except, Vaultwarden because I can’t get it to work).
I’ve had a pretty similar journey to yours and I’m currently using Qwant, although the only reason I’m using them is because they’re based in Europe and haven’t had any scandals that I could find. If you’re really concerned about privacy I’ve heard good things about Kagi.
They have a partnership with Microsoft. Not saying it’s a scandal but that was my reason to stop using it
It’s so difficult to compete with free though. The monthly fee for kagi is a bit steep, which is not for everyone (>5 €/month), even if that is the ‘true’ price of searching the web. It does have some very interesting features though. A colleague of mine is always praising it, saying that the search results are better than anything else he has tried.
Personally, I use duck duck go as my primary search engine but I only use it to search for things. But since chatgpt4, I use perplexity.ai for actual answers. Browser wise, I use duck duck go where I can or Arc on my Mac with all the usual privacy plugins.
What are your thoughts on Arc? I tried it a couple of months ago but couldn’t really get used to the layout, etc.
Sure it’s as good a browser as any, I just wasn’t feeling it.
For me personally, it fits how work with the web. I really like the full screen view and the tab navigation between spaces and bookmarks. Because it’s so different, There is a learning curve but once passed it, I genuinely enjoy the experience it offers. I don’t care much for the other customisation features but I can see why they’d appeal to users.
Currently using Startpage and my only criticism of it is that it is noticeably slower than the other 2 that I have used DDG and Brave
I would recommend DDG for most and Startpage only for the people who don’t want to use Google search anymore but want similar if not identical search results
I did change the default search engine of some of my relatives to Startpage without them knowing:)
I am currently trying my luck with Brave Search.
But I am to this day quite dissatisfied with any Google alternative, as they all either lack boolean search capabilities, filters for search results (e. g. by site or by image size) or a combination of both.
Bing claims to support the site parameter and boolean searches, but it simply doesn’t work (go to the second page, if needed): https://www.bing.com/search?q=site%3Awikipedia.org+Linux+OR+Chicago
Same for all the other alternatives I’ve tried to use. I am honestly wondering how people are able to find anything with, for example, Bing or DuckDuckGo …
Are you only doing simple searches, like “nearby restaurant”? How do you search for something that has multiple valid names (OR) and you want to limit search results to before:2015, if the search engine doesn’t support search operators?
Someone pointed me in the direction of these guides:
https://duckduckgo.com/duckduckgo-help-pages/results/syntax/
Yes, but it doesn’t work.
- Bing claims that the parameter site is supported: https://support.microsoft.com/topic/ea595928-5d63-4a0b-9c6b-0b769865e78a
- Bing claims that the boolean OR is supported: https://support.microsoft.com/topic/b92e25f1-0085-4271-bdf9-14aaea720930
So according to Bing’s documentation, the search parameters for this example are the same as Google’s parameters and my search string should work just fine.
But look at my Bing example: I am looking for Wikipedia pages that either contain the string Chicago or Linux or both. Instead of the expected result, Bing gives me results from pages other than wikipedia.org.
The exact same search works just fine with Google: https://www.google.com/search?q=site%3Awikipedia.org+Linux+OR+Chicago
DuckDuckGo is even worse in my opinion, as it doesn’t support boolean OR searches at all.
I’m using an Ad-, Tracking- etc blocker in all my devices, so I’m not too worried about using Google or Bing when I do.
But I’m hosting my own instance of SearchXNG and that’s often simply the most powerful and flexible search engine.
Also self-host SearchXNG. Its definitely the way to go. I like you can choose which search engines to pull from
I replied to another comment on here saying that I’d tried this once before, via a Docker container, but just wasn’t getting any results back (kept getting timeouts from all the search engines).
I’ve just revisited it, and still get the timeouts. Reckon you’re able to help me troubleshoot it?
Below are the logs from Portainer:
File "/usr/local/searxng/searx/network/__init__.py", line 165, in get return request('get', url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 98, in request raise httpx.TimeoutException('Timeout', request=None) from e httpx.TimeoutException: Timeout 2023-08-06 09:58:13,651 ERROR:searx.engines.soundcloud: Fail to initialize Traceback (most recent call last): File "/usr/local/searxng/searx/network/__init__.py", line 96, in request return future.result(timeout) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/_base.py", line 458, in result raise TimeoutError() TimeoutError The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/searxng/searx/search/processors/abstract.py", line 75, in initialize self.engine.init(get_engine_from_settings(self.engine_name)) File "/usr/local/searxng/searx/engines/soundcloud.py", line 69, in init guest_client_id = get_client_id() ^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/engines/soundcloud.py", line 45, in get_client_id response = http_get("https://soundcloud.com") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 165, in get return request('get', url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 98, in request raise httpx.TimeoutException('Timeout', request=None) from e httpx.TimeoutException: Timeout 2023-08-06 09:58:13,654 ERROR:searx.engines.soundcloud: Fail to initialize Traceback (most recent call last): File "/usr/local/searxng/searx/network/__init__.py", line 96, in request return future.result(timeout) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/_base.py", line 458, in result raise TimeoutError() TimeoutError The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/searxng/searx/search/processors/abstract.py", line 75, in initialize self.engine.init(get_engine_from_settings(self.engine_name)) File "/usr/local/searxng/searx/engines/soundcloud.py", line 69, in init guest_client_id = get_client_id() ^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/engines/soundcloud.py", line 45, in get_client_id response = http_get("https://soundcloud.com") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 165, in get return request('get', url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/searxng/searx/network/__init__.py", line 98, in request raise httpx.TimeoutException('Timeout', request=None) from e httpx.TimeoutException: Timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikidata: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.duckduckgo: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.google: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.qwant: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.startpage: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikibooks: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikiquote: engine timeout 2023-08-06 10:02:05,024 ERROR:searx.engines.wikisource: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.wikipecies: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.wikiversity: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.wikivoyage: engine timeout 2023-08-06 10:02:05,025 ERROR:searx.engines.brave: engine timeout 2023-08-06 10:02:05,481 WARNING:searx.engines.wikidata: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,481 ERROR:searx.engines.wikidata: HTTP requests timeout (search duration : 6.457878380082548 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,482 WARNING:searx.engines.wikisource: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,484 ERROR:searx.engines.wikisource: HTTP requests timeout (search duration : 6.460748491808772 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,485 WARNING:searx.engines.brave: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,485 ERROR:searx.engines.brave: HTTP requests timeout (search duration : 6.461546086706221 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,487 WARNING:searx.engines.google: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,487 ERROR:searx.engines.google: HTTP requests timeout (search duration : 6.463769535068423 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,489 WARNING:searx.engines.wikiversity: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,489 ERROR:searx.engines.wikiversity: HTTP requests timeout (search duration : 6.466003180015832 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,490 WARNING:searx.engines.wikivoyage: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,490 ERROR:searx.engines.wikivoyage: HTTP requests timeout (search duration : 6.466597221791744 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,490 WARNING:searx.engines.qwant: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,490 ERROR:searx.engines.qwant: HTTP requests timeout (search duration : 6.4669976509176195 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,491 WARNING:searx.engines.wikibooks: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,491 ERROR:searx.engines.wikibooks: HTTP requests timeout (search duration : 6.4674198678694665 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,491 WARNING:searx.engines.wikiquote: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,492 WARNING:searx.engines.wikipecies: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,492 ERROR:searx.engines.wikiquote: HTTP requests timeout (search duration : 6.468321242835373 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,492 ERROR:searx.engines.wikipecies: HTTP requests timeout (search duration : 6.468797960784286 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,496 WARNING:searx.engines.duckduckgo: ErrorContext('searx/engines/duckduckgo.py', 98, 'res = get(query_url, headers=headers)', 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,497 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 6.47349306801334 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:02:05,511 WARNING:searx.engines.startpage: ErrorContext('searx/engines/startpage.py', 214, 'resp = get(get_sc_url, headers=headers)', 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:02:05,511 ERROR:searx.engines.startpage: HTTP requests timeout (search duration : 6.487425099126995 s, timeout: 6.0 s) : TimeoutException 2023-08-06 10:04:27,475 ERROR:searx.engines.duckduckgo: engine timeout 2023-08-06 10:04:27,770 WARNING:searx.engines.duckduckgo: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False 2023-08-06 10:04:27,771 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 3.2968566291965544 s, timeout: 3.0 s) : TimeoutException 2023-08-06 10:04:50,094 ERROR:searx.engines.duckduckgo: engine timeout 2023-08-06 10:04:50,187 WARNING:searx.engines.duckduckgo: ErrorContext('searx/engines/duckduckgo.py', 98, 'res = get(query_url, headers=headers)', 'httpx.ConnectTimeout', None, (None, None, 'duckduckgo.com')) False 2023-08-06 10:04:50,187 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 3.0933595369569957 s, timeout: 3.0 s) : ConnectTimeout
The above is a simple search for “best privacy focused search engines 2023”, followed by the same search again but using the ddg! bang in front of it.
I can post my docker-compose if it helps?
First thing that comes to mind is are you running it on Host Network? That’s a requirement