How to Find Almost Any GitHub User’s Email Address

Github Octocat

Editor’s note: This was #1 on the Best of 2014 list.

GitHub can be a powerful tool for sourcing software engineering talent. For the uninitiated, GitHub is a software project hosting service on which software engineers create a profile, host their code, or contribute to other projects. GitHub profiles often include an email address, twitter handle, and/or link to a personal website. Due to this, and as previously posted on SourceCon, even a simple site: search on GitHub’s domain produces some serious results. However, some of the best profiles simply have no contact information aside from a (hopefully) real name and a GitHub username.

Traditionally, you may cross reference a GitHub profile with LinkedIn, run the username through namechk and see where else they hangout, or even try to deduce an email address with the Rapportive plugin. You may even go so far as to hunt them down on OKCupid. As it turns out, you can get almost any GitHub user’s email address directly through GitHub’s own API from the comfort of your own browser in five simple steps.

1. Copy and paste the next line into your browser (feel free to bookmark it):

https://api.github.com/users/xxxxxxx/events/public

github1

2. Find the GitHub username for which you want the email:

github2

3. Replace the xxxxxxx in the URL with the person’s GitHub username.

github3

4. Hit Enter.

5. Press Ctrl+F and search for “email”.

github5

According to GitHub, this information is publicly available. However, you would likely only see it if you were an Engineer committing code to your candidate’s public repository through the Git system. In essence, this works by calling up said public information through GitHub’s API in your browser.

While this method works for the vast majority of usernames, there are a few who have opted not to store their personal email address on their public repositories. However, of the many usernames used in testing this method, I only ran into 3 that were masked.

On a side note, if the user has a popular public repository you may return multiple email addresses belonging to the various contributors to the repository. You can clear through these by searching for the name on the account (such as “Fredrik”) instead of “email”. Although on second thought, you may wish to engage the other contributors as well.

github7

 

Article Continues Below

github8

 

github9

 

Special thanks to @RStrandid, @MarkNexus, and @Panhawk

  • steverath

    Matthew – nice! I love getting into code – just don’t have the time to do it these days. Kudos to all involved with the discovery – steve

  • Matthew Ferree

    Thanks, Steve. Diving into the code is always fun but you’re right, it takes an insane amount of time. To be honest the original method I had required a person to navigate a unix command line or install a unix-style terminal in Windows, which for the average user is no simple feat.

    Glad you enjoyed it.

  • Chris Schwacofer

    That is rad. Good work!

  • http://www.recruiting-online.com/ Glenn Gutmacher

    This is great, nice find – let’s hope they don’t close this loophole the way LinkedIn did last year on with an API trick that used to let you view someone’s full profile regardless of degrees away!

    • http://jeremyrobertstx.com/ Jeremy Roberts

      Prior to posting this it was submitted as a hole and they said they did not want to fix it. Fingers crossed.

  • http://darylfritz.com Daryl Fritz

    Here’s some information on how to hide your email address from GitHub: http://stackoverflow.com/a/18186072

  • http://linkedin.com/in/ericbullock Eric Bullock

    If you use Chrome as your browser you can add the Context Menu Search plugin and this as one of your search engines https://api.github.com/users/%s/events/public after that all you have to do is highlight the username on github and right click. The link to the plugin is here. https://chrome.google.com/webstore/detail/context-menu-search/ocpcmghnefmdhljkoiapafejjohldoga

  • Chris Cox

    Wow Fantastic

  • http://www.Evan-Herman.com Evan

    This no longer works….
    But thanks for the information.

    • Yves Greijn

      Evan, do you have a new option that does work ?

      • http://gorylenko.com/ Nikolay

        just checked – nope, it does not

  • Jonthan Tarrico

    Hey Guys! Its my duty to inform that apparently Github has modified this and its no longer available .. I know.. Bummer!

    Jonathan

    • http://sourcecon.com Jeremy Roberts, SPHR

      This stiill works for users with certain settings.

  • http://www.youtube.com/user/Jorchking2 Jorge Yokiro

    Thanks, because there are people that users want to contact them to help and fix issues. Many thanks really.

  • Dean Da Costa

    So the original url does not work any more however, the following URL does work

    https://api.github.com/users/XXXXX

    XXX=user name

  • Robertson

    Great Article Matthew. I’d just like to point out, for those who are not technically inclined, there are a number of apps already which are able to connect email addresses to social profiles – or the other way around. One example I know of is http://www.FindAnyEmail.net, and I believe they also report on GitHub accounts, as well as other popular social networks. There is also Rapportive – the Chrome Add-on, which is indispensable if you are a gmail user.

  • Guest
  • http://talentjockey.com/ Sean Kelley

    Good tip! Just wish our house recruiter knew how to work github.

    • http://ahmetalpbalkan.com/ Ahmet Alp Balkan [[email protected]]

      don’t tell this to recruiters please.

  • Guest

    Is it inappropriate for me to say “I could kiss you right now”?

  • João Paulo

    Thanks!

  • Vinayak Jadhav

    Thanks

  • http://diegopucci.com Diego Pucci

    This does not work anymore. This page has published a new script for this: https://www.facebook.com/nerdsunity/

    • http://ahmetalpbalkan.com/ Ahmet Alp Balkan [[email protected]]

      dude u just linked some facebook page. ever heard of permalinks?

  • http://ahmetalpbalkan.com/ Ahmet Alp Balkan [[email protected]]

    No longer works. Just browse someone’s commit history and add .patch to a commit URL, you’ll likely get their email address from there.

  • BanikTomas

    I created Chrome plugin that does it automatically. Enjoy 😉 https://goo.gl/4MdvGN