Username Enumeration with Sherlock
Overview
Sherlock searches for a username across several hundred platforms simultaneously and returns confirmed account URLs. It works by requesting each platform's expected profile URL and checking the HTTP response for presence or absence indicators. It is the fastest starting point for username-based OSINT and produces a list that feeds directly into cross-platform correlation.
Installation
Or clone directly:
Basic Enumeration
Run a single username against all supported sites:
[*] Checking username target_handle on: [+] GitHub: https://github.com/target_handle [+] Reddit: https://www.reddit.com/user/target_handle [+] Twitter: https://twitter.com/target_handle [+] Instagram: https://www.instagram.com/target_handle [-] Facebook: Not Found! [+] HackerNews: https://news.ycombinator.com/user?id=target_handle
Each line prefixed with [+] is a confirmed hit. Lines with [-] are absent or returned an error. Review every confirmed URL manually before treating it as the same person. Common usernames will produce false positives on platforms with large userbases.
Saving Output
Write results to a file for later processing:
For CSV output, useful when feeding results into a link analysis tool:
Multiple Usernames
When you have several candidates from variation generation, pass them all in a single run:
Or pass a file of candidates:
Targeting Specific Sites
If you already know the subject uses certain platforms, limit the search to reduce noise and request volume:
Tor Routing
Route requests through Tor to reduce attribution back to your investigation infrastructure:
--unique-tor requests a new Tor circuit for each platform, which distributes requests across different exit nodes. This adds time but improves anonymity and reduces the chance of rate limiting hitting the same exit IP repeatedly.
Interpreting Results and False Positives
Sherlock detects accounts by checking whether the platform returns a specific success response for a given username URL. This approach produces false positives when platforms return generic content rather than a 404 for missing accounts. Common offenders include smaller or regional platforms.
For every confirmed hit, open the URL manually and verify:
The account content is consistent with your subject's known activity, language, or interests
Profile photos, bios, or linked accounts match other confirmed profiles
Join date or account age is plausible relative to other confirmed accounts
A hit that does not survive manual review should be discarded. Do not include unverified hits in any intelligence product.
What to Do With Results
Confirmed hits feed directly into cross-platform correlation. Visit each confirmed account and extract any additional identifiers: email addresses, phone numbers, real names, locations, linked accounts, profile photos, and posting history. Each platform will reveal different data depending on what the subject has disclosed there.
References
-
Sherlock Project — GitHubgithub.com/sherlock-project/sherlock (opens in new tab)
Official repository, installation instructions, and supported site list
Was this helpful?
Your feedback helps improve this page.