1.1.0 • Published 7 months ago

findmailx v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

FindMailX API Client

Official Node.js client for the FindMailX API - Find and verify email addresses with confidence.

Installation

npm install findmailx

Usage

import { FindMailXClient } from "findmailx";

const client = new FindMailXClient({
  apiKey: "your_api_key",
});

// Find an email address
const finder = await client.findEmail({
  domain: "company.com",
  firstName: "John",
  lastName: "Doe",
});

// Verify an email address
const verifier = await client.verifyEmail("john.doe@company.com");

Configuration

const client = new FindMailXClient({
  apiKey: "your_api_key",
  baseUrl: "https://www.findmailx.com/api/v1", // optional
});

Sample Requests

Find Email by Full Name

const result = await client.findEmail({
  domain: "microsoft.com",
  fullName: "Satya Nadella",
});

// Sample Response
{
  status: "success",
  result: {
    status: "found",
    email: "satya@microsoft.com",
    name: "Satya Nadella",
    domain: "microsoft.com",
    verification: {
      status: "safe",
      score: 96,
      disposable: false,
      webmail: false
    }
  }
}

Find Email by First and Last Name

const result = await client.findEmail({
  domain: "microsoft.com",
  firstName: "Satya",
  lastName: "Nadella",
});

// Sample Response
{
  status: "success",
  result: {
    status: "found",
    email: "satya.nadella@microsoft.com",
    name: "Satya Nadella",
    domain: "microsoft.com",
    verification: {
      status: "safe",
      score: 96,
      disposable: false,
      webmail: false
    }
  }
}

Verify Email

const result = await client.verifyEmail("satya@microsoft.com");

// Sample Response
{
  status: "success",
  result: {
    status: "safe",
    email: "satya@microsoft.com",
    score: 96,
    disposable: false,
    webmail: false
  }
}

Error Response Examples

// Rate Limit Error
{
  name: "RateLimitError",
  message: "Rate limit exceeded"
}

// No Credits Error
{
  name: "NoCreditsError",
  message: "You are out of credits"
}

// Authentication Error
{
  name: "AuthenticationError",
  message: "Invalid API key"
}

Email Finder

const result = await client.findEmail({
  domain: "company.com",
  // Use either fullName OR firstName + lastName
  fullName: "John Doe",
  // OR
  firstName: "John",
  lastName: "Doe",
});

interface FinderResult {
  status: "found" | "not_found";
  email?: string;
  name?: string;
  domain?: string;
  verification?: VerificationResult;
}

Email Verification

const result = await client.verifyEmail("john.doe@company.com");

interface VerificationResult {
  status: "safe" | "risky" | "invalid";
  email?: string;
  score: number;
  disposable: boolean;
  webmail: boolean;
}

Error Handling

import {
  FindMailXError,
  AuthenticationError,
  RateLimitError,
  NoCreditsError,
} from "findmailx";

try {
  await client.verifyEmail("test@example.com");
} catch (error) {
  if (error instanceof AuthenticationError) {
    // Handle invalid API key
  } else if (error instanceof RateLimitError) {
    // Handle rate limit (10 requests/second)
  } else if (error instanceof NoCreditsError) {
    // Handle insufficient credits
  }
}

License

MIT

1.1.0

7 months ago

1.0.0

7 months ago