アイデンティティと検証 · DomScan製品

メール認証 APIリファレンス

メールアドレスの構文、ドメインのメール設定、使い捨てアドレスの兆候、配信リスクを評価します。メールボックスの存在を断定するものではありません。

得られるもの

メールアドレスの構文、ドメインのメール設定、使い捨てアドレスの兆候、配信リスクを評価します。メールボックスの存在を断定するものではありません。

同期一括RESTMCPSDKインタラクティブツール

この製品を選ぶ場面

対象ユーザー

フォーム処理を改善し、人手レビューを優先し、組織を補足し、Webサイト宣言の資産をつなぐために使います。

この製品を選ぶ場面

構文、ドメインのメール設定、使い捨てアドレス、リスク、制限のシグナルが必要なときに選びます。メールボックスの存在は証明しません。

得られるもの

メールアドレスの構文、ドメインのメール設定、使い捨てアドレスの兆候、配信リスクを評価します。メールボックスの存在を断定するものではありません。

エンドポイント

統合する前に、サポートされる操作、入力、出力、実行モード、レスポンス制限を確認してください。

GET /v1/email/verify APIリファレンスを見る
POST /v1/email/verify/bulk APIリファレンスを見る

クレジットと認証

2 認証が必要。正確な料金と項目ごとの料金については、操作リファレンスを確認してください。

操作例

文書化された操作を使って、公開証拠を収集、評価、補足、検証、比較、保護、監視します。

GET /v1/email/verify クレジット: 2

クエリパラメータ

パラメータ タイプ 必須
email string 必須
full boolean
デフォルト false
オプション

レスポンスフィールド

フィールド タイプ
email string
normalized_email string
result string
result_detail string
message string | null
risk string
confidence number
confidence_level string
decision string
reasons[] string[]
verification object
verification.syntax_valid boolean
verification.mx_found boolean
verification.null_mx boolean
verification.mx_lookup_failed boolean
verification.mx_records[] string[]
verification.smtp_verified boolean | null
verification.mailbox_exists boolean | null
verification.catch_all boolean | null
verification.full_inbox boolean | null
verification.smtp_provider string | null
classification object
classification.disposable boolean
classification.disposable_confidence string | null
classification.role_based boolean
classification.role_type string | null
classification.free_provider boolean
classification.provider string | null
reputation object
reputation.dnsbl_listed boolean
reputation.dnsbl_status string
reputation.threat_level string | null
quality object
quality.score integer
quality.grade string
quality.flags[] string[]
signals object
evidence object
evidence.mx_records[] string[]
evidence.provider string | null
evidence.checked_via[] string[]
evidence.normalized_parts object
evidence.normalized_parts.local_part string
evidence.normalized_parts.domain string
evidence.normalized_parts.base_local_part string
evidence.normalized_parts.tag string | null
evidence.domain_profile object
evidence.domain_profile.tld string | null
evidence.domain_profile.label_count integer
evidence.domain_profile.reserved boolean
evidence.domain_profile.domain_literal boolean
evidence.domain_profile.punycode boolean
evidence.domain_profile.suspicious_reasons[] string[]
evidence.domain_authentication object
evidence.domain_authentication.checked boolean
evidence.domain_authentication.status string
evidence.domain_authentication.spf object
evidence.domain_authentication.spf.exists boolean
evidence.domain_authentication.spf.policy string
evidence.domain_authentication.spf.record string | null
evidence.domain_authentication.dmarc object
evidence.domain_authentication.dmarc.exists boolean
evidence.domain_authentication.dmarc.policy string
evidence.domain_authentication.dmarc.record string | null
evidence.domain_authentication.dmarc.percentage integer | null
evidence.domain_authentication.mta_sts object
evidence.domain_authentication.mta_sts.exists boolean
evidence.domain_authentication.mta_sts.record string | null
evidence.domain_authentication.tls_rpt object
evidence.domain_authentication.tls_rpt.exists boolean
evidence.domain_authentication.tls_rpt.record string | null
evidence.domain_authentication.issues[] string[]
recommendation object
recommendation.signup string
recommendation.marketing string
recommendation.cold_outreach string
deliverability object
deliverability.status string
deliverability.sub_status string
deliverability.safe_to_send boolean
deliverability.mailbox_checked boolean
deliverability.smtp_confirmed boolean
deliverability.domain_accepts_mail boolean
deliverability.accepts_all boolean | null
deliverability.is_role boolean
deliverability.is_free_provider boolean
deliverability.is_disposable boolean
deliverability.is_toxic boolean
deliverability.is_no_reply boolean
deliverability.is_gibberish boolean
suggestions object
suggestions.did_you_mean string | null
limitations[] string[]
tier string
credits_used integer
verified_at string

