---
updatedAt: 2025-11-06T19:46:11.000Z
agentTools:
  projectIndex: https://docs.accurateappend.com/llms.txt
---

# Validate Email Address

Parse email addresses into username and domain. Detects temporary email addresses, and verifies delivery status. 

*- Features a complete syntactical email validation engine that obeys current IETF standards, including RFC 1123, RFC 2821, RFC 2822, RFC 3490, RFC 3696, RFC 4291, RFC 5321, RFC 5322 and RFC 5336.
*- Detects temporarily email addresses generated by certain free services on the Internet collectively known as "disposable" email address providers.
*- Actively verifies delivery status of email address including the detection of known SPAM traps and inboxes that are simply out of space.

> 🚧 HTTP Headers
>
> The "content-type" in the HTTP header must be set to "application/json", otherwise an HTTP 400 Bad Request response will be returned.

## EmailResult

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th style={{ textAlign: "left" }}>
        Field name
      </th>

      <th style={{ textAlign: "left" }}>
        Type
      </th>

      <th style={{ textAlign: "left" }}>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td style={{ textAlign: "left" }}>
        User
      </td>

      <td style={{ textAlign: "left" }}>
        string
      </td>

      <td style={{ textAlign: "left" }}>
        Parsed username
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        Domain
      </td>

      <td style={{ textAlign: "left" }}>
        string
      </td>

      <td style={{ textAlign: "left" }}>
        Parsed domain name
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        Codes
      </td>

      <td style={{ textAlign: "left" }}>
        array
      </td>

      <td style={{ textAlign: "left" }}>
        Parsing and validation results. See Status codes.
      </td>
    </tr>
  </tbody>
</Table>

## ValidateEmail Status Codes

This section lists the following types of status codes for the the ValidateEmail method.

## Result Codes

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Code
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        E10
      </td>

      <td>
        Email address verified with ISP as deliverable
      </td>
    </tr>

    <tr>
      <td>
        E11
      </td>

      <td>
        Syntax OK
      </td>
    </tr>
  </tbody>
</Table>

## Error Codes

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Code
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        E1
      </td>

      <td>
        Syntax failure
      </td>
    </tr>

    <tr>
      <td>
        E2
      </td>

      <td>
        Domain is unreachable
      </td>
    </tr>

    <tr>
      <td>
        E3
      </td>

      <td>
        Email address is disposable
      </td>
    </tr>

    <tr>
      <td>
        E4
      </td>

      <td>
        Email address is undeliverable
      </td>
    </tr>

    <tr>
      <td>
        E5
      </td>

      <td>
        Email address is illegitimate
      </td>
    </tr>

    <tr>
      <td>
        E6
      </td>

      <td>
        Email found in suppression file
      </td>
    </tr>

    <tr>
      <td>
        E7
      </td>

      <td>
        Email delivery status is unknown
      </td>
    </tr>
  </tbody>
</Table>

## HTTP Error Messages

