OSINTverse

otlite · Username

Install Sherlock on Linux or macOS in one command

Sherlock checks a username against several hundred sites and reports where a profile with that exact handle exists. It returns a list of profile URLs, nothing about who owns them.

Sherlock in three lines

pipx install otlite
otlite install sherlock
otlite run sherlock -- u:jane_doe

Runs sherlock-project/sherlock (MIT, ★ 93k, otlite 1.2.1, catalog updated Oct 23, 2026). otlite installs and runs it at a tested version; it does not change or verify the tool itself.

What Sherlock is for

  • A first pass on a handle before deeper work.
  • Spotting which platforms a brand or project name is already taken on.
  • Feeding profile URLs into socid-extractor or Maigret for details.

Typed inputs for Sherlock

otlite translates these prefixes into Sherlock's own flags. Anything else after -- is passed through unchanged, so every original flag still works.

u:
Username · otlite run sherlock -- u:jane_doe

Run every installed tool that takes the same input at once: otlite run --all u:jane_doe

Where the results go

Every run lands under ./results/sherlock/<target>/ as a timestamped output file, a .meta.json sidecar (the exact command, start and end time, exit code, and the SHA-256 of the output), and a .envelope.json with the entities found, in the same shape for every tool. List runs with otlite results, group them with --case, compare the last two with otlite diff sherlock <target>, and pull indicators out with otlite extract sherlock.

Before you run it

  • Sites change their responses often, so expect a few false positives; open each hit.
  • Rate limits on popular sites can mark a profile as missing when it exists. Re-run with --timeout raised.

Update, remove, inspect

otlite info sherlock      # inputs, keys, an example command
otlite example sherlock   # sample output, where there is one
otlite update sherlock    # move to the next tested version
otlite remove sherlock    # delete its virtualenv

Full reference: the otlite docs, and the tool's own README on GitHub.

Pairs with

Maigret searches a username across thousands of sites and, where it finds a profile, extracts the public fields on it: display name, bio, location, linked accounts.
socialscan asks a short list of major platforms whether a username or email is available, taken, or invalid, using their own sign-up validation.
Nexfil checks a username against a few hundred sites and prints the profile URLs that exist.

When open-source isn't enough

Sherlock tells you where a handle exists. SearchIn's people-search and leak providers return the profile fields and breach records behind it.

People & identity
People & identity
Breach intelligence

FAQ

Sherlock with otlite, answered

How do I install Sherlock on Kali, Ubuntu, or macOS?

Install otlite once with pipx install otlite (or the one-line installer on the otlite page), run otlite init, then otlite install sherlock. The tool lands in its own virtualenv under ~/.otlite/, pinned to a version that was tested, so nothing touches your system Python. otlite doctor prints the command that fixes a missing git or venv module.

Which inputs does Sherlock take through otlite?

u: (username). otlite maps each prefix to Sherlock's own flag. Everything after -- that is not a typed input is passed through unchanged, so the original flags still work.

Where does otlite save Sherlock results?

Under ./results/sherlock/<target>/ in the folder you run from, as a timestamped output file plus a .meta.json sidecar (the exact command, timing, exit code, and SHA-256) and a .envelope.json with the entities found. Add --case <name> to group runs, otlite results to list them, and otlite diff sherlock <target> to compare the last two.

Does Sherlock need an API key or a login?

No key is required for the basic run. Optional keys, where the project supports them, go in with otlite keys set NAME and are passed only to tools that declare them.

Can I run Sherlock together with other tools?

Yes. otlite run --all u:jane_doe runs every installed tool that takes username input, in parallel, including Sherlock. Save the combination as a playbook to repeat it.

Why does Sherlock report accounts that do not exist?

Some sites answer every profile URL with a page instead of a 404, and Sherlock's detection rule for that site may be stale. Treat the output as leads and open each one. Running Maigret on the same handle gives a second opinion.