Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Bucephalus-lgtm/bfa60a394f349d92f5713eef41a8d6c8 to your computer and use it in GitHub Desktop.
Save Bucephalus-lgtm/bfa60a394f349d92f5713eef41a8d6c8 to your computer and use it in GitHub Desktop.

Flow diagram for my approach:

snov-clay-api-integration


Code snippet for Snov and Clay APIs integration using axios package in Node.js:

const axios = require('axios');

// Snov API
const snovApiKey = 'YOUR_SNOV_API_KEY';
const snovUrl = 'https://api.snov.io/v1';

// Sample endpoint for getting a list of email addresses from a domain
const getDomainEmailsEndpoint = '/domain-emails-with-info';

// Sample domain to search for email addresses
const domain = 'example.com';

const snovOptions = {
    method: 'get',
    url: `${snovUrl}${getDomainEmailsEndpoint}`,
    params: {
        domain: domain
    },
    headers: {
        'Authorization': `Bearer ${snovApiKey}`
    },
    responseType: 'json'
};

axios(snovOptions)
    .then((response) => {
        console.log('Snov API Response:', response.data);
    })
    .catch((error) => {
        console.log('Error:', error);
    });

// Clay API
const clayApiKey = 'YOUR_CLAY_API_KEY';
const clayUrl = 'https://api.clay.com';

// Sample endpoint for getting a list of companies from a domain
const getDomainCompaniesEndpoint = '/v1/companies/search';

const clayOptions = {
    method: 'get',
    url: `${clayUrl}${getDomainCompaniesEndpoint}`,
    params: {
        domain: domain
    },
    headers: {
        'Authorization': `Bearer ${clayApiKey}`
    },
    responseType: 'json'
};

axios(clayOptions)
    .then((response) => {
        console.log('Clay API Response:', response.data);
    })
    .catch((error) => {
        console.log('Error:', error);
    });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment