개발자 참고자료

이메일 블랙리스트 API 문서

이메일 블랙리스트 API 문서: 일회용/임시 이메일 주소, 역할 기반 주소, 무료 공급자를 감지하고 도메인 평판을 확인하는 포괄적인 이메일 검증 API입니다. 저희 데이터베이스에는 높음/중간/낮음 신뢰도 점수가 있는 80,000개 이상의 일회용 이메일 도메인이 포함되어 있습니다. 가입 사기 방지 및 리드 품질 필터링에 필수적입니다.

이메일 블랙리스트

일회용/임시 이메일 주소, 역할 기반 주소, 무료 공급자를 감지하고 도메인 평판을 확인하는 포괄적인 이메일 검증 API입니다. 저희 데이터베이스에는 높음/중간/낮음 신뢰도 점수가 있는 80,000개 이상의 일회용 이메일 도메인이 포함되어 있습니다. 가입 사기 방지 및 리드 품질 필터링에 필수적입니다.

GET /v1/email/check

쿼리 매개변수

매개변수유형설명
email 필수 string 확인할 이메일 주소 (예: "user@tempmail.com")
checks 선택 사항 string 실행할 쉼표로 구분된 검사: disposable, role, free, mx, dnsbl. 기본값: 모두

사용 가능한 확인

확인설명위험 점수
disposable80,000개 이상의 일회용 도메인 데이터베이스에 대해 확인+80
role역할 기반 주소 탐지 (admin@, support@ 등)+20
free무료 이메일 제공자 식별 (gmail, yahoo 등)+10
mx도메인에 대한 MX 레코드 확인+50 (없는 경우)
dnsblDNS 블랙리스트 (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": {}
}

놀라운 회사의 사람들이 사용함

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel