Skip to main content
GET
/
v1
/
verify
Verify Single Email
curl --request GET \
  --url https://api.orbisearch.com/v1/verify \
  --header 'X-API-Key: <api-key>'
{
  "email": "[email protected]",
  "status": "safe",
  "substatus": "deliverable",
  "explanation": "Safe to email. The mailbox exists and is deliverable.",
  "email_provider": "Google Workspace",
  "is_disposable": false,
  "is_role_account": false,
  "is_free": false
}
Use this endpoint to verify a single email address in real-time. OrbiSearch checks DNS records, MX records, and the target mail server to determine whether the mailbox exists and is accepting mail. The response includes a status, a detailed substatus, a plain-English explanation, and enrichment flags such as is_disposable and is_role_account. See the response schema for the meaning of each status and substatus value.

Caching

Results are cached for 24 hours. If you verify the same email address within that window, the result is returned immediately at no credit cost. The response format is identical whether the result is fresh or cached.

Rate limits

This endpoint is rate-limited to 20 requests per second per API key. Exceeding this limit returns a 429 Too Many Requests response. See errors for how to handle rate limit responses.

Authorizations

X-API-Key
string
header
required

API key for authentication

Query Parameters

email
string
required

Email address to verify.

Maximum string length: 320
timeout
integer
default:70

Timeout in seconds (3-90).

Required range: 3 <= x <= 90
Example:

70

Response

Successful Response

Verification result for a single email address.

email
string
required

The email address that was verified.

status
enum<string>
required

Overall verification status: safe (deliverable), risky (uncertain), invalid (undeliverable), unknown (verification failed).

Available options:
safe,
risky,
invalid,
unknown
Pattern: ^(safe|risky|invalid|unknown)$
Example:

"risky"

explanation
string
required

Plain-English explanation of the verification result.

Example:

"Risky to email. The mailbox may or may not exist, as the domain accepts all mail. Send with caution."

email_provider
string
required

Email service provider (Google Workspace, Gmail, Microsoft Outlook, etc.).

Example:

"Google Workspace"

substatus
string | null

Specific reason for the status (e.g., catch_all, disposable, role_account, invalid_syntax).

Example:

"catch_all"

is_disposable
boolean | null

True if this is a temporary/disposable email service, false if not, null if unknown.

Example:

false

is_role_account
boolean | null

True if this is a generic role-based email (info@, support@, etc.), false if not, null if unknown.

Example:

true

is_free
boolean | null

True if this is from a free email provider (gmail.com, yahoo.com, etc.), false if not, null if unknown.

Example:

false