API Reference
Our REST API allows you to integrate production-ready email verification into your workflow seamlessly.
Base URL
https://api.fastvalidateapp.comAuthentication
Include your API key in every request using one of the following methods:
Single Validation
Deep verification of a single email address including syntax, MX records, and risk analysis.
{
"email": "hello@world.com",
"options": {
"check_disposable": true,
"check_role": true,
"suggest_typo": true
}
}{
"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
}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
ProValidate up to 50 emails in a single request. Perfect for bulk processing tasks.
{
"emails": ["user1@gmail.com", "user2@temp-mail.org"],
"options": {
"check_disposable": true,
"check_role": true,
"suggest_typo": true
}
}{
"status": "success",
"batch_size": 2,
"results": [
{
"email": "test@gmail.com",
"valid": true,
"confidence_score": 95,
"checks": { ... }
},
...
],
"response_time_ms": 145
}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
Check MX records, catch-all status, and domain reputation for any hostname.
{
"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"
}curl -X GET "https://api.fastvalidateapp.com/email/v1/domain?domain=google.com" \
-H "X-API-Key: YOUR_API_KEY"Smart Suggest
Identify common typos and suggest corrections (e.g., gmal.com -> gmail.com).
{
"status": "success",
"original_email": "user@gmal.com",
"has_typo": true,
"suggestions": [
{
"email": "user@gmail.com",
"confidence": 95,
"reason": "Common typo: gmal.com → gmail.com"
}
]
}curl -X GET "https://api.fastvalidateapp.com/email/v1/suggest?email=user@gmal.com" \
-H "X-API-Key: YOUR_API_KEY"System Health
GETVerify system uptime and the operational status of internal services and dependencies.
{
"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.
| Header | Description |
|---|---|
| Content-Type | The MIME type of the response (usually application/json). |
| X-RateLimit-Limit | Your tier's monthly request limit. |
| X-RateLimit-Remaining | Remaining requests for the current billing cycle. |
| X-RateLimit-Used | Total requests used in the current billing cycle. |
| X-RateLimit-Reset | Timestamp when the usage limit resets. |
Rate Limiting
We track usage based on sliding windows for burst protection and monthly quotas for volume limits.
Error Handling
| HTTP | Code | Meaning |
|---|---|---|
| 400 | MISSING_EMAIL | No email parameter provided. |
| 401 | UNAUTHORIZED | Invalid or missing API key. |
| 403 | FORBIDDEN | Tier restriction. |
| 429 | RATE_LIMIT_EXCEEDED | Usage quota exceeded. |
| 500 | INTERNAL_ERROR | Unexpected server error. |