Why Holehe is Dead and Why You Should Switch to User-Scanner ๐
If youโve been in the OSINT space for a while, you know Holehe. It was the gold standard for email lookups. But letโs be real: Holehe hasn't seen a major update in years, many of its modules are broken, and it frequently hits rate limits or returns false positives.
In 2026, itโs time to move on. Enter user-scannerโthe modern, lightweight, and actively maintained successor that does everything Holehe did, but better.
๐ ๏ธ Key Features of User-Scanner
User-Scanner isn't just a replacement; itโs an upgrade. It combines the best of Holehe (email scanning) and Sherlock (username scanning) into one streamlined tool.
- 2-in-1 Dual Scanning: Check email registrations and username availability in a single command.
- Smart Permutations: Automatically generates "wildcard" variations of usernames (e.g., adding suffixes) to find hidden or secondary accounts.
- Active Module Updates: Unlike Holehe, User-Scanner is actively maintained to fix modules as soon as platforms change their login or registration flows.
-
Advanced Proxy Support: Includes a built-in
--validate-proxiesflag to filter out dead proxies before you start your scan. - Clean Exporting: Native support for JSON and CSV formats, making it easy to pipe data into other tools or reports.
-
Developer Library Mode: You can import it directly into your Python projects using
user_scanner.core.
๐ Quick Start
Getting started is faster than setting up a virtual environment (though you should still use one!).
1. Installation
pip install user-scanner
2. The "Better Than Holehe" Scan
Replace your old Holehe workflow with this:
user-scanner -e "target_email@gmail.com" -v
3. Bulk Scanning (A Feature Holehe Lacked)
Have a list of 100 emails? No problem:
user-scanner -ef emails.txt -o results.json
Library mode for email_scan
Only available for user-scanner>=1.2.0
See full usage (eg. category checks, full scan) guide library usage
- Email scan example (single module):
import asyncio
from user_scanner.core import engine
from user_scanner.email_scan.dev import github
async def main():
# Engine detects 'email_scan' path -> returns "Registered" status
result = await engine.check(github, "test@gmail.com")
json_data = result.to_json() # returns JSON output
csv_data = result.to_csv() # returns CSV output
print(json_data) # prints the json data
asyncio.run(main())
Output:
{
"email": "test@gmail.com",
"category": "Dev",
"site_name": "Github",
"status": "Registered",
"url": "https://github.com",
"reason": ""
}
๐ Why "Holehe" is Dead
Holehe relied on specific password-reset and registration endpoints that many platforms (like X/Twitter and Instagram) have since hardened or changed. Without active maintenance, a tool like Holehe becomes a "false negative" machine.
User-Scanner uses updated logic, better error handling and modern libraries like httpx to handle these requests more reliably and faster than the older requests or trio based implementations.
๐ก๏ธ Use Responsibly
This tool is built for authorized security research, bug bounty hunting, and digital footprint audits. Always ensure your investigations comply with local laws and the Terms of Service of the platforms being scanned.
๐ Conclusion
If your OSINT toolkit still relies on Holehe, you're likely missing half the picture. Switch to User-Scanner for more accurate data and a much better developer experience.
Check it out on GitHub: kaifcodec/user-scanner
Are you still holding onto legacy tools, or have you made the switch? Let's talk in the comments!
Top comments (0)