Skip to content
View Markdown

Premium Features

Premium checks add DNS configuration, domain-age, and reputation signals. They are available on Pro; see Authentication and pricing.

Requesting features

For a single email or domain check, send comma-separated names in features. Keep the API key on the backend. Form-encoded POST is recommended; query parameters and GET path suffixes are also supported.

bash
curl --fail-with-body --max-time 10 \
  -H "X-Api-Key: $DISIFY_API_KEY" \
  https://disify.com/api/email \
  --data-urlencode '[email protected]' \
  --data-urlencode 'features=spf,dkim,dmarc'
bash
curl --fail-with-body --max-time 10 -H "X-Api-Key: $DISIFY_API_KEY" \
  "https://disify.com/api/email/[email protected]?features=spf,dkim,dmarc"

Set DISIFY_API_KEY in your server environment before running these examples. The features parameter is ignored for bulk requests; automatic tier features such as spam-trap detection still run.

Available features

FeatureResponse keyMeaning
spfemail_auth.spfSummary of the SPF record's all policy: pass, neutral, softfail, hardfail, or none.
dkimemail_auth.dkim_configuredWhether DKIM records were found at the selectors DISIFY probes.
dmarcemail_auth.dmarcPublished DMARC policy and record.
domain_agedomain_ageRegistration date, age in days, and whether the domain is fresh.
inbox_providerinbox_providerProvider inferred from MX records and available SPF data.
deliverabilitydeliverability_scoreA 0–100 score based on the available authentication, MX, and domain-age fields.

spam_trap is included automatically on Pro. It reports known trap-domain or address-pattern matches; is_trap: false does not prove an address is safe to contact.

Interpreting premium results

These checks inspect domain configuration, not a sent message. SPF hardfail describes a restrictive record policy, not a failed API request. dkim_configured: false means no record was found at the probed selectors; other selectors may exist.

The deliverability score is not a delivery probability or mailbox-existence check. To include all supported scoring inputs, request spf,dkim,dmarc,domain_age,deliverability together. A fresh domain adds the fresh_domain signal and can change the final disposable verdict; domain_age.fresh reports its freshness.

Pro response example

Illustrative premium fields for a domain with usable MX records. Core fields are omitted here; actual records and age vary by domain.

json
{
  "spam_trap": {
    "is_trap": false,
    "type": null,
    "reason": null
  },
  "email_auth": {
    "spf": "softfail",
    "spf_record": "v=spf1 include:_spf.google.com ~all",
    "dmarc": {
      "policy": "reject",
      "record": "v=DMARC1; p=reject; sp=quarantine; pct=100; rua=mailto:[email protected]",
      "subdomain_policy": "quarantine",
      "pct": 100,
      "rua": "mailto:[email protected]"
    },
    "dkim_configured": true,
    "dkim_selectors_found": ["google", "selector1"]
  },
  "domain_age": {
    "registered": "2015-06-01",
    "age_days": 3848,
    "fresh": false
  },
  "inbox_provider": "Google Workspace",
  "deliverability_score": 95
}

Missing or unavailable features

Check HTTP status first. A successful core response can contain:

  • requires_upgrade — the requested feature is not included in your plan.
  • unsupported_featuressmtp or catch_all, which are not offered on any plan.
  • temporarily_unavailable_features — a requested check could not finish; retry later.

Domain age and inbox provider can also be omitted when no result is available. A missing field is not a successful negative check. Example of denied features, with other fields omitted:

json
{
  "requires_upgrade": ["spf", "dkim"],
  "upgrade_url": "https://disify.com/pricing",
  "upgrade_message": "These features require a paid plan. See https://disify.com/pricing"
}

See Response Fields for the complete field reference.

Free disposable email detection API · Terms · Privacy