Socialscan – Check Email Address And Username Availability On Online Platforms With 100% Accuracy

Socialscan offers accurate and fast checks for email address and username usage on online platforms. Given an email address or username, socialscan returns whether it is available, taken or invalid on online platforms.

Features that differentiate socialscan from similar tools (e.g. knowem.com, Namechk, and Sherlock):

  • 100% accuracy: socialscan’s query method eliminates the false positives and negatives that often occur in similar tools, ensuring that results are always accurate.
  • Speed: socialscan uses asyncio along with aiohttp to conduct all queries concurrently, providing fast searches even with bulk queries involving hundreds of usernames and email addresses. On a test computer with average specs and Internet speed, 100 queries were executed in ~4 seconds.
  • Library / CLI: socialscan can be executed through a CLI, or imported as a Python library to be used with existing code.
  • Email support: socialscan supports queries for both email addresses and usernames.

Also Read – HerShell : Multiplatform Reverse Shell Generator

The following platforms are currently supported:

UsernameEmail
InstagramSupported Supported
Twitter Supported Supported
GitHub Supported Supported
Tumblr Supported Supported
Lastfm Supported Supported
Snapchat Supported Not Supported
GitLab Supported Not Supported
Reddit Supported Not Supported
Yahoo Supported Not Supported
Pinterest Not Supported Supported
Spotify Not Supported Supported

Background

Other similar tools check username availability by requesting the profile page of the username in question and based on information like the HTTP status code or error text on the requested page, determine whether a username is already taken.

This is a naive approach that fails in the following cases:

  • Reserved keywords: Most platforms have a set of keywords that they don’t allow to be used in usernames
    (A simple test: try checking reserved words like ‘admin’ or ‘home’ or ‘root’ and see if other services mark them as available)
  • Deleted/banned accounts: Deleted/banned account usernames tend to be unavailable even though the profile pages might not exist

Therefore, these tools tend to come up with false positives and negatives.

This method of checking is also dependent on platforms having web-based profile pages and cannot be extended to email addresses.

Socialscan aims to plug these gaps by directly querying the registration servers of the platforms instead, retrieving the appropriate CSRF tokens, headers, and cookies.

Installation

pip

> pip install socialscan

Install from source

> git clone https://github.com/iojw/socialscan.git
> cd socialscan
> pip install.

Usage

usage: socialscan [list of usernames/email addresses to check]

optional arguments:
  -h, --help            show this help message and exit
  --platforms [platform [platform ...]], -p [platform [platform ...]]
                        list of platforms to query (default: all platforms)
  --view-by {platform,query}
                        view results sorted by platform or by query (default:
                        query)
  --available-only, -a  only print usernames/email addresses that are
                        available and not in use
  --cache-tokens, -c    cache tokens for platforms requiring more than one
                        HTTP request (Snapchat, GitHub, Instagram. Lastfm &
                        Tumblr), reducing total number of requests sent
  --input input.txt, -i input.txt
                        file containg list of queries to execute
  --proxy-list proxy_list.txt
                        file containing list of HTTP proxy servers to execute
                        queries with
  --verbose, -v         show query responses as they are received
  --version             show program's version number and exit

As a library

Socialscan can also be imported into existing code and used as a library.

v1.0.0 introduces the async method execute_queries and the corresponding synchronous wrapper sync_execute_queries that takes a list of queries and optional list of platforms and proxies, executing all queries concurrently. The method then returns a list of results in the same order.

from socialscan.util import Platforms, sync_execute_queries

queries = [“username1”, “email2@gmail.com”, “mail42@me.com”]
platforms = [Platforms.GITHUB, Platforms.LASTFM]
results = sync_execute_queries(queries, platforms)

for result in results:
print(f”{result.query} on {result.platform}: {result.message} (Success: {result.success}, Valid: {result.valid}, Available: {result.available})”)

Output:

username1 on GitHub: Username is already taken (Success: True, Valid: True, Available: False)
username1 on Lastfm: Sorry, this username isn’t available. (Success: True, Valid: True, Available: False)
email2@gmail.com on GitHub: Available (Success: True, Valid: True, Available: True)
email2@gmail.com on Lastfm: Sorry, that email address is already registered to another account. (Success: True, Valid: True, Available: False)
mail42@me.com on GitHub: Available (Success: True, Valid: True, Available: True)
mail42@me.com on Lastfm: Looking good! (Success: True, Valid: True, Available: True)

Text file input

For bulk queries with the –input option, place one username/email on each line in the .txt file:

username1
email2@mail.com
username3

R K

Recent Posts

How Web Application Firewalls (WAFs) Work

General Working of a Web Application Firewall (WAF) A Web Application Firewall (WAF) acts as…

1 day ago

How to Send POST Requests Using curl in Linux

How to Send POST Requests Using curl in Linux If you work with APIs, servers,…

1 day ago

What Does chmod 777 Mean in Linux

If you are a Linux user, you have probably seen commands like chmod 777 while…

1 day ago

How to Undo and Redo in Vim or Vi

Vim and Vi are among the most powerful text editors in the Linux world. They…

1 day ago

How to Unzip and Extract Files in Linux

Working with compressed files is a common task for any Linux user. Whether you are…

1 day ago

Free Email Lookup Tools and Reverse Email Search Resources

In the digital era, an email address can reveal much more than just a contact…

1 day ago