# What Websites Does Holehe Check for Email Registration?

> Discover the extensive list of websites Holehe checks for email registration. This tool helps you verify if your email is used across over 200 services like Instagram, Adobe, and GitHub.

- Repository: [Palenath/holehe](https://github.com/megadose/holehe)
- Tags: getting-started
- Published: 2026-08-26

---

**Holehe verifies email registration status across more than 200 online services—including GitHub, Instagram, Adobe, Amazon, Discord, and Last.fm—by dynamically loading service-specific modules defined in the `data` dictionary inside [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py).**

Holehe is an OSINT (Open Source Intelligence) tool maintained in the megadose/holehe repository that determines whether an email address is registered on various websites. Understanding exactly what websites Holehe checks for email registration is essential for security researchers assessing digital footprints and attack surfaces.

## How Holehe Defines the Website List

The definitive catalog of supported services resides in the `launch_module` function within [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py). At approximately line 66, this asynchronous function initializes a Python dictionary named `data` that maps short module identifiers to their corresponding target domain names.

### The Data Dictionary Structure

The `data` dictionary serves as the master registry, containing entries such as:

```python

# https://github.com/megadose/holehe/blob/master/holehe/core.py#L66

async def launch_module(module,email, client, out):
    data = {
        'aboutme': 'about.me',
        'adobe': 'adobe.com',
        'amazon': 'amazon.com',
        'anydo': 'any.do',
        'archive': 'archive.org',
        'armurerieauxerre': 'armurerie-auxerre.com',
        'atlassian': 'atlassian.com',
        'babeshows': 'babeshows.co.uk',
        'badeggsonline': 'badeggsonline.com',
        'biosmods': 'bios-mods.com',
        'biotechnologyforums': 'biotechnologyforums.com',
        'bitmoji': 'bitmoji.com',
        'blablacar': 'blablacar.com',
        'blackworldforum': 'blackworldforum.com',
        'blip': 'blip.fm',
        'blitzortung': 'forum.blitzortung.org',
        'bluegrassrivals': 'bluegrassrivals.com',
        'bodybuilding': 'bodybuilding.com',
        'buymeacoffee': 'buymeacoffee.com',
        'cambridgemt': 'discussion.cambridge-mt.com',
        'caringbridge': 'caringbridge.org',
        'chinaphonearena': 'chinaphonearena.com',
        'clashfarmer': 'clashfarmer.com',
        'codecademy': 'codecademy.com',
        'codeigniter': 'forum.codeigniter.com',
        'codepen': 'codepen.io',
        'coroflot': 'coroflot.com',
        'cpaelites': 'cpaelites.com',
        'cpahero': 'cpahero.com',
        'cracked_to': 'cracked.to',
        'crevado': 'crevado.com',
        'deliveroo': 'deliveroo.com',
        'demonforums': 'demonforums.net',
        'devrant': 'devrant.com',
        'diigo': 'diigo.com',
        'discord': 'discord.com',
        'docker': 'docker.com',
        'dominosfr': 'dominos.fr',
        'ebay': 'ebay.com',
        'ello': 'ello.co',
        'envato': 'envato.com',
        'eventbrite': 'eventbrite.com',
        'evernote': 'evernote.com',
        'fanpop': 'fanpop.com',
        'firefox': 'firefox.com',
        'flickr': 'flickr.com',
        'freelancer': 'freelancer.com',
        'freiberg': 'drachenhort.user.stunet.tu-freiberg.de',
        'garmin': 'garmin.com',
        'github': 'github.com',
        'google': 'google.com',
        'gravatar': 'gravatar.com',
        'imgur': 'imgur.com',
        'instagram': 'instagram.com',
        'issuu': 'issuu.com',
        'koditv': 'forum.kodi.tv',
        'komoot': 'komoot.com',
        'laposte': 'laposte.fr',
        'lastfm': 'last.fm',
        'lastpass': 'lastpass.com',
        'mail_ru': 'mail.ru',
        'mybb': 'community.mybb.com',
        'myspace': 'myspace.com',
        'nattyornot': 'nattyornotforum.nattyornot.com',
        'naturabuy': 'naturabuy.fr',
        'ndemiccreations': 'forum.ndemiccreations.com',
        'nextpvr': 'forum.nextpvr.com',
        # ... (dictionary continues with more than 200 entries)

    }

```

Each key in this dictionary corresponds to a Python file under `holehe/modules/` that implements the specific HTTP logic required to probe that service.

## Categories of Supported Websites

The `data` dictionary covers diverse service categories, with modules organized into logical subdirectories under `holehe/modules/`.

### Social Media and Communication

- **Instagram** (`instagram.com`)
- **Discord** (`discord.com`)
- **GitHub** (`github.com`)
- **Ello** (`ello.co`)
- **Fanpop** (`fanpop.com`)
- **Imgur** (`imgur.com`)
- **MySpace** (`myspace.com`)
- **Gravatar** (`gravatar.com`)

### Software and Developer Services

- **Adobe** (`adobe.com`)
- **Docker** (`docker.com`)
- **Atlassian** (`atlassian.com`)
- **CodePen** (`codepen.io`)
- **Codecademy** (`codecademy.com`)
- **Evernote** (`evernote.com`)
- **LastPass** (`lastpass.com`)
- **Firefox** (`firefox.com`)

### E-commerce and Retail

- **Amazon** (`amazon.com`)
- **eBay** (`ebay.com`)
- **Deliveroo** (`deliveroo.com`)
- **Domino's France** (`dominos.fr`)
- **Envato** (`envato.com`)

### Forums and Community Platforms

- **Bodybuilding.com** (`bodybuilding.com`)
- **DevRant** (`devrant.com`)
- **Blablacar** (`blablacar.com`)
- **BlackWorldForum** (`blackworldforum.com`)
- **Various specialized forums** (e.g., `forum.codeigniter.com`, `forum.kodi.tv`)

### Adult Content and Specialized Services

- **Adult platforms** located in `holehe/modules/porn/` (e.g., `babeshows.co.uk`)
- **Armurerie Auxerre** (`armurerie-auxerre.com`)
- **NaturaBuy** (`naturabuy.fr`)

## How Holehe Checks Email Registration

Holehe employs an asynchronous architecture to查询 these services efficiently without authentication. The execution flow follows this pattern:

1. **Module Discovery**: The tool imports every submodule in the `holehe.modules` package via [`holehe/modules/__init__.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/__init__.py).

2. **Function Collection**: It gathers callable check functions using `get_functions()` to identify which services to probe.

3. **Async Execution**: For each module, it starts an asynchronous task invoking `launch_module()`, passing the target email, an `httpx.AsyncClient` instance, and a shared results list.

4. **Result Processing**: Each service-specific module returns a dictionary indicating whether the email exists, along with any recovered metadata such as password hints, phone numbers, or profile information. Rate-limited or failed requests are flagged accordingly.

## Command-Line Usage Examples

Holehe provides granular control over which checks to perform and how to format results.

### Basic Email Check

Execute checks against all supported websites:

```bash
holehe test@example.com

```

This command queries every domain listed in the `data` dictionary and prints a color-coded summary indicating registration status.

### Export Results to CSV

Generate a machine-readable report:

```bash
holehe test@example.com --csv

```

The `--csv` flag triggers the `export_csv()` function, writing results to `holehe_<timestamp>_test@example.com_results.csv`.

### Show Only Registered Sites

Filter output to display confirmed hits only:

```bash
holehe test@example.com --only-used

```

The `--only-used` flag suppresses entries where the email was not found or the request failed.

### Disable Password Recovery Attempts

Limit checks to non-sensitive endpoints:

```bash
holehe test@example.com --no-password-recovery

```

This excludes services that rely on password-recovery logic, such as Adobe or Mail.ru.

## Key Source Files

Understanding the codebase structure clarifies how the website list is maintained:

- **[`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py)**: Contains the main entry point, argument parsing, the `launch_module` function, and the definitive `data` dictionary mapping modules to domains.

- **[`holehe/modules/__init__.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/__init__.py)**: Package initializer enabling dynamic discovery of all service modules.

- **`holehe/modules/social_media/`**: Implements checks for social platforms (e.g., [`facebook.py`](https://github.com/megadose/holehe/blob/main/facebook.py), [`twitter.py`](https://github.com/megadose/holehe/blob/main/twitter.py), [`instagram.py`](https://github.com/megadose/holehe/blob/main/instagram.py)).

- **`holehe/modules/software/`**: Contains modules for software-related services (e.g., [`adobe.py`](https://github.com/megadose/holehe/blob/main/adobe.py), [`lastpass.py`](https://github.com/megadose/holehe/blob/main/lastpass.py), [`docker.py`](https://github.com/megadose/holehe/blob/main/docker.py)).

- **`holehe/modules/porn/`**: Houses modules for adult-content platforms (e.g., [`pornhub.py`](https://github.com/megadose/holehe/blob/main/pornhub.py)).

- **`holehe/modules/osint/`**: OSINT-focused modules such as [`rocketreach.py`](https://github.com/megadose/holehe/blob/main/rocketreach.py).

## Summary

- Holehe checks email registration against **over 200 websites** spanning social media, software services, forums, e-commerce, and adult content platforms.
- The complete list of supported sites is defined in the **`data` dictionary** within the `launch_module` function in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py).
- Each website has a dedicated Python module under **`holehe/modules/`** implementing service-specific HTTP verification logic.
- The tool uses **asynchronous HTTP requests** via `httpx.AsyncClient` for efficient parallel checking.
- Results can be filtered using CLI flags like `--only-used` or exported via `--csv` for further analysis.

## Frequently Asked Questions

### How many websites does Holehe check?

Holehe checks more than 200 distinct websites and online services. The exact number grows as the community adds new modules to the `holehe/modules/` directory and corresponding entries to the `data` dictionary in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py).

### Where is the definitive list of supported websites located?

The authoritative list resides in the `launch_module` function inside [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) (approximately line 66). This function defines a dictionary named `data` that maps short module identifiers (e.g., `'github'`, `'instagram'`) to their respective domain names (e.g., `'github.com'`, `'instagram.com'`).

### Can I add custom websites to Holehe?

Yes. To add a new service, create a Python module in the appropriate subdirectory under `holehe/modules/` (such as `holehe/modules/custom/`) implementing the required check function. Then add the module name and domain mapping to the `data` dictionary in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py). The module must accept an `httpx.AsyncClient`, email string, and return a standardized result dictionary.

### Does Holehe work with all email providers?

Holehe accepts any valid email format (e.g., `user@example.com`). However, success rates vary based on individual service protections, including rate limiting, CAPTCHA mechanisms, and API endpoint changes that may require module updates in the source code.