An excerpt from the repository, fetched Nov 13, 2026.
Read the project’s introduction
Important
Whoogle has reached the end of the road — 24 Jul 2026
Whoogle no longer returns search results, and that isn't something this project can fix.
Since early 2025, Google has steadily shut the door on search queries made without JavaScript, banning working User-Agent strings as fast as they were found. Fetching results without JavaScript was the foundation Whoogle was built on. Google has now killed the last User-Agent string that still worked, and with it the only way Whoogle had to reach search results.
The Google Custom Search (BYOK) fallback described below is no longer a workable alternative either, so there's nothing left to fall back to. Google closed both doors; there's no third one to try.
Because of that, active work on this repository has come to an end:
No further commits or releases
No bug fixes
No pull requests or contributions will be reviewed or merged
No new translations or feature requests
No ongoing support for existing deployments, public instances, or Docker images
The code stays up for reference, and it's still MIT licensed — fork it and take it wherever you like. Everything below this notice describes how Whoogle worked while Google still allowed it to, and is kept as a record of that. Please don't expect any of it to work today.
To everyone who used, deployed, translated, packaged, and contributed to Whoogle over the years: thank you. It was a good run, and it ended on Google's terms, not ours. Although not free, many of us have switched to Kagi as our new alternative.
SourceHut
GitHub
(Historical description — see the notice above.) Get Google search results, but without any ads, JavaScript, AMP links, cookies, or IP address tracking. Easily deployable in one click as a Docker app, and customizable with a single config file. Quick and simple to implement as a primary search engine replacement on both desktop and mobile.
Contents
Features
Install/Deploy Options
Heroku Quick Deploy
Render.com
Repl.it
Fly.io
Koyeb
pipx
pip
Manual
Docker
Arch/AUR
Helm/Kubernetes
Environment Variables and Configuration
Google Custom Search (BYOK)
Usage
Extra Steps
Set Primary Search Engine
Custom Redirecting
Custom Bangs
Prevent Downtime (Heroku Only)
Manual HTTPS Enforcement
Using with Firefox Containers
Reverse Proxying
Nginx
Contributing
FAQ
Public Instances
Screenshots
Features
No ads or sponsored content
No JavaScript*
No cookies**
No tracking/linking of your personal IP address***
No AMP links
No URL tracking tags (i.e. utm=%s)
No referrer header
Tor and HTTP/SOCKS proxy support
Autocomplete/search suggestions
POST request search and suggestion queries (when possible)
View images at full res without site redirect (currently mobile only)
Light/Dark/System theme modes (with support for custom CSS theming)
Auto-generated Safari User Agents with random rotation
10 unique Safari-based UAs generated on startup from 115 language variants
Randomly rotated for each search request to avoid detection patterns
Cached across restarts with configurable refresh options
Fallback to safe default UA if generation fails
Optional display of current UA in search results footer
Easy to install/deploy
DDG-style bang (i.e. !<tag> <query>) searches
User-defined custom bangs
Optional location-based searching (i.e. results near <city>)
Optional NoJS mode to view search results in a separate window with JavaScript blocked
JSON output for results via content negotiation (see "JSON results (API)")
*No third party JavaScript. Whoogle can be used with JavaScript disabled, but if enabled, uses JavaScript for things like presenting search suggestions.
**No third party cookies. Whoogle uses server side cookies (sessions) to store non-sensitive configuration settings such as theme, language, etc. Just like with JavaScript, cookies can be disabled and not affect Whoogle's search functionality.
***If deployed to a remote server, or configured to send requests through a VPN, Tor, proxy, etc.
Install
Supported Platforms
Official Docker images are built for:
linux/amd64 (x86_64)
linux/arm64 (ARM 64-bit, Raspberry Pi 3/4/5, Apple Silicon)
Note: ARMv7 support (32-bit ARM, Raspberry Pi 2) was dropped in v1.2.0 due to incompatibility with modern security libraries on Alpine Linux. Users with ARMv7 devices can either:
Use an older version (v1.1.x or earlier)
Build locally with pinned dependencies (see notes in Dockerfile)
Upgrade to a 64-bit OS if hardware supports it (Raspberry Pi 3+)
There are a few different ways to begin using the app, depending on your preferences:
Heroku Quick Deploy
Provides:
Easy Deployment of App
A HTTPS url (https://<your app name>.herokuapp.com)
Notes:
Requires a PAID Heroku Account.
Sometimes has issues with auto-redirecting to https. Make sure to navigate to the https version of your app before adding as a default search engine.
Render
Create an account on render.com and import the Whoogle repo with the following settings:
Runtime: Python 3
Build Command: pip install -r requirements.txt
Run Command: ./run
Repl.it
Note: Requires a (free) Replit account
Provides:
Free deployment of app
Free HTTPS url (https://<app name>.<username>.repl.co)
Supports custom domains
Downtime after periods of inactivity (solution)
Fly.io
You will need a Fly.io account to deploy Whoogle.
Install the CLI: https://fly.io/docs/hands-on/installing/
Deploy the app
flyctl auth login
flyctl launch --image benbusby/whoogle-search:latest
The first deploy won't succeed because the default internal_port is wrong.
To fix this, open the generated fly.toml file, set services.internal_port to 5000 and run flyctl launch again.
Your app is now available at https://<app-name>.fly.dev.
Notes:
Requires a PAID Fly.io Account.
Koyeb
Use one of the following guides to install Whoogle on Koyeb:
Using GitHub: https://www.koyeb.com/docs/quickstart/deploy-with-git
Using Docker: https://www.koyeb.com/docs/quickstart/deploy-a-docker-application
RepoCloud
Sign up for a f
Read the full README on GitHub