Efficiently finding registered accounts from emails.
Holehe uses password recovery, login, and registration requests to check if an email is attached to an account on sites like twitter, instagram, imgur and more than 120 others.
The full list is available here.
Many of the code examples below included either '!'or '&&shell'. They are included purely for use in Jupyter Notebooks and are not required if you are running these commands on your computer at home.
There are two ways to install the holehe tool.
Run one of the two code snippets below to install holehe:
!pip install holehe
%%bash
git clone https://github.com/megadose/holehe.git
cd holehe/
python3 setup.py install
!holehe test@gmail.com
Your result will be one of the following:
Green [+] - The email address is registered.
Yellow [x] - The email address is not registered.
Purple [-] - Email address not used.
Red [!] - Error in determining status. (Usually rate limit has been hit)
The resultant .csv document will appear in the same folder as you are executing the command.
If running this notebook in Google Colab, just click on the folder icon to get access to your .csv, which can be downloaded and opened using Microsoft Excel, or any other spreadsheet-based program.
In other services that allow you to host Jupyter Notebooks, such as Binder, you may have to access your folder and thereby the .csv file a different way.
You will enter the command in the following format:
holehe --csv <email-address>
Run the example below to see how to query an email address and generate a .csv.
!holehe --csv test@gmail.com
Using the following code, you can query multiple email addresses at one time. Their results will be printed out sequentially.
Simply paste your list of email addresses, in quotes and separated by a space. You may query an unlimited number of email addresses, but you may run into rate limitations for some websites.
You will enter the command in the following format:
echo "<email-address> <email-address> ... <email-address>" | xargs -n 1 holehe
Run the example below to see how to query an email address and generate a .csv.
!echo "test@gmail.com test2@gmail.com" | xargs -n 1 holehe
There are 3 lines of code required to export the results of multiple email address queries to a .csv. In order to specify the email addresses to query and export to a .csv file, you should paste them in the quoted portion on the 2nd line.
The resultant .csv document (named "result.csv") will appear in the same folder as you are executing the command.
In the case of this notebook, just click on the folder icon to get access to your .csv, which can be downloaded and opened using Microsoft Excel, or any other spreadsheet-based program.
You will enter the command in the following format:
pip install csvkit
echo "<email-address> <email-address> ... <email-address>" | xargs -n 1 holehe --csv
csvstack --filenames *.csv > result.csv
Here's an example you can run to see how it works:
%%bash
pip install csvkit
echo "test@gmail.com test2@gmail.com" | xargs -n 1 holehe --csv
csvstack --filenames *.csv > result.csv
If using holehe on your own computer:
If using holehe in a Jupyter Notebook, it really depends on the machine hosting your Jupyter Notebook and whether that machine can make a request using a VPN. If not, you may simply have to wait for a time period determined by the website that's rate limiting you.
After typing "holehe", add "--only-used."
Here's an example you can run that demonstrates querying a single email address:
!holehe --only-used test@gmail.com
Here's an example of querying multiple email addresses with --only-used:
!echo "test@gmail.com test2@gmail.com" | xargs -n 1 holehe --only-used
Here's an example of combining both to export the results from a query of a single email address to a .csv:
!holehe --csv --only-used test@gmail.com