DEV Community

OpenCV
OpenCV

Posted on

RIP Holehe: Why User-Scanner is the New King of Email OSINT ๐Ÿ‘‘

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-proxies flag 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
Enter fullscreen mode Exit fullscreen mode

2. The "Better Than Holehe" Scan

Replace your old Holehe workflow with this:

user-scanner -e "target_email@gmail.com" -v
Enter fullscreen mode Exit fullscreen mode

3. Bulk Scanning (A Feature Holehe Lacked)

Have a list of 100 emails? No problem:

user-scanner -ef emails.txt -o results.json
Enter fullscreen mode Exit fullscreen mode

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())

Enter fullscreen mode Exit fullscreen mode

Output:


{
        "email": "test@gmail.com",
        "category": "Dev",
        "site_name": "Github",
        "status": "Registered",
        "url": "https://github.com",
        "reason": ""
}
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’€ 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)