kaifcodec/user-scanner
π΅οΈπ« (2-in-1) Emaill and Username OSINT tool that analyzes username and email presence across multiple platforms, intended for security research, investigations, legitimate analysis
README
User Scanner
A powerful Email OSINT tool that checks if a specific email is registered on various sites, combined with username scanning for OSINT or branding β 2-in-1 tool.
Perfect for fast, accurate username and email OSINT
Also perfect for finding a unique username across GitHub, Twitter, Reddit, Instagram, and more, all in a single command.
Features
- β Email & username OSINT: check email registrations and username availability across social, developer, creator, and other platforms
- β Dual-mode usage: works as an email scanner, username scanner, or username-only tool
- β
Clear results:
Registered/Not Registeredfor emails andNot Found/Found/Errorfor usernames with precise failure reasons - β Fully modular architecture for easy addition of new platform modules
- β Bulk scanning support for usernames and emails via input files
- β Wildcard-based username permutations with automatic variation generation
- β Multiple output formats: console, JSON, and CSV, with file export support
- β Proxy support with rotation and pre-scan proxy validation
- β Smart auto-update system with interactive upgrade prompts via PyPI
Virtual Environment (optional but recommended)
# create venv
python -m venv .venvActivate venv
# Linux / macOS
source .venv/bin/activate
# Windows (PowerShell)
.venv\Scripts\Activate.ps1Installation
# upgrade pip
python -m pip install --upgrade pip
# install
pip install user-scannerImportant Flags
See Important flags here and use the tool powerfully
Usage
Basic username/email scan
Scan a single email or username across all available modules/platforms:
user-scanner -e johndoe@gmail.com # single email scanning
user-scanner -u johndoe # single username scanning Verbose mode
Use -v flag to show the url of the sites being checked
user-scanner -v -e johndoe@gmail.com -c devOutput:
...
[β] Huggingface [https://huggingface.co] (johndoe@gmail.com): Registered
[β] Envato [https://account.envato.com] (johndoe@gmail.com): Registered
[β] Replit [https://replit.com] (johndoe@gmail.com): Registered
[β] Xda [https://xda-developers.com] (johndoe@gmail.com): Registered
...Selective scanning
Scan only specific categories or single modules:
user-scanner -u johndoe -c dev # developer platforms only
user-scanner -e johndoe@gmail.com -m github # only GitHubBulk email/username scanning
Scan multiple emails/usernames from a file (one email/username per line):
- Can also be combined with categories or modules using
-c,-mand other flags
user-scanner -ef emails.txt # bulk email scan
user-scanner -uf usernames.txt # bulk username scanPattern generation
See Pattern Syntax for more details
Library mode for email_scan
Only available for user-scanner>=1.2.0
See full usage (eg. category checks, full scan) guide library usage
- Email scan example (single module):
import asyncio
from user_scanner.core import engine
from user_scanner.email_scan.dev import github
async def main():
# Engine detects 'email_scan' path -> returns "Registered" status
result = await engine.check(github, "test@gmail.com")
json_data = result.to_json() # returns JSON output
csv_data = result.to_csv() # returns CSV output
print(json_data) # prints the json data
asyncio.run(main())Output:
{
"email": "test@gmail.com",
"category": "Dev",
"site_name": "Github",
"status": "Registered",
"url": "https://github.com",
"reason": ""
}Using Proxies
Validate proxies before scanning (tests each proxy against google.com):
user-scanner -u johndoe -P proxies.txt --validate-proxies # recommendedThis will:
- Filter out non-working proxies
- Save working proxies to
validated_proxies.txt - Use only validated proxies for scanning
Screenshots:
Note: Screenshots might be outdated
β€οΈ Support the project
If this project helps you, consider supporting its development:
BTC (SegWit): bc1q0dzkuav8lq9lwu7gc457vwlda4utfcr5hpv7ka
Contributing
Modules are organized under user_scanner/:
user_scanner/
βββ email_scan/ # Currently in development
β βββ social/ # Social email scan modules (Instagram, Mastodon, X, etc.)
| βββ adult/ # Adult sites
| ...
βββ user_scan/
β βββ dev/ # Developer platforms (GitHub, GitLab, npm, etc.)
β βββ social/ # Social platforms (Twitter/X, Reddit, Instagram, Discord, etc.)
β βββ creator/ # Creator platforms (Hashnode, Dev.to, Medium, Patreon, etc.)
β βββ community/ # Community platforms (forums, StackOverflow, HackerNews, etc.)
β βββ gaming/ # Gaming sites (chess.com, Lichess, Roblox, Minecraft, etc.)
...
See detailed Contributing guidelines
Dependencies:
License
This project is licensed under the MIT License. See LICENSE for details.
β οΈ Disclaimer
This tool is provided for educational purposes and authorized security research only.
- User Responsibility: Users are solely responsible for ensuring their usage complies with all applicable laws and the Terms of Service (ToS) of any third-party providers.
- Methodology: The tool interacts only with publicly accessible, unauthenticated web endpoints. It does not bypass authentication, security controls, or access private user data.
- No Profiling: This software performs only basic yes/no availability checks. It does not collect, store, aggregate, or analyze user data, behavior, or identities.
- Limitation of Liability: The software is provided βas isβ, without warranty of any kind. The developers assume no liability for misuse or any resulting damage or legal consequences.
π οΈ Troubleshooting
Some sites may return 403 Forbidden or connection timeout errors, especially if they are blocked in your region (this is common with some adult sites).
- If a site is blocked in your region, use a VPN and select a region where you know the site is accessible.
- Then run the tool again.
These issues are caused by regional or network restrictions, not by the tool itself. If it still fails, report the error by opening an issue.
