New to Claude Skills? Learn how to install them →

nousresearch on GitHub

Sherlock OSINT Search

Free

Find usernames across 400+ social networks.

Get this skill

Free · Opens the source repo

What Sherlock OSINT Search does

Sherlock is a powerful tool designed for conducting online searches for usernames across over 400 social media platforms. Utilizing the Sherlock Project, this skill enables users to efficiently hunt down accounts associated with a specific username, making it invaluable for OSINT (Open Source Intelligence) and reconnaissance research. Whether you need to verify the availability of a username or track down a user's presence on various platforms, Sherlock streamlines the process with a simple command-line interface.

To get started, users must have the Sherlock CLI installed, which can be done easily using pip or Docker. Once installed, the skill allows you to extract usernames directly from user queries, ensuring that the search is tailored to the exact input provided. The default command executes a search that prints found accounts, while also allowing for optional flags to include NSFW sites or route searches through Tor for anonymity, though these options are only utilized upon user request.

The output from Sherlock is straightforward, presenting a summary of found accounts along with categorized links based on platform type. This makes it easy to navigate results and quickly access the relevant social media profiles. Additionally, results are saved to a text file for future reference, providing a permanent record of the search.

Sherlock is particularly useful for security professionals, researchers, and anyone interested in verifying online identities or conducting thorough background checks. Its ability to aggregate data from numerous sources saves time and enhances the accuracy of username searches, making it an essential tool for anyone involved in digital investigations.

When to use it

Use this skill when you need to find accounts linked to a username or check username availability on various social networks.

When not to use it

Avoid using this skill for usernames that you do not have permission to investigate, or for illegal activities such as harassment or stalking.

What you can build with it

Finding a Username on Social Media

A user asks to check if the username 'johndoe123' exists on various platforms. The skill runs a search and presents the found accounts.

Verifying Username Availability

A user wants to know if 'alice' is available across social networks. The skill checks and provides a list of platforms where the username is taken.

Conducting OSINT Research

A researcher needs to gather information on a subject's online presence. The skill efficiently compiles data from multiple social media sites.

How to install Sherlock OSINT Search

View source

1. Install with the skills CLI

npx skills add nousresearch/hermes-agent/sherlock --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by nousresearch

Sherlock OSINT Username Search

Hunt down social media accounts by username across 400+ social networks using the Sherlock Project.

When to Use

  • User asks to find accounts associated with a username
  • User wants to check username availability across platforms
  • User is conducting OSINT or reconnaissance research
  • User asks "where is this username registered?" or similar

Requirements

  • Sherlock CLI installed: pipx install sherlock-project or pip install sherlock-project
  • Alternatively: Docker available (docker run -it --rm sherlock/sherlock)
  • Network access to query social platforms

Procedure

1. Check if Sherlock is Installed

Before doing anything else, verify sherlock is available:

sherlock --version

If the command fails:

  • Offer to install: pipx install sherlock-project (recommended) or pip install sherlock-project
  • Do NOT try multiple installation methods — pick one and proceed
  • If installation fails, inform the user and stop

2. Extract Username

Extract the username directly from the user's message if clearly stated.

Examples where you should NOT use clarify:

  • "Find accounts for nasa" → username is nasa
  • "Search for johndoe123" → username is johndoe123
  • "Check if alice exists on social media" → username is alice
  • "Look up user bob on social networks" → username is bob

Only use clarify if:

  • Multiple potential usernames mentioned ("search for alice or bob")
  • Ambiguous phrasing ("search for my username" without specifying)
  • No username mentioned at all ("do an OSINT search")

When extracting, take the exact username as stated — preserve case, numbers, underscores, etc.

3. Build Command

Default command (use this unless user specifically requests otherwise):

sherlock --print-found --no-color "<username>" --timeout 90

Optional flags (only add if user explicitly requests):

  • --nsfw — Include NSFW sites (only if user asks)
  • --tor — Route through Tor (only if user asks for anonymity)

Do NOT ask about options via clarify — just run the default search. Users can request specific options if needed.

4. Execute Search

Run via the terminal tool. The command typically takes 30-120 seconds depending on network conditions and site count.

Example terminal call:

{
  "command": "sherlock --print-found --no-color \"target_username\"",
  "timeout": 180
}

5. Parse and Present Results

Sherlock outputs found accounts in a simple format. Parse the output and present:

  1. Summary line: "Found X accounts for username 'Y'"
  2. Categorized links: Group by platform type if helpful (social, professional, forums, etc.)
  3. Output file location: Sherlock saves results to <username>.txt by default

Example output parsing:

[+] Instagram: https://instagram.com/username
[+] Twitter: https://twitter.com/username
[+] GitHub: https://github.com/username

Present findings as clickable links when possible.

Pitfalls

No Results Found

If Sherlock finds no accounts, this is often correct — the username may not be registered on checked platforms. Suggest:

  • Checking spelling/variation
  • Trying similar usernames with ? wildcard: sherlock "user?name"
  • The user may have privacy settings or deleted accounts

Timeout Issues

Some sites are slow or block automated requests. Use --timeout 120 to increase wait time, or --site to limit scope.

Tor Configuration

--tor requires Tor daemon running. If user wants anonymity but Tor isn't available, suggest:

  • Installing Tor service
  • Using --proxy with an alternative proxy

False Positives

Some sites always return "found" due to their response structure. Cross-reference unexpected results with manual checks.

Rate Limiting

Aggressive searches may trigger rate limits. For bulk username searches, add delays between calls or use --local with cached data.

Installation

pipx (recommended)

pipx install sherlock-project

pip

pip install sherlock-project

Docker

docker pull sherlock/sherlock
docker run -it --rm sherlock/sherlock <username>

Linux packages

Available on Debian 13+, Ubuntu 22.10+, Homebrew, Kali, BlackArch.

Ethical Use

This tool is for legitimate OSINT and research purposes only. Remind users:

  • Only search usernames they own or have permission to investigate
  • Respect platform terms of service
  • Do not use for harassment, stalking, or illegal activities
  • Consider privacy implications before sharing results

Verification

After running sherlock, verify:

  1. Output lists found sites with URLs
  2. <username>.txt file created (default output) if using file output
  3. If --print-found used, output should only contain [+] lines for matches

Example Interaction

User: "Can you check if the username 'johndoe123' exists on social media?"

Agent procedure:

  1. Check sherlock --version (verify installed)
  2. Username provided — proceed directly
  3. Run: sherlock --print-found --no-color "johndoe123" --timeout 90
  4. Parse output and present links

Response format:

Found 12 accounts for username 'johndoe123':

https://twitter.com/johndoe123https://github.com/johndoe123https://instagram.com/johndoe123 • [... additional links]

Results saved to: johndoe123.txt


User: "Search for username 'alice' including NSFW sites"

Agent procedure:

  1. Check sherlock installed
  2. Username + NSFW flag both provided
  3. Run: sherlock --print-found --no-color --nsfw "alice" --timeout 90
  4. Present results

Frequently asked questions about Sherlock OSINT Search

Similar skills