Username search tools: what sherlock, maigret, naminter and socialscan each find
Four free username search tools side by side, from their manifests. What each takes, what it finds, what it needs, and when to pick it.
Four open-source username search tools on the registry look alike but answer different questions.
sherlock checks 400+ sites and lists the accounts that exist.
maigret can check 3,000+ sites and also collects the details those profiles
expose. naminter works through the WhatsMyName site list with browser-like
requests. socialscan asks a handful of major platforms and also takes an email
address. None needs an API key, and each is a single ot run away.
What follows comes from each package’s manifest: what it declares it takes, finds and needs. There are no ratings or scores here. Each tool’s page shows whether it passed its nightly health check.
At a glance
- sherlock takes a username, checks 400+ sites, and finds accounts and their URLs.
- maigret takes a username, checks 3,000+ sites (the 500 most popular by default), and finds accounts, URLs and details about the person.
- naminter takes a username, checks the sites on the WhatsMyName list, and finds accounts and their URLs.
- socialscan takes a username or an email address, checks a handful of major platforms, and finds accounts.
sherlock, maigret and socialscan are Python packages from PyPI, which ot builds into a container of their own;
naminter is a Docker image. The packages stop a run after 15 minutes (sherlock and naminter), 20 minutes (maigret)
or 5 minutes (socialscan).
All four go online, and all four declare the same ethics flags: they don’t contact the person, don’t log in to any account, and return personal data, so handle the results under your legal basis.
sherlock: where the username exists
ot run osintverse-community/sherlock u:johndoe
Sherlock asks each of 400+ sites whether a profile with that name exists, giving each 20 seconds, and the package
prints only the ones that do. Its output is a line per account, [+] GitHub: https://www.github.com/github, which
ot turns into URL and domain entities. Pick it for a first sweep of where a handle is in use. --site GitHub
checks one site. Installing it by hand goes wrong in a few familiar ways; the post on
installing Sherlock covers them, and what its saved result looks like.
maigret: the accounts and what they say
ot run osintverse-community/maigret u:johndoe
Maigret knows 3,000+ sites and checks the 500 most popular by default; the top_sites input changes the number, and
--site checks one. Besides accounts and URLs, its manifest declares a person output: it reads the profiles it
finds for the details they expose. Pick it when you want more than a list of links, and allow for a longer run:
the package gives it up to 20 minutes.
naminter: the WhatsMyName list
ot run osintverse-community/naminter u:johndoe --category coding
Naminter works through the WhatsMyName list of sites, sending requests that look like a browser’s. --category
limits it to one WhatsMyName category, such as coding or social. It is the one Docker image of the four: its
package installs the upstream release from PyPI together with the Pango libraries its PDF export needs, system
libraries that pip can’t install for you. Pick it when you want WhatsMyName’s coverage of a username.
socialscan: a few platforms, an email too
ot run osintverse-community/socialscan --query johndoe
ot run osintverse-community/socialscan --query someone@example.com
Socialscan covers far fewer platforms than the others but uses their own availability checks, and its single
query input takes a username or an email address. In our test run with an email address it answered eight
platforms in under three seconds, two of them with a rate-limit error: an error means “ask again later”, not “no
account”. Pick it to settle the question for the big platforms quickly, or when what you have is an email address.
Running more than one
You rarely need just one. These commands run several against the same username and save every result in the same shape:
ot playbook username-investigation u:johndoe
ot run --all u:johndoe
ot auto johndoe
The bundled username-investigation playbook runs sherlock and maigret, and offers to install them first.
ot run --all runs every installed tool that takes a username, and ot auto guesses that johndoe is a username
and does the same. Then ot extract sherlock collects what every saved sherlock run found, and
ot diff sherlock johndoe shows what changed between the last two runs, which is useful when you check the same
handle again a month later.
Other username tools on the registry
- user-scanner checks 2,700+ sites for a username or an email address, and skips the checks that could send the account owner an email or alert.
- social-analyzer finds profiles across 1,000+ websites and gives each one a confidence level of its own.
- investigo checks which of hundreds of websites have an account with the username.
- osgint looks up one GitHub user: profile, SSH and GPG keys, and the email addresses in their commits.
- username-permutations works the other way round: it turns a person’s full name into likely usernames to search with the tools above, offline.
Every tool that takes a username is listed on one page, with what each finds and whether it needs a key. The username investigation guide walks through a whole case, from the first search to writing it up.
More posts · Changelog · This post as Markdown