BillionVerify LogoBillionVerify
API Reference

API Reference

Complete reference for BillionVerify API endpoints

API Reference

The BillionVerify API is a RESTful service that provides powerful email verification capabilities. All API requests should be made over HTTPS.

Base URL

https://api.billionverify.com/v1

Authentication

All API requests require authentication using a Bearer token:

Authorization: Bearer YOUR_API_KEY

Get your API key from the dashboard.

Rate Limits

  • Free Plan: 100 requests per hour
  • Basic Plan: 1,000 requests per hour
  • Pro Plan: 10,000 requests per hour
  • Enterprise: Custom limits

Rate limit information is included in response headers:

  • X-RateLimit-Limit: Maximum requests per hour
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Unix timestamp when limit resets

Core Endpoints

Single Email Verification

Verify a single email address with detailed results.

POST /verify

Request Body

{
  "email": "user@example.com",
  "smtp_check": true,
  "timeout": 5000
}

Parameters

ParameterTypeRequiredDescription
emailstringYesEmail address to verify
smtp_checkbooleanNoPerform SMTP validation (default: true)
timeoutintegerNoTimeout in milliseconds (default: 5000)

Response

{
  "email": "user@example.com",
  "status": "valid",
  "result": {
    "deliverable": true,
    "valid_format": true,
    "valid_domain": true,
    "valid_mx": true,
    "disposable": false,
    "role": false,
    "catchall": false,
    "free": false,
    "smtp_valid": true
  },
  "score": 0.95,
  "reason": null,
  "credits_used": 1
}

Bulk Email Verification

Verify multiple email addresses in a single request.

POST /verify/bulk

Request Body

{
  "emails": [
    "user1@example.com",
    "user2@example.com",
    "user3@example.com"
  ],
  "smtp_check": true
}

Parameters

ParameterTypeRequiredDescription
emailsarrayYesArray of email addresses (max: 1000)
smtp_checkbooleanNoPerform SMTP validation (default: true)

Response

{
  "job_id": "job_123456",
  "status": "processing",
  "total": 3,
  "processed": 0,
  "credits_used": 3
}

Check Bulk Job Status

GET /verify/bulk/{job_id}

Response

{
  "job_id": "job_123456",
  "status": "completed",
  "total": 3,
  "processed": 3,
  "results": [
    {
      "email": "user1@example.com",
      "status": "valid",
      "score": 0.95
    },
    {
      "email": "user2@example.com",
      "status": "invalid",
      "score": 0.15
    },
    {
      "email": "user3@example.com",
      "status": "valid",
      "score": 0.88
    }
  ]
}

Status Codes

StatusDescription
validEmail is valid and deliverable
invalidEmail is invalid or undeliverable
unknownUnable to determine validity
accept_allServer accepts all emails (catch-all)

Error Responses

All errors follow this format:

{
  "error": {
    "code": "INVALID_EMAIL",
    "message": "The email address format is invalid",
    "details": "Missing @ symbol"
  }
}

Common Error Codes

CodeDescription
INVALID_API_KEYAPI key is invalid or missing
RATE_LIMIT_EXCEEDEDToo many requests
INVALID_EMAILEmail format is invalid
INSUFFICIENT_CREDITSNot enough credits
TIMEOUTRequest timed out

Webhooks

Configure webhooks to receive real-time notifications about verification results.

Setting Up Webhooks

POST /webhooks
{
  "url": "https://your-app.com/webhook",
  "events": ["verification.completed", "bulk.completed"]
}

Webhook Payload

{
  "event": "verification.completed",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    "email": "user@example.com",
    "status": "valid",
    "score": 0.95
  }
}

SDKs & Libraries

Official SDKs are available for:

Code Examples

cURL

curl -X POST https://api.billionverify.com/v1/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "test@example.com"}'

JavaScript

const response = await fetch('https://api.billionverify.com/v1/verify', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ email: 'test@example.com' })
});

Python

import requests

response = requests.post(
  'https://api.billionverify.com/v1/verify',
  headers={'Authorization': 'Bearer YOUR_API_KEY'},
  json={'email': 'test@example.com'}
)

Next Steps