Different Categories of Modules in Holehe: Complete Guide to 21 Reconnaissance Categories

Holehe organizes its email reconnaissance capabilities into 21 distinct module categories—including Social Media, Payment, OSINT, and CRM—each implemented as a sub-package under holehe/modules/ in the megadose/holehe repository.

Holehe is an open-source intelligence (OSINT) tool designed to detect where an email address is registered online. Rather than monolithic code, the project uses a modular architecture that groups reconnaissance checks into logical categories based on the industry or service type of the target platform.

The 21 Module Categories in Holehe

The source code defines module categories through the folder hierarchy under holehe/modules/. Each category contains Python files that implement checks for specific services. Below are all categories currently implemented:

How Module Categories Are Structured

Holehe's architecture treats each category as a Python sub-package. The holehe/modules/__init__.py file initializes the package structure, while individual service checks reside as Python files within their respective category folders.

Every module file exposes a module class that implements the specific reconnaissance logic for that service. For example, holehe/modules/social_media/facebook.py contains the Facebook-specific check logic, while holehe/modules/payment/venmo.py handles Venmo registration detection.

The central engine in holehe/core.py handles module discovery and execution across all categories. This file dynamically loads available modules and routes email checks to the appropriate service implementations.

Working with Module Categories programmatically

You can interact with specific categories directly by importing individual modules.


# Example: Running a specific module category check

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 see all available modules organized by category, use the CLI helper:


# Example: Listing all available modules

$ holehe -l

# Output shows each module prefixed with its category:

# social_media.facebook

# payment.venmo

# crm.hubspot

# transport.blablacar

# ...

Shared Infrastructure Across Categories

Modules across all categories rely on shared utilities implemented in the root of the package:

  • holehe/instruments.py: Contains shared HTTP utilities and response parsers used by modules in every category
  • holehe/localuseragent.py: Manages rotating user-agent strings for requests made by category modules
  • holehe/core.py: The central dispatcher that orchestrates checks across the 21 categories

This design ensures that adding support for a new service requires only creating a new Python file in the appropriate category folder under holehe/modules/, without modifying core engine code.

Summary

  • Holehe organizes reconnaissance checks into 21 module categories ranging from Social Media to Payment systems
  • Each category is a sub-package under holehe/modules/ containing service-specific Python files
  • The module class in each file implements the check logic for that particular service
  • holehe/core.py handles dynamic discovery and execution across all categories
  • Adding new services involves placing Python files in existing category folders or creating new category directories

Frequently Asked Questions

How many module categories does Holehe have?

Holehe contains 21 module categories as defined by the sub-package structure under holehe/modules/. These range from common categories like Social Media and Payment to specialized ones like Real Estate, Medical, and Crowdfunding.

Where are Holehe modules physically stored in the repository?

Modules are stored in the holehe/modules/ directory, with each category represented as a sub-folder (e.g., holehe/modules/osint/, holehe/modules/crm/). Individual service checks are Python files within these folders, such as holehe/modules/mails/google.py for Gmail checks.

Can I add a new service category to Holehe?

Yes, you can extend Holehe by creating a new folder under holehe/modules/ for your category, then adding Python files that expose a module class implementing the run() method. The holehe/core.py discovery engine automatically picks up new categories and modules at runtime without requiring registry updates.

What is the difference between a module category and a module in Holehe?

A module category is the logical grouping (the folder name under holehe/modules/) representing an industry or service type (e.g., "social_media"). A module is the specific Python file within that category implementing the check for one service (e.g., facebook.py within social_media/).

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →