Hunt Username Across 301 Social Media Websites

Choosing your username for social media platforms or searching for all the social media links of any brand is a very time consuming and daunting task. If you want to make that task as easy as cutting a cake, I have a FREE tool for you. In this article, I’m going to talk about Sherlock which is a command-line tool to find usernames across many social media networks.

Basically, this tool serves two purposes: first, it allows you to check if the username is already taken or not, and secondly, you get all the social media links for a particular brand. So let’s check it out.

 

Sherlock - Search Username Across 301 Social Media Websites

 

Search Username Across 301 Social Media Websites

 

Sherlock is an open-source project which is available in GitHub under MIT license. The original creator of this project or tool is Siddharth Dushantha. I really like its ability to find the username across all the popular social media websites along with some of the infamous ones.

 

Sherlock Requirements

 

One of the basic requirements of this tool is Python 3.6 or higher. Additionally, it also requires the below modules which can be installed using PIP.

beautifulsoup4>=4.8.0
bs4>=0.0.1
certifi>=2019.6.16
colorama>=0.4.1
lxml>=4.4.0
PySocks>=1.7.0
requests>=2.22.0
requests-futures>=1.0.0
soupsieve>=1.9.2
stem>=1.8.0
torrequest>=0.1.0

 

Steps to Install Sherlock

 

Sherlock works on macOS, Linux, and Windows. In this tutorial, I have used CentOS 7 cloud server which I got for free from Oracle Cloud.

 

Now, let’s see the steps for installing this useful social media tool.

 

1. Clone the GitHub repository using the “git clone” command or you can also download it locally.

$ git clone https://github.com/sherlock-project/sherlock.git
Cloning into 'sherlock'...
remote: Enumerating objects: 113, done.
remote: Counting objects: 100% (113/113), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 3467 (delta 73), reused 89 (delta 54), pack-reused 3354
Receiving objects: 100% (3467/3467), 11.21 MiB | 7.10 MiB/s, done.
Resolving deltas: 100% (2218/2218), done.
$

If you are getting the error “-bash: git: command not found“, then please use below command first.

$ sudo yum install git -y

 

2. Once you have cloned the repo, just change the directory to sherlock and install the required modules mentioned in the requirements.txt file.

$ cd sherlock
$ sudo python3 -m pip install -r requirements.txt
WARNING: Running pip install with root privileges is generally not a good idea. Try `__main__.py install --user` instead.
Collecting beautifulsoup4>=4.8.0 (from -r requirements.txt (line 1))
  Downloading https://files.pythonhosted.org/packages/e8/b5/7bb03a696f2c9b7af792a8f51b82974e51c268f15e925fc834876a4efa0b/beautifulsoup4-4.9.0-py3-none-any.whl (109kB)
    100% |████████████████████████████████| 112kB 1.4MB/s
Collecting bs4>=0.0.1 (from -r requirements.txt (line 2))
  Downloading https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz
Collecting certifi>=2019.6.16 (from -r requirements.txt (line 3))
  Downloading https://files.pythonhosted.org/packages/57/2b/26e37a4b034800c960a00c4e1b3d9ca5d7014e983e6e729e33ea2f36426c/certifi-2020.4.5.1-py2.py3-none-any.whl (157kB)
    100% |████████████████████████████████| 163kB 1.5MB/s
Collecting colorama>=0.4.1 (from -r requirements.txt (line 4))
  Downloading https://files.pythonhosted.org/packages/c9/dc/45cdef1b4d119eb96316b3117e6d5708a08029992b2fee2c143c7a0a5cc5/colorama-0.4.3-py2.py3-none-any.whl
Collecting lxml>=4.4.0 (from -r requirements.txt (line 5))
  Downloading https://files.pythonhosted.org/packages/dd/ba/a0e6866057fc0bbd17192925c1d63a3b85cf522965de9bc02364d08e5b84/lxml-4.5.0-cp36-cp36m-manylinux1_x86_64.whl (5.8MB)
    100% |████████████████████████████████| 5.8MB 94kB/s
Collecting PySocks>=1.7.0 (from -r requirements.txt (line 6))
  Downloading https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl
