신원 및 검증 · DomScan 제품

이메일 검증 API 레퍼런스

이메일 구문, 도메인 메일 설정, 일회용 주소 신호 및 전달 위험을 평가하지만 메일함의 존재를 단정하지는 않습니다.

제공 내용

이메일 구문, 도메인 메일 설정, 일회용 주소 신호 및 전달 위험을 평가하지만 메일함의 존재를 단정하지는 않습니다.

동기일괄RESTMCPSDK대화형 도구

다음과 같은 경우 이 제품을 선택하세요

대상 사용자

양식 처리를 개선하고, 수동 검토의 우선순위를 정하고, 조직을 보강하고, 웹사이트가 선언한 자산을 연결하세요.

다음과 같은 경우 이 제품을 선택하세요

구문, 도메인 메일 설정, 일회용 주소, 위험 및 제한 신호가 필요할 때 선택하세요. 메일박스 존재를 증명하지 않습니다.

제공 내용

이메일 구문, 도메인 메일 설정, 일회용 주소 신호 및 전달 위험을 평가하지만 메일함의 존재를 단정하지는 않습니다.

엔드포인트

통합하기 전에 지원되는 작업, 입력, 출력, 실행 모드 및 응답 제한을 확인하세요.

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