UNPKG

neverbounce

Version:

An API wrapper for the NeverBounce API

51 lines (50 loc) 1.98 kB
import NeverBounce from '../src/NeverBounce.js'; import dotenv from 'dotenv'; // Load environment variables from .local.env file dotenv.config(); // Initialize NeverBounce client with API key from environment variables const client = new NeverBounce({ apiKey: process.env.NEVERBOUNCE_API_KEY }); // Query parameters for job results const query = { // page: 1, // Page to start from // per_page: 10, // Number of items per page }; // Get job results client.jobs.results(25999836, query) .then((resp) => { console.log('[THEN] Results Count: ' + resp.results.length); console.log('[THEN] Results: ' + resp.results.map(result => result.data.email + `(${result.verification.result})`)); }) .catch((err) => console.log('[THEN] ERROR: ' + err.message)); // Alternative using async/await async function getJobResults(jobId, options = {}) { try { const response = await client.jobs.results(jobId, options); console.log('[ASYNC] Job results retrieved successfully!'); console.log(`[ASYNC] Total results: ${response.total_results}`); console.log(`[ASYNC] Total pages: ${response.total_pages}`); console.log(`[ASYNC] Current page: ${response.query.page}`); // Display the first few results if (response.results.length > 0) { console.log('\n[ASYNC] Sample results:'); response.results.slice(0, 5).forEach((result, index) => { console.log(`[ASYNC] ${index + 1}. ${result.data.email} - Result: ${result.verification.result}`); }); } else { console.log('[ASYNC] No results found.'); } } catch (err) { if (err instanceof Error) { console.error('[ASYNC] Error retrieving job results:', err.message); } else { console.error('[ASYNC] Unknown error occurred'); } } } // Run the async version with a specific job ID getJobResults(25999836, { page: 1, per_page: 10 });