How to Increase the Timeout for Slow Sites in Holehe

Pass the -T flag followed by the desired number of seconds (e.g., holehe -T 30 email@example.com) to override the default 10‑second limit, or edit holehe/core.py line 94 to change the default permanently.

Holehe is an asynchronous OSINT tool—maintained in the megadose/holehe repository—that checks email addresses across hundreds of services using a shared HTTP client. By default, this client enforces a 10‑second timeout on all requests, which often fails on slow or heavily rate‑limited sites. Learning how to increase the timeout for slow sites in Holehe ensures you retrieve accurate results from sluggish platforms without modifying individual modules.

How Holehe Manages Request Timeouts

Holehe constructs one shared httpx.AsyncClient at startup and passes it to every module. The timeout value originates from the CLI argument -T/--timeout, defined in holehe/core.py at lines 94‑95:

parser.add_argument("-T","--timeout", type=int , default=10,
                    required=False, dest="timeout",
                    help="Set max timeout value (default 10)")

After parsing, the value is stored in args.timeout and injected into the client constructor at lines 12‑13 of the same file. When you increase this value, the shared client waits longer for responses from slow servers.

The fastest way to accommodate slow sites is to pass a higher value via the command line. The -T flag accepts an integer representing seconds and applies globally for that execution.

Run Holehe with an extended timeout:

holehe -T 30 user@example.com

You can set any reasonable value (e.g., 45 or 60 seconds) depending on the target's responsiveness. This approach requires no code changes and reverts to the 10‑second default on the next run.

Method 2: Change the Default Timeout Permanently

If you consistently scan slow networks, modify the default value in the source code. Open holehe/core.py and locate line 94 within the argument parser section. Change the default parameter from 10 to your preferred baseline:

parser.add_argument("-T","--timeout", type=int , default=30,
                    required=False, dest="timeout",
                    help="Set max timeout value (default 30)")

Save the file and reinstall the package or run it in development mode. Every future execution will now use 30 seconds unless explicitly overridden by the -T flag.

Handling Module‑Specific Timeout Overrides

Some individual modules hardcode their own short timeouts that ignore the global client setting. For example, holehe/modules/social_media/myspace.py at line 21 passes timeout=2 directly to the request:

r = await client.get("https://myspace.com/signup/email",
                    headers=headers, timeout=2)

Similar overrides exist in holehe/modules/medical/caringbridge.py (line 36), holehe/modules/forum/onlinesequencer.py (line 23), and holehe/modules/forum/cracked_to.py (line 23). If you encounter timeouts on these specific sites after increasing the global limit, edit the module file and replace the hardcoded integer with a higher value or remove the timeout parameter entirely to inherit the global client setting.

Summary

  • Runtime adjustment: Use holehe -T <seconds> to temporarily increase the timeout for a single scan.
  • Permanent adjustment: Edit holehe/core.py line 94 and change default=10 to your desired baseline.
  • Module overrides: Check individual modules (e.g., myspace.py line 21) for hardcoded timeout values that bypass global settings.
  • Architecture: All changes affect the shared httpx.AsyncClient instantiated in holehe/core.py lines 12‑13.

Frequently Asked Questions

What is the default timeout in Holehe?

The default timeout is 10 seconds, defined in the argument parser at holehe/core.py line 94. This value is passed to the httpx.AsyncClient constructor when the tool initializes.

Why do I still get timeouts after using the -T flag?

Certain modules define their own timeout values directly in the request call. For example, myspace.py sets timeout=2 at line 21, overriding the global client setting. You must edit these specific modules to remove or increase the hardcoded value.

Can I set different timeouts for different platforms?

Holehe does not support per‑platform timeout flags via the CLI. To use different timeouts, you must edit the individual module files (e.g., caringbridge.py or onlinesequencer.py) and adjust the timeout parameter in the specific client.get() or client.post() call.

Does increasing the timeout slow down Holehe?

Yes. A higher global timeout means the tool will wait longer for unresponsive servers before giving up, which increases total execution time. Use the shortest timeout that reliably captures results from your target sites to maintain efficiency.

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 →