Sherlock checks one username across 400+ social networks from the command line
The MIT-licensed Python OSINT tool, created in 2018, is on GitHub trending; its README covers installation, a warning about broken third-party packages, and the full option list.
What it is
Sherlock is a Python command-line tool from the Sherlock Project that hunts down social media accounts by username across 400+ social networks, according to its README. It is released under the MIT license. The repository was created on 2018-12-24 and was last pushed to on 2026-11-07. In the GitHub trending snapshot it had 100315 stars, 1819 of them gained in the last day. Its topics include osint, cti, forensics, information-gathering, pentesting and redteam, and the help text in the README identifies the tool as version 0.16.0.
Installing it
The README lists three supported methods, and says pip or uv may be used in place of pipx:
pipx install sherlock-project
docker run -it --rm sherlock/sherlock
dnf install sherlock-project
Community-maintained packages are available for Debian (>= 13), Ubuntu (>= 22.10), Homebrew, Kali and BlackArch, but the README says these are not directly supported or maintained by the Sherlock Project. It also carries a warning: packages for ParrotOS and Ubuntu 24.04, maintained by a third party, appear to be broken, and users of those systems should use uv, pipx, pip or Docker instead.
Using it
A single search takes one username:
sherlock user123
Several usernames can be checked in one run:
sherlock user1 user2 user3
Accounts found are stored in a text file named after the username, for example user123.txt. The help output lists the options. Results can be saved to a folder when several usernames are checked, or exported as CSV or as an xlsx spreadsheet. A site option limits the check to named sites, and a proxy option routes requests through a proxy. The JSON option loads site data from a local or online JSON file and also accepts upstream PR numbers, while a local option forces the bundled data.json file. The timeout defaults to 60 seconds. Other flags print sites where the username was not found, open all results in the default browser, include NSFW sites from the default list, or ignore upstream exclusions, which the help text says may return more false positives. Usernames can include a placeholder that is replaced with an underscore, a hyphen or a dot to check similar names.
What the README leaves out
The README does not explain how each site is checked or how often the site list is updated, and apart from the note on exclusions it does not discuss how reliable a match is. It also does not say how to confirm that an account found under a username belongs to the person being searched for.