REST API · v1

API Reference

Validate email addresses programmatically from any language or platform. All endpoints return JSON. Authentication uses your API key in the request header.

Authentication

Every request must include your API key in the x-api-key header. You can create and manage keys on your Account page.

HTTP header
x-api-key: vf_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Keep your API key secret. Never expose it in client-side JavaScript or public repositories.

POST /api/validate/single

Validate one email address. Costs 1 credit per call.

POSThttps://verifind.name.ng/api/validate/single

Request body

{
"email": "user@example.com"
}
curl
curl -X POST https://verifind.name.ng/api/validate/single \
  -H "Content-Type: application/json" \
  -H "x-api-key: vf_live_your_key_here" \
  -d '{"email": "user@example.com"}'

POST /api/validate/bulk

Validate up to 500 emails in one request. Costs 1 credit per email in the batch.

POSThttps://verifind.name.ng/api/validate/bulk
{
"emails": ["user@example.com", "other@gmail.com"]
}
curl
curl -X POST https://verifind.name.ng/api/validate/bulk \
  -H "Content-Type: application/json" \
  -H "x-api-key: vf_live_your_key_here" \
  -d '{"emails": ["user@example.com", "other@gmail.com"]}'

The response contains a results array with one object per email.

Response fields

JSON
{
  "email": "user@example.com",
  "score": 87,
  "is_valid": true,
  "deliverability_band": "Deliverable",
  "syntax_pass": true,
  "mx_pass": true,
  "disposable": false,
  "free_provider": false,
  "smtp_pass": true,
  "reason": null,
  "suggestion": null
}
Field
Type
Description
email
string

The email address that was checked

score
number

0–100 confidence score. 80+ is deliverable.

is_valid
boolean

True if the email is safe to send to

deliverability_band
string

Deliverable / Risky / Uncertain / Undeliverable

syntax_pass
boolean

Email format is valid

mx_pass
boolean

Domain has a working mail server

smtp_pass
boolean|null

Mailbox exists (null if SMTP check skipped)

disposable
boolean

Throwaway / temporary email service

free_provider
boolean

Gmail, Yahoo, Outlook etc.

reason
string|null

Why the email failed (when is_valid = false)

suggestion
string|null

Did-you-mean correction for typos

Error codes

200OKRequest succeeded
400Bad RequestMissing or invalid email parameter
401UnauthorizedMissing or invalid API key
402Payment RequiredInsufficient credits
429Too Many RequestsRate limit exceeded for your key
500Internal Server ErrorSomething went wrong on our end
504Gateway TimeoutValidation took too long — reduce batch size

Rate limits

Free

Rate limit

1 req/sec

Monthly quota

100/month

Via dashboard only, no API access

Pro

Rate limit

10 req/sec

Monthly quota

10,000/month

Business

Rate limit

50 req/sec

Monthly quota

100,000/month

When rate limited you receive a 429 response. Retry after the number of seconds in the Retry-After header.

Embed widget

Add real-time email validation to any HTML form with one script tag. The widget validates as the user types and shows a result badge next to the input.

HTML
<script src="https://verifind.name.ng/widget.js"
  data-key="vf_live_your_key_here"
  data-input="#email"
  data-theme="light">
</script>
data-key

Your API key (required)

data-input

CSS selector for the email input

data-theme

"light" or "dark" (default: light)

data-delay

Debounce delay in ms (default: 600)

data-on-result

JS callback function name