Skip to content

tducasse/user-email-enrichment

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm npm Build Status GitHub Sponsors

user-enrichment-about

User Email Enrichment

A free, open source alternative to FullContact, Clearbit etc. that relies only on information that has been shared publicly by the user. No authentication is required.

Installation

Add to your project using your favourite package manager

yarn add enrich-email or npm install enrich-email

Examples

Node

const enrich = require('enrich-email');

enrich('taitbrown@gmail.com').then(console.log)

// {
//   guess: {
//     name: 'Tait Brown',
//     displayName: 'taitems',
//     company: 'A Cloud Guru',
//     avatar_url: 'https://avatars.githubusercontent.com/u/234593?v=4',
//     location: 'Melbourne, Australia',
//     twitterUsername: 'taitems',
//     twitterUrl: 'https://twitter.com/taitems',
//     githubUrl: 'https://github.com/taitems'
//   },
//   profiles: {
//     github: {
//       username: 'taitems',
//       avatar_url: 'https://avatars.githubusercontent.com/u/234593?v=4',
//       profile_url: 'https://github.com/taitems',
//       website: 'http://taitbrown.com',
// --- TRIMMED ---

React

Please note: you need to directly import the esm version from the package.

import React, { useState } from 'react';
// Important to directly import the ESM file
import enrich from 'enrich-email/dist/web/esm';

function App() {

  const [input, setInput] = useState('taitbrown@gmail.com');

  const handleClick = () => {
      enrich(input).then(console.log);
  }

  return (
    <>
      <div>
          <input type="email" value={input} onChange={e => { setInput(e.target.value)}} />
          <button onClick={handleClick}>Submit</button>
      </div>
    </>
  )
}

export default App;

Other web

There is an IIFE exported under enrich-email/dist/web/iife

How does it work

  • Search for users by email address on GitHub
  • Search for users by email address on Gravatar
  • Attempt to infer the users name from the email string, based on common patterns such as first.last@company.com
  • Attempt to infer the company name from the email address domain, by skipping common webmail providers (gmail, yahoo etc.)
  • Merge together all discovered and inferred information based on what was available

user-enrichment

FAQs

Is this rate limited?

This library is subject to the rate limits of the downstream services it calls (GitHub and Gravatar to begin with). GitHub for example will lift the rate limit slightly higher if you provide an API key. This may be supported in a future version.

This seems creepy!

Not really a question, but okay! Keep in mind this only searching for publicly shared information by the user themselves. There are no secret, proprietary databases and backroom dealings. I do not host/own any of this information. It has not been scraped from address books, electoral rolls or CRMs.

It didn't find resolve the email address correctly?

As per the above, the accuracy is only as good as the publicly accessible information about a particular user. It makes a series of guesses and dynamically reprioritises results based on perceived accuracy (Pending release).

Contributors

About

A free, open source tool to lookup user identities by email address

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%