API Reference

Our REST API allows you to integrate production-ready email verification into your workflow seamlessly.

Base URL

https://api.fastvalidateapp.com

Authentication

Include your API key in every request using one of the following methods:

Option 1: X-API-Key Header (Recommended)
X-API-Key:
YOUR_SECRET_API_KEY
Option 2: Authorization Bearer
Authorization:
Bearer YOUR_SECRET_API_KEY

Single Validation

POST

Deep verification of a single email address including syntax, MX records, and risk analysis.

Endpoint
/email/v1/validate
Request Body
{
  "email": "hello@world.com",
  "options": {
    "check_disposable": true,
    "check_role": true,
    "suggest_typo": true
  }
}
Sample Response
{
  "status": "success",
  "email": "hello@world.com",
  "normalized_email": "hello@world.com",
  "valid": true,
  "confidence_score": 85,
  "checks": {
    "syntax": { "valid": true },
    "domain": { "valid": true, "mx_records": [...] },
    "disposable": { "is_disposable": false },
    "role_based": { "is_role": false },
    "typo": { "has_typo": false }
  },
  "response_time_ms": 42
}
Sample Request
curl -X POST https://api.fastvalidateapp.com/email/v1/validate \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "hello@world.com"}'

Batch Validation

Pro
POST

Validate up to 50 emails in a single request. Perfect for bulk processing tasks.

Endpoint
/email/v1/batch
Request Body
{
  "emails": ["user1@gmail.com", "user2@temp-mail.org"],
  "options": { 
    "check_disposable": true,
    "check_role": true,
    "suggest_typo": true
  }
}
Sample Response
{
  "status": "success",
  "batch_size": 2,
  "results": [
    {
      "email": "test@gmail.com",
      "valid": true,
      "confidence_score": 95,
      "checks": { ... }
    },
    ...
  ],
  "response_time_ms": 145
}
Sample Request
curl -X POST https://api.fastvalidateapp.com/email/v1/batch \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"emails": ["test@gmail.com", "bad@mail.com"]}'

Domain Intel

GET

Check MX records, catch-all status, and domain reputation for any hostname.

Endpoint
/email/v1/domain
Sample Response
{
  "status": "success",
  "domain": "google.com",
  "accepts_email": true,
  "mx_records": ["aspmx.l.google.com"],
  "is_catch_all": false,
  "reputation_score": 85,
  "last_checked": "2026-01-31T00:10:00.000Z"
}
Sample Request
curl -X GET "https://api.fastvalidateapp.com/email/v1/domain?domain=google.com" \
  -H "X-API-Key: YOUR_API_KEY"

Smart Suggest

GET

Identify common typos and suggest corrections (e.g., gmal.com -> gmail.com).

Endpoint
/email/v1/suggest
Sample Response
{
  "status": "success",
  "original_email": "user@gmal.com",
  "has_typo": true,
  "suggestions": [
    {
      "email": "user@gmail.com",
      "confidence": 95,
      "reason": "Common typo: gmal.com → gmail.com"
    }
  ]
}
Sample Request
curl -X GET "https://api.fastvalidateapp.com/email/v1/suggest?email=user@gmal.com" \
  -H "X-API-Key: YOUR_API_KEY"

System Health

GET

Verify system uptime and the operational status of internal services and dependencies.

Endpoint
/email/v1/health
Sample Response
{
  "status": "success",
  "data": {
    "status": "healthy",
    "version": "1.0.0",
    "uptime_seconds": 1234,
    "timestamp": "2026-01-31T00:10:00.000Z",
    "services": {
      "redis": {
        "status": "connected",
        "error": null
      },
      "dns": "operational"
    }
  }
}

Response Headers

Every API response includes standard HTTP headers and custom rate limit indicators to help you manage your integration.

HeaderDescription
Content-TypeThe MIME type of the response (usually application/json).
X-RateLimit-LimitYour tier's monthly request limit.
X-RateLimit-RemainingRemaining requests for the current billing cycle.
X-RateLimit-UsedTotal requests used in the current billing cycle.
X-RateLimit-ResetTimestamp when the usage limit resets.

Rate Limiting

We track usage based on sliding windows for burst protection and monthly quotas for volume limits.

Free Tier
10 / mo
Basic Tier
100 / mo
Pro Tier
10,000 / mo

Error Handling

HTTPCodeMeaning
400MISSING_EMAILNo email parameter provided.
401UNAUTHORIZEDInvalid or missing API key.
403FORBIDDENTier restriction.
429RATE_LIMIT_EXCEEDEDUsage quota exceeded.
500INTERNAL_ERRORUnexpected server error.
Build with confidence. © 2026 FastValidate Inc.