Package Exports
- clearbit
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (clearbit) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
clearbit-node

Node library for querying the Clearbit business intelligence APIs. Currently supports:
Setup
$ npm install clearbitvar clearbit = require('clearbit')('api_key');
// or
var Client = require('clearbit').Client;
var clearbit = new Client({key: 'api_key'});Performing Lookups
Person
Person.find(options) -> Promise
emailString: The email address to look up (required)webhook_idString: Custom identifier for the webhook requestsubscribeBoolean: Set totrueto subscribe to the changesstreamBoolean: Set totrueto use the streaming API instead of webhookstimeoutInteger: The timeout in milliseconds after which a socket closed error will be thrown.
var Person = clearbit.Person;
Person.find({email: 'email@domain.com'})
.then(function (person) {
console.log('Name: ', person.name.fullName);
})
.catch(Person.QueuedError, function (err) {
console.log(err); // Person is queued
})
.catch(Person.NotFoundError, function (err) {
console.log(err); // Person could not be found
})
.catch(function (err) {
console.log('Bad/invalid request, unauthorized, Clearbit error, or failed request');
});Company
Company.find(options) -> Promise
domainString: The company domain to look up (required)webhook_idString: Custom identifier for the webhook requeststreamBoolean: Set totrueto use the streaming API instead of webhookstimeoutInteger: The timeout in milliseconds after which a socket closed error will be thrown.
var Company = clearbit.Company;
Company.find({domain: 'www.uber.com'})
.then(function (company) {
console.log('Name: ', company.name);
})
.catch(Company.QueuedError, function (err) {
console.log(err); // Company is queued
})
.catch(Company.NotFoundError, function (err) {
console.log(err); // Company could not be found
})
.catch(function (err) {
console.log('Bad/invalid request, unauthorized, Clearbit error, or failed request');
});NameToDomain
NameToDomain.find(options) -> Promise
nameString: The company name to look up (required)timeoutInteger: The timeout in milliseconds after which a socket closed error will be thrown.
var NameToDomain = clearbit.NameToDomain;
NameToDomain.find({name: 'Uber'})
.then(function (result) {
console.log('Domain: ', result.domain);
})
.catch(NameToDomain.NotFoundError, function (err) {
console.log(err); // Domain could not be found
})
.catch(function (err) {
console.log('Bad/invalid request, unauthorized, Clearbit error, or failed request');
});Prospector
Prospector.search(options) -> Promise
domainString: The domain to search for. (required)roleString: Employment role to filter by.rolesArray[String]: Employment roles to filter by.seniorityString: Employment seniority to filter by.senioritiesArray[String]: Employment seniorities to filter by.titleString: Job title to filter by.titlesArray[String]: Job titles to filter by.cityString: City to filter by.citiesArray[String]: Cities to filter by.stateString: State to filter by.statesArray[String]: States to filter by.countryString: Country to filter by.countriesArray[String]: Countries to filter by.nameString: Name of an individual to filter by.pageInteger: The page of results to fetch.page_sizeInteger: The number of results per page.suppressionString: Set toeuto exclude records with country data in the EU. Set toeu_strictto exclude records with country data in the EU or with null country data.
var Prospector = clearbit.Prospector;
Prospector.search({domain: 'clearbit.com'})
.then(function (result) {
console.log('Results: ', result.results);
})
.catch(function (err) {
console.log('Bad/invalid request, unauthorized, Clearbit error, or failed request');
});Error Handling
Lookups return Bluebird promises. Any status code >=400 will trigger an error, including lookups than do not return a result. You can easily filter out unknown records from true errors using Bluebird's error class matching:
Person.find({email: 'notfound@example.com'})
.catch(Person.NotFoundError, function () {
// handle an unknown record
})
.catch(function () {
// handle other errors
});Callbacks
If you really want to use node-style callbacks, use Bluebird's nodeify method:
Person.find({email: 'email@domain.com'}).nodeify(function (err, person) {
if (err) {
// handle
}
else {
// person
}
});