Other Detection Methods in Holehe: Extracting Metadata from Odnoklassniki Accounts

Holehe's "Other" detection methods extract supplementary metadata beyond simple existence checks, specifically returning FullName and account creation timestamps from Odnoklassniki while leaving the others field as None for all other services.

Holehe is an open-source email OSINT tool that checks whether an email address is registered across hundreds of services. While most modules return only a binary exists flag, the "Other" detection methods populate an others dictionary with additional account metadata. According to the megadose/holehe source code, only the Odnoklassniki module currently implements this enrichment feature.

How Other Detection Methods Work in Holehe

Each service module in Holehe returns a standardized dictionary containing fields like exists, emailrecovery, and phoneNumber. The others key is reserved for service-specific metadata that goes beyond basic registration confirmation.

In holehe/core.py, the central orchestration engine aggregates results from each module and formats the output. When a module populates the others field with a dictionary rather than None, Holehe renders this additional context in the CLI output. Currently, only holehe/modules/social_media/odnoklassniki.py utilizes this capability to expose account metadata.

Odnoklassniki Module: The Primary Other Detection Implementation

The Odnoklassniki module demonstrates how Other detection methods enrich OSINT results by scraping profile data during the existence verification process.

Extracted Metadata Fields

When the module detects a registered account, it extracts two specific data points:

  1. FullName – The display name associated with the Odnoklassniki profile.
  2. Date, time of the creation – The exact timestamp indicating when the account was created.

These values populate the others dictionary with string keys matching the exact field names used by the service's response structure.

Source Implementation Details

In holehe/modules/social_media/odnoklassniki.py, the extraction logic parses the service's API response to isolate these metadata fields. Rather than returning a simple boolean, the module constructs a result object where others contains the parsed dictionary:

{
    "FullName": "Jane Smith",
    "Date, time of the creation": "2019-11-02 14:05:47"
}

This implementation pattern allows Holehe to display enriched intelligence while maintaining compatibility with the standard result schema used across all modules.

Output Format and Examples

When running Holehe from the command line, accounts detected via Other detection methods render with additional context following the standard [+] indicator:

$ holehe -C -T 15 email@example.com

# Output snippet (when an Odnoklassniki account exists)

[+] odnoklassniki.com / FullName Jane Smith / Date, time of the creation 2019-11-02 14:05:47

Unlike standard outputs that show only the domain and existence status, this enriched format concatenates the others key-value pairs into the result line.

Programmatic Access to Others Data

When consuming Holehe as a Python library, the others field appears in the raw result structure returned by the async core routine:

import json
from holehe.core import maincore

# ... (run the async maincore routine) ...

# A single entry from the result list might look like:

{
    "name": "odnoklassniki",
    "domain": "odnoklassniki.com",
    "rateLimit": False,
    "error": False,
    "exists": True,
    "emailrecovery": None,
    "phoneNumber": None,
    "others": {
        "FullName": "Jane Smith",
        "Date, time of the creation": "2019-11-02 14:05:47"
    }
}

All other service modules currently return "others": None, indicating no additional metadata is available for those platforms.

Extending Other Detection Methods

The architecture supports expanding Other detection methods to additional services. To implement metadata extraction for other platforms, developers must modify the corresponding module in holehe/modules/ to populate the others dictionary with relevant key-value pairs during the account verification routine. The holehe/core.py engine automatically detects non-None others values and formats them into the output stream without requiring changes to the central orchestration logic.

Summary

  • Primary implementation: Only holehe/modules/social_media/odnoklassniki.py currently utilizes Other detection methods in Holehe.
  • Extracted fields: The module returns FullName and Date, time of the creation for verified Odnoklassniki accounts.
  • Data structure: Results populate the others dictionary key with a metadata object, while all other modules return None.
  • CLI integration: Holehe automatically renders others data in the standard output format when present.
  • Extensibility: Developers can add Other detection methods to additional services by populating the others field in respective module files.

Frequently Asked Questions

What services support Other detection methods in Holehe?

Currently, only Odnoklassniki (odnoklassniki.com) implements Other detection methods. All other service modules in the Holehe repository return "others": None, meaning they do not expose metadata beyond the basic existence check.

How does the Odnoklassniki module extract account metadata?

The module in holehe/modules/social_media/odnoklassniki.py parses the service's API response during email verification to extract the profile's display name and account creation timestamp. It structures these values into a dictionary with keys FullName and Date, time of the creation, then assigns this dictionary to the others field in the result object.

Can I add Other detection methods to additional services?

Yes. To add Other detection methods to other services, you must extend the corresponding module file in holehe/modules/ to extract relevant metadata during the verification process and return it as a populated dictionary in the others field. The core engine in holehe/core.py will automatically detect and display this data without requiring modifications to the central formatting logic.

Why do most Holehe modules return None for the others field?

Most services do not expose additional metadata through their registration check endpoints, or the information requires authenticated sessions to access. The others field defaults to None to maintain a consistent schema across all modules while allowing selective enrichment only where unauthenticated metadata extraction is technically feasible and implemented.

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 →