Scan a username across multiple social, developer, and creator platforms to see if it’s available.
Perfect for finding a unique username across GitHub, Twitter, Reddit, Instagram, and more, all in one command.
- ✅ Check usernames across social networks, developer platforms, and creator communities.
- ✅ Clear Available / Taken / Error output for each platform.
- ✅ Robust error handling: It prints the exact reason (e.g. Cannot use underscores, hyphens at the start/end)
- ✅ Fully modular: add new platform modules easily.
- ✅ Wildcard-based username permutations for automatic variation generation using provided suffix
- ✅ Command-line interface ready: works directly after
pip install - ✅ Can be used as username OSINT tool.
- ✅ Very low and lightweight dependencies, can be run on any machine.
pip install user-scannerScan a username across all platforms:
user-scanner -u <username>Optionally, scan a specific category or single module:
user-scanner -u <username> -c dev
user-scanner -l # Lists all available modules
user-scanner -u <username> -m github
user-scanner -u <username> -p <suffix>
Generate multiple username variations by appending a suffix:
user-scanner -u <username> -p <suffix>
Optionally, scan a specific category or single module with limit:
user-scanner -u <username> -p <suffix> -c dev
user-scanner -u <username> -p <suffix> -m github
user-scanner -u <username> -p <suffix> -s <number> # limit generation of usernames
user-scanner -u <username> -p <suffix> -d <seconds> #delay to avoid rate-limits- Note*: New modules are constantly getting added so this might have only limited, outdated output:
Modules are organized by category:
user_scanner/
├── dev/ # Developer platforms (GitHub, GitLab, etc.)
├── social/ # Social platforms (Twitter/X, Reddit, Instagram, etc.)
├── creator/ # Creator platforms (Hashnode, Dev.to, Medium, etc.)
├── community/ # Community platforms (forums, niche sites)
├── gaming/ # Gaming sites (chess.com, roblox, monkeytype etc.)
├── donation/ # Donation taking sites (buymeacoffe.com, similar...)
Module guidelines:
This project contains small "validator" modules that check whether a username exists on a given platform. Each validator is a single function that returns a Result object (see core/orchestrator.py).
Result semantics:
- Result.available() →
available - Result.taken() →
taken - Result.error(message: Optional[str]) →
error, blocked, unknown, or request failure (include short diagnostic message when helpful)
Follow this document when adding or updating validators.
See CONTRIBUTING.md for examples.
This project is licensed under the MIT License. See LICENSE for details.
