Docs/Skills/Disposable Email Skill

Disposable Email Skill

Check if email is disposable

OperationalCredits 6 per callp50 178msData Validation

Overview

Send a complete email address, or just a domain, to check it against a disposable email blocklist of over 100,000 throwaway and temp email domains, updated daily. The check tests both exact matches and parent domains, and separately flags privacy relay addresses such as Apple Hide My Email, DuckDuckGo and Firefox Relay, which forward to a real inbox. Paid plans also read the domain's MX records to name the relay service behind a custom domain and to catch new throwaway domains that receive mail through a known disposable service.

Live Test Disposable Email Skill Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as DisposableEmailSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "DisposableEmailSkill",
  "arguments": {}
}

Connecting

One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervekit": {
      "url": "https://api.vervekit.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
emailOptionalstringThe email address to check (e.g., [email protected]). Send this or domain
email
domainOptionalstringA domain to check instead of a full address (e.g., mailinator.com). Send this or email
domain

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "isDisposable": false,
    "email": "[email protected]",
    "domain": "myspace.com",
    "isRelay": false,
    "relayService": null,
    "isDisposableMx": false
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
isDisposablebooleanfalseWhether the email address is a disposable address (matched by exact domain or a parent domain of the sender)
emailstring[email protected]The email address that was checked; null when a domain was sent instead
domainstringmyspace.comThe domain that was checked, taken from the email address when one was sent
isRelaybooleanfalseThe domain belongs to an email relay or forwarding service (Apple Hide My Email, DuckDuckGo, Firefox Relay, SimpleLogin, Proton Pass, addy.io, 33mail). Relay addresses stay live and forward to a real mailbox the sender never sees, so they are reported separately from isDisposable
relayServicePremiumobjectnullWhich relay service handles the address. Also names the service when a custom domain routes its mail through SimpleLogin, addy.io, Apple or DuckDuckGo, which isRelay does not catch; null when no relay service is involved or the MX lookup failed
isDisposableMxPremiumbooleanfalseThe domain's mail servers belong to a known disposable email service. Catches newly registered throwaway domains that are not on the list yet, because they still receive mail through the same service; null if the MX lookup failed

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This skill is not part of VerveKit. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 6 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

User Registration Screening
To stop fake signups, SaaS apps check user email addresses at registration and reject submissions matching temporary domain lists.
Mailing List Cleaning
Filter out temporary inboxes from marketing contact databases before scheduling newsletter campaigns to protect sender reputation and delivery rates.
Gated Content Verification
When visitors request whitepapers or trial access, verify their email domain immediately to require a genuine corporate or personal inbox.
Promo Abuse Prevention
E-commerce stores evaluate customer emails during checkout to prevent shoppers from repeatedly claiming first-order discounts with burner accounts.

Other ways to use Disposable Email Skill

Set up Disposable Email Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Data Validation:

Was this page helpful?