---
title: "/v1/check_email"
method: POST
path: "/v1/check_email"
---

# /v1/check_email

`POST /v1/check_email`

Perform a comprehensive verification of an email address. This endpoint supersedes the previous `/v0/check_email` endpoint, maintaining the same input and output format. Unlike the `/v0/check_email` endpoint, the new `/v1/check_email` endpoint queues the email for verification, and the Reacher server processes the queue based on its configuration settings such as throttle and concurrency.

## Request body

- CheckEmailRequest — A request object to perform an email verification. The `to_email` field is required, all other fields are optional.
  - `from_email` string — In the SMTP connection, the FROM email address.
  - `to_email` string, required — The email address to check.
  - `hello_name` string — In the SMTP connection, the EHLO hostname.
  - `proxy` CheckEmailInputProxy — Proxy configuration for email verification.
    - `host` string, required — The proxy host address.
    - `port` integer, required — The proxy port number.
    - `username` string — Username for proxy authentication.
    - `password` string — Password for proxy authentication.
  - `smtp_port` number — SMTP port to use for email validation. Defaults to 25, but 465, 587, and 2525 are sometimes also used.
  - `gmail_verif_method` 'Smtp' — Enumeration describing the method used to verify Gmail emails.
  - `hotmailb2b_verif_method` 'Smtp' — Enumeration describing the method used to verify Hotmail B2B emails.
  - `hotmailb2c_verif_method` 'Smtp' | 'Headless' — Enumeration describing the method used to verify Hotmail B2C emails.
  - `yahoo_verif_method` 'Api' | 'Headless' | 'Smtp' — Enumeration describing the method used to verify Yahoo emails.
  - `check_gravatar` boolean — Whether to check if a Gravatar image exists for the given email.

## Response `200`

OK

- CheckEmailOutput — The result of the email verification process.
  - `input` string, email, required — The email address that was verified.
  - `is_reachable` 'invalid' | 'unknown' | 'safe' | 'risky', required — An enumeration describing the confidence level that the recipient address is valid: `safe`, `risky`, `invalid`, or `unknown`. Refer to our FAQ for detailed definitions: https://help.reacher.email/email-attributes-inside-json.
  - `misc` union, required — Additional information about the email account.
    - MiscDetails — Additional information about the email account.
      - `is_disposable` boolean, required — Indicates if the email address is from a known disposable email provider.
      - `is_role_account` boolean, required — Indicates if the email address is a role-based account.
      - `gravatar_url` string — URL to the Gravatar profile picture associated with the email, if available and requested.
      - `is_b2c` boolean, required — Is this a B2C email address?
    - CoreError — Details of an error encountered during the verification process.
      - `type` string, required — The type of error.
      - `message` string, required — A human-readable description of the error.
  - `mx` union, required — Details obtained from querying the mail server's MX records.
    - MxDetails — Details about the mail server's MX records.
      - `accepts_mail` boolean, required — Indicates if the mail server accepts emails.
      - `records` string[], required — List of Fully Qualified Domain Names (FQDN) of the mail server.
    - CoreError — Details of an error encountered during the verification process.
      - `type` string, required — The type of error.
      - `message` string, required — A human-readable description of the error.
  - `smtp` union, required — Results from connecting to the mail server via SMTP.
    - SmtpDetails — Results from SMTP connection attempts to the mail server.
      - `can_connect_smtp` boolean, required — Indicates if the mail exchanger can be contacted successfully.
      - `has_full_inbox` boolean, required — Indicates if the mailbox is full.
      - `is_catch_all` boolean, required — Indicates if the email address is a catch-all address.
      - `is_deliverable` boolean, required — Indicates if an email sent to this address is deliverable.
      - `is_disabled` boolean, required — Indicates if the email address has been disabled by the provider.
    - CoreError — Details of an error encountered during the verification process.
      - `type` string, required — The type of error.
      - `message` string, required — A human-readable description of the error.
  - `syntax` SyntaxDetails, required — Validation of the email address syntax.
    - `domain` string, required — The domain part of the email address.
    - `is_valid_syntax` boolean, required — Indicates if the email address syntax is valid.
    - `username` string, required — The username part of the email address.
  - `debug` DebugDetails
    - `start_time` string, required — The timestamp when the email verification started.
    - `end_time` string, required — The timestamp when the email verification ended.
    - `duration` Duration, required — An object representing a duration in seconds and nanoseconds.
      - `secs` number, required — Duration in seconds.
      - `nanos` number, required — Duration in nanoseconds.
    - `server_name` string, required — The name of the server that performed the verification.
    - `smtp` DebugDetailsSmtp, required — SMTP details used for debugging, including the verification method.
      - `verif_method` VerifMethod — The method used for email verification.
        - `type` 'Smtp' | 'Headless' | 'Api' | 'Skipped', required — The method used for the email verification.

---

[API](https://skmtc.net/reacherhq/apis/reacher.md) · [All operations](https://skmtc.net/reacherhq/apis/reacher/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reacherhq/reacher/revisions/cf5b66e45849/schema)
