Email Address

With Everbase, you can verify email addresses and detect disposable providers over a GraphQL API.

Let's use a Gmail address:

{
  emailAddress(address: "example@gmail.com") {
    host
    local
    ok
    serviceProvider {
      free
      disposable
      smtpOk
    }
  }
}
{
  "data": {
    "emailAddress": {
      "host": "gmail.com",
      "local": "example",
      "ok": true,
      "serviceProvider": {
        "free": true,
        "disposable": false,
        "smtpOk": true
      }
    }
  }
}

The ok value on emailAddress means the host has MX records and the SMTP probe was successful. It is a shortcut to checking if serviceProvider is not null and if smtpOk is true.

The free value is true because Gmail can be used at no cost, but it does require signup, which is why disposable is set to false.

Let's use a known disposable email provider:

{
  emailAddress(address: "example@mailinator.com") {
    serviceProvider {
      free
      disposable
    }
  }
}
{
  "data": {
    "emailAddress": {
      "serviceProvider": {
        "free": true,
        "disposable": true
      }
    }
  }
}

With a Mailinator address both free and disposable are set to true, as you'd expect.

Let's try this with a invalid domain.

{
  emailAddress(address: "example@probablynotavalidhost.org") {
    ok
    serviceProvider {
      smtpOk
    }
  }
}
{
  "data": {
    "emailAddress": {
      "ok": false,
      "serviceProvider": null
    }
  }
}

Here, serviceProvider is null because the domain does not have MX records. This is why it's generally recommended to use check the ok value before accessing serviceProvider.

For more information, check the EmailAddress reference. To try your own queries, use the editor.