Sign Up Free

Email Verification API Documentation — RESTful API Reference

Everything you need to integrate email verification into your application.

Getting Started

The Email Verifier by EcomTech API provides a simple, RESTful interface for verifying email addresses programmatically. All endpoints return JSON and use standard HTTP status codes. The API supports single verification, batch processing, and async jobs with webhooks.

Authentication uses Bearer tokens via the Authorization header. Generate API keys from your dashboard with configurable scopes. The API is available on all plans including the free tier. Use our email verifier web interface for no-code verification.

Quick Example

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

# Response
{
  "email": "user@example.com",
  "valid": true,
  "deliverable": true,
  "risk_level": "low",
  "provider": "example.com",
  "response_time": 0,
  "confidence": 95,
  "details": {
    "syntax_valid": true,
    "domain_exists": true,
    "mx_record": true,
    "smtp_valid": true
  },
  "reason": "accepted_email",
  "cached": false
}

Authentication & Setup

Sign up at ev.ecomtechbd.com, navigate to Dashboard then API Keys. Generate a key and add it as Authorization: Bearer YOUR_API_KEY. All requests must use HTTPS. Base URL: https://ev.ecomtechbd.com/v1. Rate limits: Single verification 100 requests/minute, Bulk verification 10 jobs/hour.

Getting Started

To begin using the Email Verifier by EcomTech email verification API, you first need to create an account and generate an API key. Visit your dashboard at ev.ecomtechbd.com, navigate to the API Keys section, and click "Create New Key." You can assign descriptive names to each key and configure IP or domain restrictions for security. Copy the generated key immediately, as it will only be displayed once. Store it securely in an environment variable or secrets manager rather than hard-coding it into your application source code.

Once you have your API key, you can start making requests to the base URL https://ev.ecomtechbd.com/v1/. All API communication occurs over HTTPS with TLS 1.2 or higher. The API accepts JSON request bodies and returns JSON responses with standard HTTP status codes. Every request must include an Authorization: Bearer YOUR_API_KEY header.

Code Examples

Single Email Verification

POST /v1/verify/single

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

# Response (HTTP 200)
{
  "email": "user@example.com",
  "valid": true,
  "deliverable": true,
  "risk_level": "low",
  "provider": "example.com",
  "response_time": 0,
  "confidence": 95,
  "details": {
    "syntax_valid": true,
    "domain_exists": true,
    "mx_record": true,
    "smtp_valid": true
  },
  "reason": "accepted_email",
  "cached": false
}

Bulk Email Verification

POST /v1/verify/bulk — Smart routing: ≤10 emails return instant results, >10 emails return a job_id for async polling.

# Submit bulk verification
curl -X POST https://ev.ecomtechbd.com/v1/verify/bulk \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "emails": ["alice@example.com", "bob@company.org", "test@temp-mail.io"]
  }'

# Instant response (≤10 emails, HTTP 200)
{
  "success": true,
  "instant": true,
  "job_id": "69c361dbcdc4a8579ef3710b",
  "status": "completed",
  "total_emails": 3,
  "valid_emails": 3,
  "invalid_format_emails": 0,
  "results": [
    {
      "email": "alice@example.com",
      "valid": true,
      "deliverable": true,
      "risk_level": "low",
      "reason": "accepted_email",
      "cached": false
    }
  ],
  "summary": { "total": 3, "valid": 2, "invalid": 1 },
  "message": "Verification completed instantly."
}

# Queued response (>10 emails, HTTP 200)
{
  "success": true,
  "job_id": "69712f9d04ae85a1dcf8724b",
  "status": "queued",
  "total_emails": 50,
  "valid_emails": 50,
  "invalid_format_emails": 0,
  "estimated_time": "2 seconds",
  "message": "Bulk verification queued with priority. Use /verify/bulk/status/{job_id} to check progress."
}

Check Job Status & Download Results

GET /v1/verify/bulk/status/:jobId — Poll for progress and results of queued bulk jobs.

# Check bulk job status
curl https://ev.ecomtechbd.com/v1/verify/bulk/status/JOB_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

# Response (completed)
{
  "success": true,
  "status": "completed",
  "progress": 100,
  "data": {
    "results": [
      {
        "email": "alice@example.com",
        "valid": true,
        "deliverable": true,
        "risk_level": "low",
        "reason": "accepted_email",
        "cached": false
      }
    ],
    "summary": {
      "total": 50, "valid": 45, "invalid": 3, "unknown": 2, "failed": 0
    },
    "completed_at": "2026-03-25T10:30:00Z"
  }
}

# Download results as CSV
curl https://ev.ecomtechbd.com/v1/verify/bulk/download/JOB_ID \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o results.csv

Error Handling

The API uses standard HTTP status codes to indicate the outcome of each request. A 200 response means the verification completed successfully. Client errors return 4xx codes: 400 for malformed requests such as invalid email format, 401 for missing or invalid API keys, 403 for IP/domain restriction violations. Server-side issues return 5xx codes, which should be retried with exponential backoff.

Rate limiting is enforced per IP (100 requests/minute for single, 10 jobs/hour for bulk). When you exceed the limit, the API returns a 429 Too Many Requests response. All error responses follow a consistent JSON structure: {"success": false, "error": "Error message"}.

Frequently Asked Questions

The API uses API key authentication via the Authorization header: "Authorization: Bearer YOUR_API_KEY". Generate API keys from your dashboard. Each key can be scoped to specific endpoints and rate limits. Keys can be rotated at any time without downtime.

Rate limits depend on your plan: Free (10 req/min), Starter (10 req/sec), Professional (50 req/sec), Enterprise (custom, up to 500 req/sec). Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response. Exceeding limits returns HTTP 429.

Yes. The POST /v1/verify/batch endpoint accepts up to 50,000 emails per request. Batch jobs are processed asynchronously. Poll GET /v1/jobs/{id} for status or configure a webhook for completion notification. Results include per-email status, risk score, and metadata.

Start Verifying Emails Today

100 daily free verifications. No credit card required. Full API access on all plans. Visit our email verifier to get started.

Try our free email verifier — verify any email instantly, no signup required. Need bulk verification? Upload your list and clean thousands of emails in minutes.

Developers: integrate email verification into your app with our RESTful API — SDKs for 7 languages.

Free tools: SPF checker · DKIM checker · SMTP tester