リクエスト例

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/email/verify?email=user%40company.com&full=false"
const response = await fetch("https://domscan.net/v1/email/verify?email=user%40company.com&full=false", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
import os
import requests

response = requests.get(
    "https://domscan.net/v1/email/verify?email=user%40company.com&full=false",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/email/verify?email=user%40company.com&full=false", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/email/verify?email=user%40company.com&full=false")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))

レスポンス例

{
  "email": "[email protected]",
  "normalized_email": "[email protected]",
  "risk": "low",
  "confidence": 0.62,
  "confidence_level": "medium",
  "decision": "accept",
  "reasons": [
    "mx_found",
    "not_disposable",
    "redundant_mx_records",
    "domain_authentication_strong",
    "mailbox_not_checked"
  ],
  "signals": {
    "syntax": {
      "status": "pass",
      "confidence": 1,
      "reason": "syntax_valid"
    },
    "dns": {
      "status": "pass",
      "confidence": 0.92,
      "reason": "mx_found",
      "details": {
        "mx_records": [
          "mx1.mailhost-example.net",
          "mx2.mailhost-example.net"
        ],
        "null_mx": false
      }
    },
    "mailbox": {
      "status": "not_checked",
      "confidence": 0.35,
      "reason": "mailbox_not_checked"
    },
    "catch_all": {
      "status": "unknown",
      "confidence": 0.35,
      "reason": "not_checked"
    },
    "disposable": {
      "status": "pass",
      "confidence": 0.7,
      "reason": "not_disposable",
      "details": {
        "confidence": null
      }
    },
    "role": {
      "status": "pass",
      "confidence": 0.86,
      "reason": "not_role_based",
      "details": {
        "role_type": null
      }
    },
    "free_provider": {
      "status": "pass",
      "confidence": 0.9,
      "reason": "business_or_custom_domain",
      "details": {
        "provider": null
      }
    },
    "reputation": {
      "status": "pass",
      "confidence": 0.72,
      "reason": "not_listed",
      "details": {
        "threat_level": "none"
      }
    },
    "typo": {
      "status": "pass",
      "confidence": 0.7,
      "reason": "no_common_provider_typo",
      "details": {
        "did_you_mean": null
      }
    },
    "random_input": {
      "status": "pass",
      "confidence": 0.65,
      "reason": "not_random_like"
    },
    "reserved_domain": {
      "status": "pass",
      "confidence": 0.78,
      "reason": "not_reserved_domain",
      "details": {
        "domain": "acme-widgets.com",
        "tld": "com",
        "reserved": false,
        "domain_literal": false
      }
    },
    "domain_profile": {
      "status": "pass",
      "confidence": 0.68,
      "reason": "clean_domain_profile",
      "details": {
        "normalized": "acme-widgets.com",
        "tld": "com",
        "label_count": 2,
        "reserved": false,
        "domain_literal": false,
        "punycode": false,
        "suspicious_reasons": []
      }
    },
    "local_part": {
      "status": "pass",
      "confidence": 0.66,
      "reason": "clean_local_part",
      "details": {
        "base_local_part": "jane.doe",
        "numeric_ratio": 0,
        "separator_count": 1,
        "suspicious_reasons": []
      }
    },
    "subaddressing": {
      "status": "pass",
      "confidence": 0.65,
      "reason": "no_plus_tag",
      "details": {
        "plus_addressed": false,
        "base_local_part": "jane.doe",
        "tag": null
      }
    },
    "mx_redundancy": {
      "status": "pass",
      "confidence": 0.82,
      "reason": "redundant_mx_records",
      "details": {
        "mx_count": 2
      }
    },
    "domain_authentication": {
      "status": "pass",
      "confidence": 0.86,
      "reason": "domain_authentication_strong",
      "details": {
        "checked": true,
        "spf": {
          "exists": true,
          "policy": "fail",
          "record": "v=spf1 include:_spf.mailhost-example.net -all"
        },
        "dmarc": {
          "exists": true,
          "policy": "reject",
          "record": "v=DMARC1; p=reject; rua=mailto:[email protected]",
          "percentage": null
        },
        "mta_sts": {
          "exists": true,
          "record": "v=STSv1; id=20260101T000000"
        },
        "tls_rpt": {
          "exists": true,
          "record": "v=TLSRPTv1; rua=mailto:[email protected]"
        },
        "status": "strong",
        "issues": []
      }
    },
    "toxicity": {
      "status": "pass",
      "confidence": 0.68,
      "reason": "not_toxic",
      "details": {
        "score": 0,
        "toxic": false,
        "do_not_mail": false,
        "reasons": []
      }
    },
    "provider_profile": {
      "status": "unknown",
      "confidence": 0.55,
      "reason": "custom_domain_mail",
      "details": {
        "provider": null,
        "category": "custom_domain_mail",
        "confidence": 0.55
      }
    },
    "smtp_server": {
      "status": "not_checked",
      "confidence": 0,
      "reason": "not_checked"
    }
  },
  "evidence": {
    "mx_records": [
      "mx1.mailhost-example.net",
      "mx2.mailhost-example.net"
    ],
    "provider": null,
    "checked_via": [
      "worker"
    ],
    "normalized_parts": {
      "local_part": "jane.doe",
      "domain": "acme-widgets.com",
      "base_local_part": "jane.doe",
      "tag": null
    },
    "domain_profile": {
      "tld": "com",
      "label_count": 2,
      "reserved": false,
      "domain_literal": false,
      "punycode": false,
      "suspicious_reasons": []
    },
    "domain_authentication": {
      "checked": true,
      "spf": {
        "exists": true,
        "policy": "fail",
        "record": "v=spf1 include:_spf.mailhost-example.net -all"
      },
      "dmarc": {
        "exists": true,
        "policy": "reject",
        "record": "v=DMARC1; p=reject; rua=mailto:[email protected]",
        "percentage": null
      },
      "mta_sts": {
        "exists": true,
        "record": "v=STSv1; id=20260101T000000"
      },
      "tls_rpt": {
        "exists": true,
        "record": "v=TLSRPTv1; rua=mailto:[email protected]"
      },
      "status": "strong",
      "issues": []
    }
  },
  "recommendation": {
    "signup": "allow",
    "marketing": "send",
    "cold_outreach": "send"
  },
  "deliverability": {
    "status": "deliverable",
    "sub_status": "mx_verified",
    "safe_to_send": true,
    "mailbox_checked": false,
    "smtp_confirmed": false,
    "domain_accepts_mail": true,
    "accepts_all": null,
    "is_role": false,
    "is_free_provider": false,
    "is_disposable": false,
    "is_toxic": false,
    "is_no_reply": false,
    "is_gibberish": false
  },
  "suggestions": {
    "did_you_mean": null
  },
  "limitations": [
    "basic_tier_does_not_confirm_mailbox_existence"
  ],
  "result": "valid",
  "result_detail": "mx_verified",
  "verification": {
    "syntax_valid": true,
    "mx_found": true,
    "mx_records": [
      "mx1.mailhost-example.net",
      "mx2.mailhost-example.net"
    ],
    "null_mx": false,
    "smtp_verified": null,
    "mailbox_exists": null,
    "catch_all": null,
    "full_inbox": null,
    "smtp_provider": null
  },
  "classification": {
    "disposable": false,
    "disposable_confidence": null,
    "role_based": false,
    "role_type": null,
    "free_provider": false,
    "provider": null
  },
  "reputation": {
    "dnsbl_listed": false,
    "threat_level": "none"
  },
  "quality": {
    "score": 100,
    "grade": "A",
    "flags": []
  },
  "tier": "basic",
  "credits_used": 2,
  "verified_at": "2026-10-09T10:15:30.000Z"
}

HTTP ステータスコード

  • 200 成功
  • 400 不正なリクエスト
  • 401 未認証
  • 402 支払いが必要
  • 429 リクエスト過多

よくある質問

メール認証のリクエストとレスポンスのリファレンスはどこで確認できますか?

メール認証のAPIリファレンスで、パラメーター、レスポンスフィールド、例、ステータスコード、サポートされる操作モードを確認できます。

メール認証の不明または不完全な結果はどのように解釈すべきですか?

不明または部分的な結果は、要求された証拠を完全には判定できなかったことを意味します。下流の判断では、結果の状態、信頼度、鮮度、制限を維持してください。

メール認証の料金はどのように決まりますか?

料金は操作と実行モードによって異なります。現在のクレジット料金、認証要件、項目ごとのルールについては、エンドポイントリファレンスを確認してください。

これらの企業の担当者に使われています

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse