개발자 참고자료
이메일 블랙리스트 API 문서
이메일 블랙리스트 API 문서: 일회용/임시 이메일 주소, 역할 기반 주소, 무료 공급자를 감지하고 도메인 평판을 확인하는 포괄적인 이메일 검증 API입니다. 저희 데이터베이스에는 높음/중간/낮음 신뢰도 점수가 있는 80,000개 이상의 일회용 이메일 도메인이 포함되어 있습니다. 가입 사기 방지 및 리드 품질 필터링에 필수적입니다.
이메일 블랙리스트
일회용/임시 이메일 주소, 역할 기반 주소, 무료 공급자를 감지하고 도메인 평판을 확인하는 포괄적인 이메일 검증 API입니다. 저희 데이터베이스에는 높음/중간/낮음 신뢰도 점수가 있는 80,000개 이상의 일회용 이메일 도메인이 포함되어 있습니다. 가입 사기 방지 및 리드 품질 필터링에 필수적입니다.
GET
/v1/email/check
쿼리 매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| email 필수 | string | 확인할 이메일 주소 (예: "user@tempmail.com") |
| checks 선택 사항 | string | 실행할 쉼표로 구분된 검사: disposable, role, free, mx, dnsbl. 기본값: 모두 |
사용 가능한 확인
| 확인 | 설명 | 위험 점수 |
|---|---|---|
disposable | 80,000개 이상의 일회용 도메인 데이터베이스에 대해 확인 | +80 |
role | 역할 기반 주소 탐지 (admin@, support@ 등) | +20 |
free | 무료 이메일 제공자 식별 (gmail, yahoo 등) | +10 |
mx | 도메인에 대한 MX 레코드 확인 | +50 (없는 경우) |
dnsbl | DNS 블랙리스트 (Spamhaus 등)에 대해 도메인 확인 | +15-60 |
위험 수준
- 낮음 (0-39):: 수락 안전
- 중간 (40-69):: 검토 권장
- 높음 (70-100):: 사기/임시일 가능성이 높음
예제 요청
# Full check (all validations)
curl "https://domscan.net/v1/email/check?email=user@tempmail.com"
# Quick disposable check only
curl "https://domscan.net/v1/email/check?email=user@gmail.com&checks=disposable"
import requests
response = requests.get(
"https://domscan.net/v1/email/check",
params={"email": "user@tempmail.com"}
)
data = response.json()
if data['risk_level'] == 'high':
print(f"Reject: {data['flags']}")
elif data['checks']['disposable']['is_disposable']:
print("Disposable email detected")
예제 응답
{
"email": "user@tempmail.com",
"domain": "tempmail.com",
"local_part": "user",
"valid_syntax": true,
"checks": {
"disposable": {
"is_disposable": true,
"confidence": "high"
},
"role": {
"is_role": false,
"role_type": null
},
"free": {
"is_free": false,
"provider": null
},
"mx": {
"has_mx": true,
"records": ["mx.tempmail.com"]
},
"dnsbl": {
"listed": false,
"threat_level": "none"
}
},
"risk_score": 80,
"risk_level": "high",
"flags": ["DISPOSABLE_DOMAIN"],
"checked_at": "2025-01-15T12:00:00Z"
}
응답 필드
| 필드 | 유형 |
|---|---|
email |
string |
domain |
string |
local_part |
string |
valid_syntax |
boolean |
checks |
object |
checks.disposable |
object |
checks.disposable.is_disposable |
boolean |
checks.disposable.confidence |
string |
checks.role |
object |
checks.role.is_role |
boolean |
checks.role.role_type |
string | null |
checks.free |
object |
checks.free.is_free |
boolean |
checks.free.provider |
string | null |
checks.mx |
object |
checks.mx.has_mx |
boolean |
checks.mx.records[] |
string[] |
checks.dnsbl |
object |
checks.dnsbl.listed |
boolean |
checks.dnsbl.threat_level |
string |
risk_score |
integer |
risk_level |
string |
flags[] |
string[] |
checked_at |
string |
POST
/v1/email/check/bulk
요청 본문
| 매개변수 | 유형 | 설명 |
|---|---|---|
| emails 필수 | string[] | 확인할 이메일 주소 배열 (요청당 최대 100개) |
| checks 선택 사항 | string[] | 실행할 확인: ["disposable", "role", "free", "mx", "dnsbl"] |
사용 사례
- 마케팅 캠페인 전에 이메일 목록을 정리합니다
- 실시간으로 사용자 등록을 확인합니다
- 이메일 품질별로 리드 점수를 매깁니다
- 가입 사기 패턴을 탐지합니다
예제 요청
curl -X POST "https://domscan.net/v1/email/check/bulk" \
-H "Content-Type: application/json" \
-d '{
"emails": [
"user@gmail.com",
"test@tempmail.org",
"admin@company.com"
],
"checks": ["disposable", "role"]
}'
예제 응답
{
"results": [
{
"email": "user@gmail.com",
"risk_level": "low",
"risk_score": 10,
"flags": ["FREE_PROVIDER"]
},
{
"email": "test@tempmail.org",
"risk_level": "high",
"risk_score": 80,
"flags": ["DISPOSABLE_DOMAIN"]
},
{
"email": "admin@company.com",
"risk_level": "medium",
"risk_score": 20,
"flags": ["ROLE_ADDRESS"]
}
],
"summary": {
"total": 3,
"disposable": 1,
"role_based": 1,
"free_provider": 1,
"high_risk": 1,
"medium_risk": 1,
"low_risk": 1
},
"checked_at": "2025-01-15T12:00:00Z"
}
응답 필드
| 필드 | 유형 |
|---|---|
results[] |
object[] |
results[] |
object |
summary |
object |
summary.total |
integer |
summary.disposable |
integer |
summary.role_based |
integer |
summary.free_provider |
integer |
summary.no_mx |
integer |
summary.dnsbl_listed |
integer |
summary.high_risk |
integer |
summary.medium_risk |
integer |
summary.low_risk |
integer |
checked_at |
string |
GET
/v1/email/blacklist
쿼리 매개변수
| 매개변수 | 유형 | 설명 |
|---|---|---|
| limit 선택 사항 | number | 반환할 도메인 수 (기본값: 1000, 최대: 10000) |
| offset 선택 사항 | number | 페이지 매김 오프셋 (기본값: 0) |
| format 선택 사항 | string | json (기본값) 또는 txt (일반 텍스트 목록) |
설명
일회용 이메일 도메인 블랙리스트를 다운로드합니다. 모든 사용자가 무료로 사용할 수 있습니다. 전체 목록의 경우 /v1/email/blacklist/download를 사용하여 다운로드 가능한 파일로 받으세요.
예제 요청
# Get first 1000 domains as JSON
curl "https://domscan.net/v1/email/blacklist"
# Get as plain text for firewall rules
curl "https://domscan.net/v1/email/blacklist?format=txt&limit=5000"
# Download complete blacklist
curl "https://domscan.net/v1/email/blacklist/download" -o disposable.json
예제 응답
{
"domains": [
"tempmail.com",
"guerrillamail.com",
"10minutemail.com",
"mailinator.com",
"..."
],
"total": 85432,
"offset": 0,
"limit": 1000,
"metadata": {
"last_updated": "2025-01-15T00:00:00Z",
"total_domains": 85432,
"high_confidence_count": 12500,
"wildcard_count": 234,
"sources": [
"disposable-email-domains",
"ivolo/disposable-email-domains"
]
}
}
응답 필드
| 필드 | 유형 |
|---|---|
domains[] |
string[] |
total |
integer |
offset |
integer |
limit |
integer |
metadata |
object |
metadata.last_updated |
string |
metadata.total_domains |
integer |
metadata.high_confidence_count |
integer |
metadata.wildcard_count |
integer |
metadata.sources[] |
string[] |
GET
/v1/email/blacklist/download
쿼리 매개변수
| 매개변수 | 유형 | 필수 |
|---|---|---|
| format | string | 선택 사항 |
응답 필드
| 필드 | 유형 |
|---|---|
domains[] |
string[] |
wildcards[] |
string[] |
metadata |
object |
예제 요청
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/email/blacklist/download?format=example.com"
예제 응답
{
"domains": [
"example.com"
],
"wildcards": [
"string"
],
"metadata": {}
}