sherlock
Find usernames across social networks
TLDR
Search for a specific username on social networks saving the results to a file
Search for specific usernames on social networks saving the results into a directory
Search for a specific username on social networks using the Tor network
Make requests over Tor with a new Tor circuit after each request
Search for a specific username on social networks using a proxy
Search for a specific username on social networks and open results in the default web browser
Display help
SYNOPSIS
sherlock [OPTIONS] <USERNAME> [<USERNAME2> ...]
PARAMETERS
<USERNAME>
The username(s) to search for across social media platforms. Multiple usernames can be provided.
-h, --help
Displays the help message and exits, showing all available options.
-v, --verbose
Enables verbose output, showing more detailed information during the search process.
-o <FOLDER_NAME>, --folder <FOLDER_NAME>
Specifies a folder where the results (e.g., CSV, JSON) will be saved. If the folder does not exist, it will be created.
--csv
Saves the search results in Comma Separated Values (CSV) format to a file in the output folder.
--json
Saves the search results in JavaScript Object Notation (JSON) format to a file in the output folder.
-t <TIMEOUT>, --timeout <TIMEOUT>
Sets the maximum time in seconds to wait for a response from each website before considering it a timeout.
-p <PROXY_URL>, --proxy <PROXY_URL>
Specifies a proxy server to route all traffic through (e.g., socks5://127.0.0.1:9050).
--tor
Routes all search traffic through the Tor network, enhancing anonymity. Requires a running Tor service.
--site <SITE_NAME>
Restricts the search to only the specified social media site(s). Can be used multiple times for several sites.
--list-sites
Prints a list of all social media sites currently supported by sherlock.
DESCRIPTION
sherlock is an open-source Python tool designed to find social media profiles across a vast number of social networks simply by providing a username. It automates the process of checking if a specific username exists on platforms like Instagram, Facebook, Twitter, TikTok, and many others. The tool identifies user accounts by constructing URLs for each platform and analyzing web responses (e.g., 200 OK or specific error messages) to determine the presence or absence of a user. It's widely used by cybersecurity professionals, OSINT (Open Source Intelligence) researchers, and individuals to verify online identities, investigate usernames, and gather information efficiently. While not a standard Linux command, it is a powerful utility often used in Linux environments.
CAVEATS
sherlock is a Python-based tool and not a built-in Linux command; it requires Python and pip for installation. Its effectiveness relies on the current structure and responses of target websites, which can change without notice, potentially leading to false positives or negatives. Performance can vary significantly based on network speed, the number of sites queried, and potential rate-limiting by social media platforms. Users should exercise ethical considerations and ensure legal compliance when using this tool for information gathering.
INSTALLATION
Since sherlock is a Python package, it is typically installed using pip:
pip3 install sherlock
It can also be run directly from its Git repository for the latest development version.
HOW IT WORKS
sherlock operates by systematically generating URLs for a given username across its database of supported social media sites. It then sends HTTP requests to these URLs and analyzes the server responses. The tool looks for specific indicators, such as HTTP 200 (OK) status codes, unique error messages (e.g., 'Page not found', 'User not found'), or redirects, to deduce whether a username exists on that particular platform. This process is optimized to handle different site structures and response patterns.
HISTORY
The sherlock tool was initially developed by Harrison French and open-sourced on GitHub around 2018-2019. Its creation addressed the tedious manual process of checking usernames across numerous social media platforms, providing an automated and efficient solution. It quickly gained significant traction within the OSINT (Open Source Intelligence) and cybersecurity communities due to its utility and ease of use. The project continues to be actively maintained and improved by its contributors, adapting to changes in social media platforms and expanding its list of supported sites.