Holehe Module Categories: Complete Guide to 21 OSINT Reconnaissance Types
Holehe organizes its email reconnaissance checks into 21 distinct module categories, each represented as a sub-package under holehe/modules with individual Python files implementing specific service checks.
Holehe is an open-source OSINT tool for checking whether an email address is registered on various online services. The megadose/holehe repository structures these checks into logical module categories based on service type. Understanding these categories helps security researchers and investigators target specific platforms during reconnaissance operations.
How Module Categories Are Structured in Holehe
The category system in Holehe follows a simple folder hierarchy. Each category is a sub-directory under holehe/modules/, and each service implementation is a standalone Python file within that directory.
For example, checking if an email has a Facebook account uses the module at holehe/modules/social_media/facebook.py. The core engine in holehe/core.py discovers and loads these modules dynamically at runtime.
This architecture makes the tool extensible: adding support for a new service requires only placing a properly structured Python file in the appropriate category folder.
The 21 Module Categories in Holehe
Holehe currently supports the following module categories, with representative examples for each:
Social Media
The most extensive category, covering major platforms. facebook.py in holehe/modules/social_media/ implements checks for Facebook account existence via email lookup.
Transport
Ride-sharing and travel services. blablacar.py in holehe/modules/transport/ checks the European carpooling platform BlaBlaCar.
Sport
Fitness and sports-related platforms. bodybuilding.py in holehe/modules/sport/ targets the Bodybuilding.com community.
Software
Enterprise and consumer software services. office365.py in holehe/modules/software/ detects Microsoft 365 organizational tenants.
Shopping
E-commerce and retail platforms. vivino.py in holehe/modules/shopping/ checks the wine e-commerce community Vivino.
Real Estate
Property rental and sales platforms. vrbo.py in holehe/modules/real_estate/ targets the vacation rental service Vrbo.
Programming
Developer and code-hosting platforms. github.py in holehe/modules/programing/ (note the spelling) checks GitHub account registration.
Productivity
Note-taking and workflow tools. evernote.py in holehe/modules/productivity/ checks Evernote account status.
Payment
Financial and money transfer services. venmo.py in holehe/modules/payment/ verifies Venmo account existence.
OSINT
Intelligence and professional data services. rocketreach.py in holehe/modules/osint/ checks the RocketReach professional contact database.
Music
Streaming and audio platforms. spotify.py in holehe/modules/music/ implements Spotify account verification.
Medical
Health and wellness communities. sevencups.py in holehe/modules/medical/ checks the 7 Cups emotional support platform.
Medias
Photo and video hosting services. flickr.py in holehe/modules/medias/ targets the Yahoo photo sharing service.
Mails
Email service providers. google.py in holehe/modules/mails/ checks Gmail/Google account registration (named google.py rather than gmail.py).
Learning
Educational and knowledge platforms. quora.py in holehe/modules/learning/ verifies Quora account existence.
Jobs
Employment and freelance marketplaces. freelancer.py in holehe/modules/jobs/ checks the Freelancer.com platform.
Forum
Community discussion boards. thevapingforum.py in holehe/modules/forum/ targets a specific vaping community.
Crowdfunding
Donation and fundraising platforms. buymeacoffee.py in holehe/modules/crowfunding/ (note the spelling) checks Buy Me a Coffee creator accounts.
CRM
Customer relationship management tools. hubspot.py in holehe/modules/crm/ checks HubSpot user registration.
Company
Professional identity and business platforms. aboutme.py in holehe/modules/company/ verifies About.me profile existence.
CMS
Content management systems. wordpress.py in holehe/modules/cms/ checks WordPress.com account registration.
Working with Module Categories Programmatically
You can import and run specific modules directly from their category paths:
from holehe.core import Core
from holehe.modules.social_media.facebook import Facebook
core = Core()
result = Facebook().run(email="example@example.com")
print(result)
To list all available modules and their categories, use the CLI:
holehe -l
This outputs each module prefixed with its category, such as social_media.facebook, payment.venmo, or crm.hubspot.
Key Architecture Files Supporting Module Categories
Several core files enable this category system:
holehe/modules/__init__.py— Package initializer that exposes all category sub-packagesholehe/core.py— Central engine handling module discovery, categorization, and executionholehe/instruments.py— Shared HTTP utilities and response parsers used across categoriesholehe/localuseragent.py— Request header rotation for all module requests
These components work together to provide a consistent interface regardless of which category a module belongs to.
Summary
- Holehe uses 21 module categories organized as sub-packages under
holehe/modules/ - Each category contains Python files implementing service-specific email registration checks
- Categories range from social_media and payment to specialized niches like medical and real_estate
- The dynamic loading system in
holehe/core.pydiscovers modules automatically from this folder structure - Adding new services requires only creating a properly structured file in the appropriate category folder
Frequently Asked Questions
How do I add a new service to an existing category in Holehe?
Create a new Python file in the appropriate holehe/modules/<category>/ directory. The file must expose a class matching the module name with a run() method that accepts an email parameter. Follow the pattern in existing files like holehe/modules/social_media/facebook.py. The core engine will auto-discover your module on the next run.
Can I run modules from only one category at a time?
Yes. Use the module prefix filter when running Holehe. The CLI accepts category patterns, and the Python API allows importing specific modules directly from their category path (e.g., from holehe.modules.payment import venmo).
Why is the Programming category spelled "programing" in the source code?
The directory is named programing/ (one 'm') in the megadose/holehe repository. This is an intentional spelling variation in the codebase. Import statements and file paths must use this spelling: holehe/modules/programing/github.py.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →