# Verify Email

Verify whether an email address can receive mail with EnvoAPI. Returns valid, invalid or unverifiable with the provider reason, whether the domain is catch-all, and whether it is disposable. When the provider is at capacity the request fails with a retryable error and the Credits are refunded. Yahoo addresses, including yahoo.com and other Yahoo country domains, ymail.com and rocketmail.com, are not currently supported: the request fails with HTTP 422 and the Credits are refunded.

`GET https://api.envoapi.com/v1/emails/verify`

Operation ID: `verifyEmail`

## Authentication

See [Authentication](https://docs.envoapi.com/guides/authentication.md). Security alternatives (each object is one alternative):

```json
[
  {
    "BearerApiKey": []
  }
]
```

BearerApiKey:

```json
{
  "type": "http",
  "scheme": "bearer",
  "bearerFormat": "envo_<66 Base64url characters>"
}
```

## Credits

Uses the Verify email Credit cost (initially 2 Credits). Conclusive answers retain the charge; provider failures, capacity\_exceeded and email\_unverifiable refund it. Check your dashboard for current costs; example charges are illustrative.

## Parameters

### email

Location: query. Required: yes.

Schema: {"type":"string","minLength":3,"maxLength":254,"description":"One email address. The mailbox is checked with the recipient's mail server without sending a message."}

Example:

```json
"jane.doe@example.com"
```

## Request example

```bash
curl "https://api.envoapi.com/v1/emails/verify?email=jane.doe%40example.com" \
  --header "Authorization: Bearer $ENVO_API_KEY" \
  --header "Accept: application/json"
```

## Responses

### 200

Mailbox validity from the recipient's mail server, plus catch-all and disposable-domain evidence. valid means accepted, invalid means rejected, unverifiable means the server cannot confirm. Unverifiable results are charged.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [EmailVerificationSuccess](https://docs.envoapi.com/api/schemas/EmailVerificationSuccess.md)

| Field             | Required                  | Schema                                                                                                                                                          | Description                                             |
| ----------------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| data              | yes                       | [EmailVerificationData](https://docs.envoapi.com/api/schemas/EmailVerificationData.md)                                                                          | The result of the call. Fields we cannot fill are null. |
| data.email        | yes (when parent present) | {"type":"string","minLength":3,"maxLength":254}                                                                                                                 |                                                         |
| data.user         | yes (when parent present) | {"anyOf":\[{"type":"string","maxLength":254},{"type":"null"}]}                                                                                                  |                                                         |
| data.domain       | yes (when parent present) | {"type":"string","minLength":3,"maxLength":253}                                                                                                                 |                                                         |
| data.mx           | yes (when parent present) | {"anyOf":\[{"type":"string","maxLength":253},{"type":"null"}]}                                                                                                  |                                                         |
| data.status       | yes (when parent present) | [EmailVerificationStatus](https://docs.envoapi.com/api/schemas/EmailVerificationStatus.md)                                                                      |                                                         |
| data.reason       | yes (when parent present) | [EmailVerificationReason](https://docs.envoapi.com/api/schemas/EmailVerificationReason.md)                                                                      |                                                         |
| data.isCatchAll   | yes (when parent present) | {"type":"boolean"}                                                                                                                                              |                                                         |
| data.isDisposable | yes (when parent present) | {"type":"boolean"}                                                                                                                                              |                                                         |
| meta              | yes                       | {"type":"object","properties":{"creditCost":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":\["creditCost"],"additionalProperties":false} | Information about the call itself.                      |
| meta.creditCost   | yes (when parent present) | {"type":"integer","minimum":0,"maximum":9007199254740991}                                                                                                       | How many credits this call used.                        |

Response example:

```json
{
  "data": {
    "email": "jane.doe@example.com",
    "user": "Jane Doe",
    "domain": "example.com",
    "mx": "mx.example.com",
    "status": "valid",
    "reason": "accepted",
    "isCatchAll": false,
    "isDisposable": false
  },
  "meta": {
    "creditCost": 2
  }
}
```

### 400

A request parameter is missing or invalid.

A parameter is missing or has a value we cannot use. Read error.details, fix the value and try again.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.

Content type: `application/json`.

Schema: [InvalidRequestErrorResponse](https://docs.envoapi.com/api/schemas/InvalidRequestErrorResponse.md)

### 401

Your API key is invalid or inactive.

Your API key is missing, wrong or switched off. Check it in your dashboard.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.

Content type: `application/json`.

Schema: [InvalidApiKeyErrorResponse](https://docs.envoapi.com/api/schemas/InvalidApiKeyErrorResponse.md)

### 402

Your account does not have enough credits.

Your account has no credits left. Top up, then send a new call.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [InsufficientCreditsErrorResponse](https://docs.envoapi.com/api/schemas/InsufficientCreditsErrorResponse.md)

### 403

Your API key or account cannot access this endpoint.

Your account is suspended or cannot use this endpoint. Resolve the account or its access first.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.

Content type: `application/json`.

Schema: [LookupForbiddenErrorResponse](https://docs.envoapi.com/api/schemas/LookupForbiddenErrorResponse.md)

### 404

The requested resource was not found.

Nothing matched what you sent. Check it for typos.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [ResourceNotFoundErrorResponse](https://docs.envoapi.com/api/schemas/ResourceNotFoundErrorResponse.md)

### 405

Use GET for this endpoint.

The route exists, but the request used a method other than GET. Use the method shown at the top of this page.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **Allow**: Required response header. Schema: {"type":"string","const":"GET"}.

Content type: `application/json`.

Schema: [MethodNotAllowedErrorResponse](https://docs.envoapi.com/api/schemas/MethodNotAllowedErrorResponse.md)

### 406

The response format in your Accept header is not supported.

The Accept header asks for a format we do not send. Ask for JSON with a supported Accept value.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.

Content type: `application/json`.

Schema: [NotAcceptableErrorResponse](https://docs.envoapi.com/api/schemas/NotAcceptableErrorResponse.md)

### 415

The Content-Type in your request is not supported.

The request declared a media type we do not accept. Remove the body or use the documented media type.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.

Content type: `application/json`.

Schema: [UnsupportedMediaTypeErrorResponse](https://docs.envoapi.com/api/schemas/UnsupportedMediaTypeErrorResponse.md)

### 422

Yahoo mailboxes are not supported: addresses at yahoo.\* domains, ymail.com and rocketmail.com cannot currently be verified or found. Check error.code for email\_unverifiable. The request is not retryable and the Credits are refunded.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [EmailUnverifiableErrorResponse](https://docs.envoapi.com/api/schemas/EmailUnverifiableErrorResponse.md)

### 429

Your account has sent too many requests.

Too many calls in a short time. Honor Retry-After; use bounded retries with backoff and jitter.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **Retry-After**: Seconds to wait before you try again. Schema: [PositiveSafeInteger](https://docs.envoapi.com/api/schemas/PositiveSafeInteger.md).

Content type: `application/json`.

Schema: [RateLimitExceededErrorResponse](https://docs.envoapi.com/api/schemas/RateLimitExceededErrorResponse.md)

### 500

A server error prevented the request from completing.

Something failed on our side. Retry only when error.retryable is true.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [InternalServerErrorResponse](https://docs.envoapi.com/api/schemas/InternalServerErrorResponse.md)

### 502

A data source returned an invalid response.

A data source sent back something we could not use. Retry with bounded backoff.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [UpstreamErrorResponse](https://docs.envoapi.com/api/schemas/UpstreamErrorResponse.md)

### 503

The verification provider is at capacity or unavailable. Credits are refunded. Check error.code and retry after the Retry-After delay.

Lookups are unavailable for a moment. Follow error.retryable, and Retry-After when it is present.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **Retry-After**: Seconds to wait before you try again. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [EmailVerificationUnavailableErrorResponse](https://docs.envoapi.com/api/schemas/EmailVerificationUnavailableErrorResponse.md)

### 504

The request timed out.

The lookup ran out of time. Retry with bounded backoff.

* **Date**: Required response header. Schema: [HttpDateHeader](https://docs.envoapi.com/api/schemas/HttpDateHeader.md).
* **Cache-Control**: Do not cache the reply. Schema: [CacheControlHeader](https://docs.envoapi.com/api/schemas/CacheControlHeader.md).
* **X-Request-Id**: A unique ID for this call. Quote it if you contact support. Schema: [RequestId](https://docs.envoapi.com/api/schemas/RequestId.md).
* **Content-Type**: Required response header. Schema: {"type":"string","const":"application/json; charset=utf-8"}.
* **X-Credits-Remaining**: Credits left on your account after this call. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Limit**: The Account's current rolling request ceiling. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Remaining**: Requests remaining in the current rolling window. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).
* **X-RateLimit-Reset**: Whole seconds until capacity resets, rounded up. Schema: [NonNegativeSafeInteger](https://docs.envoapi.com/api/schemas/NonNegativeSafeInteger.md).

Content type: `application/json`.

Schema: [UpstreamTimeoutErrorResponse](https://docs.envoapi.com/api/schemas/UpstreamTimeoutErrorResponse.md)

## Related documentation

* [Authentication](https://docs.envoapi.com/guides/authentication.md)

* [Errors](https://docs.envoapi.com/guides/errors.md)

* [Pagination](https://docs.envoapi.com/guides/pagination.md)

* [Rate limits](https://docs.envoapi.com/guides/rate-limits.md)

* [Check Disposable Email](https://docs.envoapi.com/api/operations/checkemaildisposable.md)

* [Find Email](https://docs.envoapi.com/api/operations/findemail.md)

[Documentation index](https://docs.envoapi.com/llms.txt) · [All endpoints](https://docs.envoapi.com/api/index.md)
