TypeScript SDK
Official TypeScript/JavaScript client library
Package: @verifyforge/sdk
Installation
npm install @verifyforge/sdk
Quick Start
import { VerifyForge } from '@verifyforge/sdk';
const client = new VerifyForge({ apiKey: 'your_api_key_here' });
const result = await client.validate('user@example.com');
if (result.data.isValid) {
console.log('✓ Email is valid!');
console.log(`Reachability: ${result.data.reachability}`);
}
Single Email Validation
const result = await client.validate('test@example.com');
console.log(`Valid: ${result.data.isValid}`);
console.log(`Disposable: ${result.data.disposable}`);
console.log(`Role Account: ${result.data.roleAccount}`);
console.log(`Reachability: ${result.data.reachability}`);
// Check MX records
for (const mx of result.data.mxRecordsList) {
console.log(`MX: ${mx.exchange} (priority: ${mx.priority})`);
}
Bulk Email Validation
Validate up to 100 emails in a single request:
const emails = [
'user1@example.com',
'user2@example.com',
'user3@example.com',
];
const result = await client.validateBulk(emails);
console.log(`Total: ${result.data.summary.total}`);
console.log(`Duplicates removed: ${result.data.summary.duplicatesRemoved}`);
console.log(`Credits used: ${result.creditsUsed}`);
for (const item of result.data.results) {
console.log(`${item.email}: ${item.isValid ? '✓' : '✗'}`);
}
Error Handling
import {
VerifyForge,
AuthenticationError,
InsufficientCreditsError,
ValidationError,
} from '@verifyforge/sdk';
try {
const result = await client.validate('test@example.com');
} catch (error) {
if (error instanceof AuthenticationError) {
console.error('Invalid API key');
} else if (error instanceof InsufficientCreditsError) {
console.error('Not enough credits');
} else if (error instanceof ValidationError) {
console.error(`Validation error: ${error.message}`);
}
}
Configuration
const client = new VerifyForge({
apiKey: 'your_api_key',
baseUrl: 'https://verifyforge.com', // Optional
timeout: 30000, // Optional, in milliseconds
});
TypeScript Types
import {
ValidationResponse,
BulkValidationResponse,
ValidationResult,
} from '@verifyforge/sdk';
const result: ValidationResponse = await client.validate('test@example.com');
const validation: ValidationResult = result.data;
Browser Usage
<script type="module">
import { VerifyForge } from 'https://unpkg.com/@verifyforge/sdk';
const client = new VerifyForge({ apiKey: 'your_api_key' });
const result = await client.validate('test@example.com');
console.log(result);
</script>
API Reference
Constructor
new VerifyForge(config: VerifyForgeConfig)
Parameters:
config.apiKey(string, required): Your API keyconfig.baseUrl(string, optional): Base URL, defaults to"https://verifyforge.com"config.timeout(number, optional): Timeout in milliseconds, defaults to30000
Methods
validate(email: string): Promise<ValidationResponse>
Validate a single email address.
Throws:
ValidationError: Invalid email formatInsufficientCreditsError: Insufficient creditsAPIError: Validation failed
validateBulk(emails: string[]): Promise<BulkValidationResponse>
Validate up to 100 email addresses.
Throws:
ValidationError: Invalid email list or exceeds 100 emailsInsufficientCreditsError: Insufficient creditsAPIError: Validation failed
Error Classes
All errors extend VerifyForgeError:
AuthenticationError: Invalid API key (401)InsufficientCreditsError: Insufficient credits (402)ValidationError: Request validation failed (400)RateLimitError: Rate limit exceeded (429)APIError: General API error (5xx)NetworkError: Network request failed
Requirements
- Node.js 16.0.0 or higher
- Modern browser with
fetchsupport