[Click to see a complete listing of error messages and codes](https://docs.accurateappend.com/reference#error-messages).

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "new-api-settings",
    "version": "2"
  },
  "servers": [
    {
      "url": "https://api.accurateappend.com/Services/V2"
    }
  ],
  "security": [
    {}
  ],
  "paths": {
    "/ValidateEmail/{licensekey}/": {
      "get": {
        "summary": "Validate Email Address",
        "description": "Parse email addresses into username and domain. Detects temporary email addresses, and verifies delivery status. \n\n*- Features a complete syntactical email validation engine that obeys current IETF standards, including RFC 1123, RFC 2821, RFC 2822, RFC 3490, RFC 3696, RFC 4291, RFC 5321, RFC 5322 and RFC 5336.\n*- Detects temporarily email addresses generated by certain free services on the Internet collectively known as \"disposable\" email address providers.\n*- Actively verifies delivery status of email address including the detection of known SPAM traps and inboxes that are simply out of space.",
        "operationId": "validateemail",
        "parameters": [
          {
            "name": "licensekey",
            "in": "path",
            "description": "License key issued by customer support. <a href=\"https://clients.accurateappend.com/Api/Trial/RequestTrial\" target=\"_blank\" >Click here</a> for a trial key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Search subject's email address.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "verifydeliverable",
            "in": "query",
            "description": "Verifies current email address delivery status by contacting the ISP’s email server and checking for existence of the mailbox.",
            "required": true,
            "schema": {
              "type": "string",
              "default": "true"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n     \"Criteria\": {\n          \"Host\": \"XXXX\",\n           \"RequestDate\": \"2015-08-12T22:27:56.1587884Z\",\n           \"RequestIP\": \"192:168:1:1\",\n           \"TransactionId\": \"95ad31e8-917e-4067-aa37-599b8489b4bb\",\n           \"Email\": \"johnsmith@gmail.com\" }\n,\n      \"EmailResult\": {\n          \"Codes\": [\n               {\n                    \"Code\": \"E11\",\n                     \"Description\": \"Syntax OK\",\n                     \"Type\": \"Status\" }\n          ,\n                {\n                    \"Code\": \"E6\",\n                     \"Description\": \"Email found in supression file\",\n                     \"Type\": \"Error\" }\n           ]\n     ,\n           \"Domain\": \"gmail.com\",\n           \"User\": \"johnsmith\" }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "Criteria": {
                      "type": "object",
                      "properties": {
                        "Host": {
                          "type": "string",
                          "example": "XXXX"
                        },
                        "RequestDate": {
                          "type": "string",
                          "example": "2015-08-12T22:27:56.1587884Z"
                        },
                        "RequestIP": {
                          "type": "string",
                          "example": "192:168:1:1"
                        },
                        "TransactionId": {
                          "type": "string",
                          "example": "95ad31e8-917e-4067-aa37-599b8489b4bb"
                        },
                        "Email": {
                          "type": "string",
                          "example": "johnsmith@gmail.com"
                        }
                      }
                    },
                    "EmailResult": {
                      "type": "object",
                      "properties": {
                        "Codes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "Code": {
                                "type": "string",
                                "example": "E11"
                              },
                              "Description": {
                                "type": "string",
                                "example": "Syntax OK"
                              },
                              "Type": {
                                "type": "string",
                                "example": "Status"
                              }
                            }
                          }
                        },
                        "Domain": {
                          "type": "string",
                          "example": "gmail.com"
                        },
                        "User": {
                          "type": "string",
                          "example": "johnsmith"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-readme": {
          "code-samples": [
            {
              "language": "php",
              "code": "<?php\n    \n$licensekey = \"YOURKEYHERE\";\n\n//       https://api.accurateappend.com/Services/V2/ValidateEmail/\n$url =  \"https://api.accurateappend.com/Services/V2/ValidateEmail/\" . $licensekey . \"/?\";\n$querystring = \"email=johnsmith@gmail.com\" .\n               \"&verifydeliverable=true\";\n\n$url .= $querystring;\n//echo \"request url: \" . $url . \"<br>\\n<br>\\n\";\n\nif(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')\n{\n    // windows operating system as the requesting server\n    $cacert_path_file = dirname(__FILE__) . \"\\cacert.pem\";\n}\nelse\n{\n    // other os\n    $cacert_path_file = \"cacert.pem\";\n}\n\n$ch = curl_init();\ncurl_setopt($ch, CURLOPT_URL, $url);\ncurl_setopt($ch, CURLOPT_HTTPGET, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));\ncurl_setopt($ch, CURLOPT_SSLVERSION, 'CURL_SSLVERSION_DEFAULT');  // on a windows server the single quotes are required on 3rd parameter\ncurl_setopt($ch, CURLOPT_CAINFO, $cacert_path_file);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_VERBOSE, true);\n\n$json_string = curl_exec($ch);\n$curl_err = curl_error($ch);\n\nif($curl_err)\n{\n    echo \"curl error: $curl_err\";\n}\nelse\n{\n    curl_close($ch);\n\n    // decode json\n    $parsed_json = json_decode($json_string);\n\n    // instantiate an associative array\n    $response = array();\n    // load json data into associative array\n    $response = json_to_associative($parsed_json);\n\n    // print the associative array to the screen\n    foreach ($response as $key => $value)\n    {\n        echo $key . \" = \" . $value . \"<br>\\n\";\n    }\n}\n\n\n\n\n// --------------------------------------------------------- //\n//\n// --------------------------------------------------------- //\nfunction json_to_associative($parsed_json)\n{\n    $response = array();\n\n    // load the associative array with all response key/value pairs\n    $response['Host'] = $parsed_json->{'Criteria'}->Host;\n    $response['RequestDate'] = $parsed_json->{'Criteria'}->RequestDate;\n    $response['RequestIP'] = $parsed_json->{'Criteria'}->RequestIP;\n    $response['TransactionId'] = $parsed_json->{'Criteria'}->TransactionId;\n    $response['Email'] = $parsed_json->{'Criteria'}->Email;\n\n\n\n    // typecast the stdClass to array\n    $obj_arr = (array)$parsed_json->{'EmailResult'};\n\n    if(!empty($obj_arr))\n    {\n        $response['Domain'] = $obj_arr['Domain'];\n        $response['User'] = $obj_arr['User'];\n\n\n        // iteration required for mulitple Phones response\n        for($i = 0; $i < count($parsed_json->{'EmailResult'}->{'Codes'}); $i++)\n        {\n\n            $keynum = $i + 1;\n\n            $response['Code' . $keynum] = $parsed_json->{'EmailResult'}->{'Codes'}[$i]->Code;\n            $response['Description' . $keynum] = $parsed_json->{'EmailResult'}->{'Codes'}[$i]->Description;\n            $response['Status' . $keynum] = $parsed_json->{'EmailResult'}->{'Codes'}[$i]->Type;\n        }\n    }\n    return $response;\n}\n\n/*\nCopyright (c) 2015-2025, AccurateAppend Corp\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \nADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n?>"
            },
            {
              "language": "csharp",
              "code": "using System;\nusing System.Collections.Generic;\nusing System.Net;\nusing RestSharp;\n\nnamespace Samples\n{\n    // This example uses the RestSharp NuGet package (https://www.nuget.org/packages/RestSharp)\n  \n    public static class Program\n    {\n        private const String Key = \"YOURKEYHERE\";\n        private const String RootUri = @\"http://api.accurateappend.com/Services/V2\";\n\n        public static void Main(String[] args)\n        {\n            ValidateEmail();\n        }\n\n        #region Validate Email\n\n        private static void ValidateEmail()\n        {\n            const String Resource =\n                \"/ValidateEmail/\" + Key +\n                \"/?email=johnsmith@gmail.com&verifydeliverable=true\";\n\n            var request = new RestRequest(Resource) { Method = Method.GET };\n\n            var client = new RestClient(RootUri);\n            var response = client.Execute<ValidateEmailResponse>(request);\n            if (response.StatusCode != HttpStatusCode.OK)\n            {\n                // Error Handling Omitted For Brevity\n            }\n            var data = response.Data;\n            Console.WriteLine(\"{0} {1}\", data.EmailResult.User, data.EmailResult.Domain);\n        }\n\n        public class ValidateEmailResponse\n        {\n            public EmailValidationResult EmailResult { get; set; }\n        }\n\n        public class EmailValidationResult\n        {\n            public String User { get; set; }\n\n            public String Domain { get; set; }\n\n            public List<Result> Codes { get; set; }\n        }\n\n        #endregion\n    }\n\n}\n\n/*\nCopyright (c) 2015-2025, AccurateAppend Corp\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \nADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/"
            }
          ],
          "samples-languages": [
            "php",
            "csharp"
          ]
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```