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.
Features
- ✅ 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.
Installation
Usage
Scan 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
Screenshot:
- Note*: New modules are constantly getting added so this might have only limited, outdated output:


Contributing:
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.
Dependencies:
License
This project is licensed under the MIT License. See LICENSE for details.