Sherlock
Sherlock is a powerful command-line intelligence tool that hunts for usernames across hundreds of social networks and platforms simultaneously. It efficiently searches over 300+ websites including major social media platforms, forums, and online services to determine username availability and discover associated accounts. The tool features fast concurrent processing, customizable output formats (JSON, CSV), proxy support, and detailed reporting capabilities. Sherlock is invaluable for OSINT investigations, cybersecurity research, digital forensics, and social media reconnaissance. Security professionals, investigators, and researchers use it to map digital footprints, verify online identities, and conduct comprehensive username enumeration across the internet's vast social landscape with minimal manual effort.
Latest Releases
All releases- 📦 Community package now available on [_Debian_][ext-debian] @Nilsonfsilva
- 📦 Community package now available on [_Ubuntu_][ext-ubuntu] @Nilsonfsilva
- ✨ Automatic filtering of most false-positive prone sites by way of [automatic testing](https://github.com/sherlock-project/sherlock/blob/master/tests/testvalidatetargets.py) on [upstream](https://github.com/sherlock-project/sherlock/blob/exclusions/falsepositiveexclusions.txt) @ppfeister
- ✨ \-\-json flag overloaded to allow use of pull request numbers as manifest URIs (#2356) @bytexenon
- ✨ \-\-no-txt flag added to disable automatic txt file output _(functionality may change later)_ (#2263) @ntexe
- ✨ Basic PEP 561 compliance with support for mypy static type checking (#2277) @ppfeister
- ‼️ Deprecated support for now-EOL Python 3.8 and 3.9 (now ^3.10) @ppfeister
- 📦 Official package now available on [_PyPI_][ext-pypi] (#2127) @ppfeister
- 📦 Official package now available on [_DockerHub_][ext-dockerhub] (#2216) @ppfeister
- 📦 Official package now available on [_Fedora_][ext-fedora] @ppfeister
- 📦 Community package now available on [_Homebrew_][ext-homebrew] @p-linnane
- ✨ New Sherlock wiki at [_sherlockproject.xyz_][ext-wiki] @sdushantha
- ✨ --dump-response flag added for easier debugging (#2214) @ppfeister
- 🪲 Fixed uncaught exception when tor browser not found (#2033) @joaomfbh
- 🪲 ‼️ Importable module renamed from sherlock to sherlockproject [[details]_][ext-deb1072733] @ppfeister
- 🛠️ Adopted Poetry and restructured as a true package @mjsir911 @ppfeister @matheusfelipeog @sdushantha
- 🛠️ Unit testing rewritten to better support contributors and packagers @ppfeister
- 🛠️ Manifest now uses schema for better regression testing and in-IDE UX (#2212) @ppfeister
- 🛠️ Added detection mechanism for users running via legacy/unsupported methods (#2213) @ppfeister
- 🛠️ ‼️ Dependency [_torrequest_][ext-torrequest] made optional (#2215) @ppfeister @matheusfelipeog
- 🛠️ ‼️ Deprecated support for Python 3.6 and 3.7 (now ^3.8)
- 🛠️ Several minor UX improvements over the course of development
- 🏷️ Adopted properly tagged releases help out our downstream packagers
- ✍️ General improvements to and simplification of in-repo documentation
--tor and --unique-tor are now deprecated, and both are up for possible removal in a future release (#2200). Users who need time to adapt to this change can install the now-optional dependency [_torrequest_][ext-torrequest]. If Sherlock has been installed via pip, pip install 'sherlock-project[tor]' will include the necessary extras
Since torrequest is simply not available as an rpm, those options have already been patched out of the Fedora release.
_
#### 📦 Packaging info
Many packages are required to be built entirely offline, as with the official Fedora release and the upcoming community-supported Debian release. Sherlock's unit tests generally require an internet connection, but with the adoption of tox and pytest, we've added offline-only test modes.
tox -e offline is the preferred offline-only test method, with pytest -m "not online" also being supported out of the box. Reference @ppfeister's [_spec file_][ext-rpm-spec] for an example of fully-offline unit testing with tox.
[release-diff]: https://github.com/sherlock-project/sherlock/compare/v0.14.4...v0.15.0
[ext-pypi]: https://pypi.org/project/sherlock-project/
[ext-dockerhub]: https://hub.docker.com/r/sherlock/sherlock
[ext-fedora]: https://src.fedoraproject.org/rpms/sherlock-project/
[ext-homebrew]: https://formulae.brew.sh/formula/sherlock
[ext-wiki]: https://sherlockproject.xyz
[ext-wiki-install]: https://sherlockproject.xyz/installation
[ext-rpm-spec]: https://src.fedoraproject.org/rpms/sherlock-project/blob/rawhide/f/sherlock-project.spec
[ext-torrequest]: https://pypi.org/project/torrequest/
[ext-deb1072733]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072733
Installation
docker run -it --rm sherlock/sherlock
pipx install sherlock-project