Collecting requests>=2.22.0 (from -r requirements.txt (line 7))
  Downloading https://files.pythonhosted.org/packages/1a/70/1935c770cb3be6e3a8b78ced23d7e0f3b187f5cbfab4749523ed65d7c9b1/requests-2.23.0-py2.py3-none-any.whl (58kB)
    100% |████████████████████████████████| 61kB 10.1MB/s
Collecting requests-futures>=1.0.0 (from -r requirements.txt (line 8))
  Downloading https://files.pythonhosted.org/packages/47/c4/fd48d1ac5110a5457c71ac7cc4caa93da10a80b8de71112430e439bdee22/requests-futures-1.0.0.tar.gz
Collecting soupsieve>=1.9.2 (from -r requirements.txt (line 9))
  Downloading https://files.pythonhosted.org/packages/05/cf/ea245e52f55823f19992447b008bcbb7f78efc5960d77f6c34b5b45b36dd/soupsieve-2.0-py2.py3-none-any.whl
Collecting stem>=1.8.0 (from -r requirements.txt (line 10))
  Downloading https://files.pythonhosted.org/packages/71/bd/ab05ffcbfe74dca704e860312e00c53ef690b1ddcb23be7a4d9ea4f40260/stem-1.8.0.tar.gz (2.9MB)
    100% |████████████████████████████████| 2.9MB 178kB/s
Collecting torrequest>=0.1.0 (from -r requirements.txt (line 11))
  Downloading https://files.pythonhosted.org/packages/a3/d2/00538e47a2c80979231313c346a0abc3927c7b230d69eb923bb5b221ec62/torrequest-0.1.0.tar.gz
Collecting chardet<4,>=3.0.2 (from requests>=2.22.0->-r requirements.txt (line 7))
  Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
    100% |████████████████████████████████| 143kB 6.5MB/s
Collecting idna<3,>=2.5 (from requests>=2.22.0->-r requirements.txt (line 7))
  Downloading https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl (58kB)
    100% |████████████████████████████████| 61kB 1.0MB/s
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests>=2.22.0->-r requirements.txt (line 7))
  Downloading https://files.pythonhosted.org/packages/e1/e5/df302e8017440f111c11cc41a6b432838672f5a70aa29227bf58149dc72f/urllib3-1.25.9-py2.py3-none-any.whl (126kB)
    100% |████████████████████████████████| 133kB 1.6MB/s
Installing collected packages: soupsieve, beautifulsoup4, bs4, certifi, colorama, lxml, PySocks, chardet, idna, urllib3, requests, requests-futures, stem, torrequest
  Running setup.py install for bs4 ... done
  Running setup.py install for requests-futures ... done
  Running setup.py install for stem ... done
  Running setup.py install for torrequest ... done
Successfully installed PySocks-1.7.1 beautifulsoup4-4.9.0 bs4-0.0.1 certifi-2020.4.5.1 chardet-3.0.4 colorama-0.4.3 idna-2.9 lxml-4.5.0 requests-2.23.0 requests-futures-1.0.0 soupsieve-2.0 stem-1.8.0 torrequest-0.1.0 urllib3-1.25.9
$

If “python3” is not installed, you can use below command to install it

$ python3 -m pip install -r requirements.txt
-bash: python3: command not found

$ sudo yum install python3 -y

 

3. Now, once all the requirement has been met, just run the sherlock.py script along with the username.

This will search all the social media networks in its database and will provide you the URL of that platform or will display the message “Not Found!” as shown below.

$ sudo python3 sherlock.py google

[*] Checking username google on:
[-] ResearchGate: Illegal Username Format For This Site!
[+] 2Dimensions: https://2Dimensions.com/a/google
[+] 3dnews: http://forum.3dnews.ru/member.php?username=google
[-] 4pda: Not Found!
[+] 500px: https://500px.com/google
[-] 7Cups: Not Found!
[-] 9GAG: Not Found!
[+] About.me: https://about.me/google
[+] Academia.edu: https://independent.academia.edu/google
[-] AdobeForums: Not Found!
[-] Alik.cz: Not Found!
[+] AllTrails: https://www.alltrails.com/members/google
[-] Anobii: Not Found!
[-] Aptoide: Not Found!
[+] Archive.org: https://archive.org/details/@google
...................
...................
[+] Docker Hub: https://hub.docker.com/u/google/
[+] Dribbble: https://dribbble.com/google
[+] Duolingo: https://www.duolingo.com/profile/google
[+] Ebay: https://www.ebay.com/usr/google
[+] Euw: https://euw.op.gg/summoner/userName=google
[+] Fiverr: https://www.fiverr.com/google
[+] Flickr: https://www.flickr.com/people/google
...................
...................
[+] uid: http://uid.me/google
[+] warriorforum: https://www.warriorforum.com/members/google.html
[+] windy: https://community.windy.com/user/google

