What is Sherlock OSINT and how to install it in 2025 (Complete guide)
Learn what Sherlock OSINT is, how to install it in 2025, and how to use it to search usernames, audit brands, and automate OSINT analysis from the terminal.

Sherlock is an open-source OSINT (Open-Source Intelligence) tool designed for a very specific task: automatically checking whether a username exists across hundreds of platforms and social networks.
It runs from the command line, is written in Python, and that makes it lightweight, cross-platform, and easy to integrate into more complex workflows. It’s not a “magic” or invasive tool: it simply checks whether the public URLs associated with a username exist or not.
While its most common use is OSINT research, I’ve personally used it with a much more practical goal: checking username availability when creating a digital brand, specifically oshytech. In just a few seconds, I could see where the name was already taken and where it was still available—something essential if you want to maintain brand consistency.
What is Sherlock OSINT actually used for?
Sherlock is especially useful when you need a quick, global view of the digital presence associated with a username. Some of its most common use cases include:
- Finding public profiles linked to a username
- Verifying the digital presence of a person, project, or brand
- Detecting potential identity impersonation
- Checking username availability across multiple platforms
- Serving as a starting point for OSINT investigations
It does not access private accounts, does not require credentials, and does not collect sensitive information. Its logic is simple: it checks whether a public URL responds or not.
Installing Sherlock OSINT in 2025
As of today, there are several valid ways to install Sherlock. Below are the most recommended options, depending on how you plan to use it.
Recommended installation with pipx (Python)
This is the method I recommend in most cases, especially if you already work with Python:
pipx install sherlock-projectWhy use pipx:
- Keeps Sherlock isolated from other Python packages
- Avoids dependency conflicts
- Makes updates and removal straightforward
If you don’t have pipx, a quick alternative is:
pip install --user sherlock-projectInstalling from the GitHub repository
Ideal if you want to modify the code, understand how it works internally, or use the latest version:
git clone https://github.com/sherlock-project/sherlock
cd sherlock
python3 -m pip install -r requirements.txtDirect execution:
python3 sherlock usernameInstalling with Docker
A very convenient option if you don’t want to touch your local environment:
docker run -it --rm sherlock/sherlockEspecially useful on servers, OSINT labs, or isolated environments.
Installing via Linux packages
Some Linux distributions include Sherlock in their repositories.
Example on Kali Linux:
sudo apt install sherlockNote: on newer distributions like Ubuntu or ParrotOS, this method may fail. In that case,
pipxor Docker are usually the best options.
Basic usage of Sherlock OSINT
Once installed, using Sherlock is straightforward and requires no learning curve.
Search for a single username
sherlock usernameSherlock will automatically check hundreds of platforms and show which ones exist and which do not.
Search for multiple usernames at once
sherlock user1 user2 user3Exporting results
One of Sherlock’s biggest advantages is that it allows you to work with the results later.
CSV
sherlock username --csvJSON
sherlock username --jsonExcel
sherlock username --xlsxThis is essential if you plan to automate analysis or integrate the results into other processes.
Practical use cases
Checking brand name availability
This was my use case when checking oshytech before registering profiles:
sherlock oshytech --print-found --csvIn seconds, I had a clear list of platforms where the name was already taken and where it was still available.
Basic OSINT investigation
To quickly collect links to public profiles:
sherlock username --print-found --xlsxThe generated file can be used as a starting point for further analysis with other OSINT tools.
Automating bulk searches
If you work with lists of usernames, Sherlock fits perfectly into simple scripts.
Example using a users.txt file:
for user in $(cat users.txt); do
sherlock $user --print-found --csv
doneThis approach is ideal for audits, recurring analysis, or automated processes.
Sherlock vs similar alternatives
There are other OSINT tools focused on username searches, such as Maigret or Namechk, but Sherlock still stands out for several reasons:
- Better stability and project maintenance
- A clear command-line focus
- Easy integration into scripts and automation
- A large community and solid documentation
While some alternatives are more web-oriented or GUI-based, Sherlock fits especially well in technical environments, where automation and process control matter most.
Automation and workflows
One of Sherlock’s strengths is that it’s not meant to be used in isolation. It works very well as a first step in an automated workflow, for example:
- Username checks → analysis → report generation
- Integration with Python or Bash scripts
- Periodic brand audit processes
This naturally opens the door to linking Sherlock with other articles and guides focused on automation, scripting, and pipelines, which we’ll cover later on.
Ethical and legal considerations
Even though Sherlock only uses public information, it should always be used responsibly.
Legitimate uses:
- Auditing your own digital footprint
- OSINT research
- Branding and identity verification
Unethical uses:
- Harassment or non-consensual surveillance
- Privacy violations
- Illegal activities
