1.3.5 • Published 5 years ago
clearbit v1.3.5
clearbit-node

Node library for querying the Clearbit business intelligence APIs. Currently supports:
Setup
$ npm install clearbit
var 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
email
String: The email address to look up (required)webhook_id
String: Custom identifier for the webhook requestsubscribe
Boolean: Set totrue
to subscribe to the changesstream
Boolean: Set totrue
to use the streaming API instead of webhookstimeout
Integer: 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
domain
String: The company domain to look up (required)webhook_id
String: Custom identifier for the webhook requeststream
Boolean: Set totrue
to use the streaming API instead of webhookstimeout
Integer: 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
name
String: The company name to look up (required)timeout
Integer: 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
domain
String: The domain to search for. (required)role
String: Employment role to filter by.roles
ArrayString: Employment roles to filter by.seniority
String: Employment seniority to filter by.seniorities
ArrayString: Employment seniorities to filter by.title
String: Job title to filter by.titles
ArrayString: Job titles to filter by.city
String: City to filter by.cities
ArrayString: Cities to filter by.state
String: State to filter by.states
ArrayString: States to filter by.country
String: Country to filter by.countries
ArrayString: Countries to filter by.name
String: Name of an individual to filter by.page
Integer: The page of results to fetch.page_size
Integer: The number of results per page.suppression
String: Set toeu
to exclude records with country data in the EU. Set toeu_strict
to 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
}
});
1.3.5
5 years ago
1.3.4
7 years ago
1.3.3
8 years ago
1.2.3
9 years ago
1.2.1
10 years ago
1.2.0
10 years ago
1.1.3
10 years ago
1.1.2
10 years ago
1.1.1
10 years ago
1.1.0
10 years ago
1.0.8
10 years ago
1.0.6
10 years ago
1.0.5
11 years ago
1.0.4
11 years ago
1.0.3
11 years ago
1.0.2
11 years ago
1.0.1
11 years ago
1.0.0
11 years ago