The above output is saved in the same directory with the username you have searched. In the above example, I searched for “google“, so the file in which the result is saved is google.txt.

 

Different Options in Sherlock

 

You can use Sherlock in a variety of ways like to narrow down your search or find multiple usernames in one go. Let me introduce some of the helpful search options.

 

Search for more than one user: To search for more than 1 username, you can mention different usernames separated by space. Though it will search for the username one-by-one.

$ sudo python3 sherlock.py google facebook

 

Search by Alexa.com Rank: You can use “-r” switch to search websites ordered by their Alexa.com global rank in popularity.

$ sudo python3 sherlock.py -r google

[*] Checking username google on:
[-] ResearchGate: Illegal Username Format For This Site!
[-] CashMe: Not Found!
[+] Designspiration: https://www.designspiration.net/google/
[-] Redsun.tf: Not Found!
[+] nnRU: https://google.www.nn.ru/
[+] windy: https://community.windy.com/user/google
[-] PlayStore: Not Found!
[+] YouTube: https://www.youtube.com/google
[+] Facebook: https://www.facebook.com/google
[-] Wikipedia: Not Found!
[+] Reddit: https://www.reddit.com/user/google
[+] VK: https://vk.com/google
[+] Twitch: https://www.twitch.tv/google
[-] Instagram: Not Found!
[+] Twitter: https://www.twitter.com/google

 

Show only found usernames

$ sudo python3 sherlock.py --print-found tech2blog

[*] Checking username tech2blog on:
[+] About.me: https://about.me/tech2blog
[+] Blogger: https://tech2blog.blogspot.com
[+] BuyMeACoffee: https://buymeacoff.ee/tech2blog
[+] DEV Community: https://dev.to/tech2blog
[+] Disqus: https://disqus.com/tech2blog
[+] Ello: https://ello.co/tech2blog
[+] Facebook: https://www.facebook.com/tech2blog
[+] GitHub: https://www.github.com/tech2blog
[+] Investing.com: https://www.investing.com/traders/tech2blog
[+] ProductHunt: https://www.producthunt.com/@tech2blog
[+] SoundCloud: https://soundcloud.com/tech2blog
[+] TikTok: https://www.tiktok.com/@tech2blog
[+] Twitter: https://www.twitter.com/tech2blog
[+] VK: https://vk.com/tech2blog
[+] Wikipedia: https://www.wikipedia.org/wiki/User:tech2blog
[+] WordPress: https://tech2blog.wordpress.com/
[+] YandexCollection: https://yandex.ru/collections/user/tech2blog/
[+] YouTube: https://www.youtube.com/tech2blog
[+] authorSTREAM: http://www.authorstream.com/tech2blog/
[+] radio_echo_msk: https://echo.msk.ru/users/tech2blog

There are a few other options available as shown below, so just try them and let me know which one you like the most.

$ sudo python3 sherlock.py --help
usage: sherlock.py [-h] [--version] [--verbose] [--rank]
                   [--folderoutput FOLDEROUTPUT] [--output OUTPUT] [--tor]
                   [--unique-tor] [--csv] [--site SITE_NAME]
                   [--proxy PROXY_URL] [--json JSON_FILE]
                   [--proxy_list PROXY_LIST] [--check_proxies CHECK_PROXY]
                   [--timeout TIMEOUT] [--print-found] [--no-color] [--browse]
                   USERNAMES [USERNAMES ...]

I hoped you liked this tutorial and now know how to automate your social media username search and get faster results. If you have any doubts or getting any error then please let me know through your comments.

If you liked the article, do share it with your friends and on social media channels. For more such article, please subscribe to Tech2Blog.com. Subscription is 100% FREE.