API 문서

간단하고 빠르며 무료인 일회용 이메일 감지 API. 인증 불필요, HTTP 상태 코드만 확인하면 즉시 결과를 얻을 수 있습니다.

빠른 시작

간단한 REST API로 몇 초 만에 시작하세요. API 키 불필요, 등록 불필요, 복잡한 설정 불필요 - GET 요청을 보내고 HTTP 상태 코드를 확인하기만 하면 결과를 얻을 수 있습니다.

GET 요청
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
일회용 (상태: 403)
이것은 일회용 이메일 주소인 것 같습니다
정당함 (상태: 200)
이 이메일은 정당한 것 같습니다

작동 원리

저희 API는 HTTP 상태 코드를 사용하여 결과를 나타내므로 통합이 매우 간단합니다. 응답 본문에는 추가 컨텍스트를 위한 사람이 읽을 수 있는 메시지가 포함되어 있습니다.

상태 코드 로직

200
이메일이 정당함 - 등록 허용
403
이메일이 일회용 - 등록 차단
4xx/5xx
오류 발생 - 자세한 내용은 응답 본문 확인

API 엔드포인트

1. 이메일 확인 엔드포인트

완전한 이메일 주소가 일회용인지 확인합니다. 이는 사용자 등록 검증의 가장 일반적인 사용 사례입니다.

메서드:GET
응답:text/plain
URL:/api/check?email={email}

2. 도메인 확인 엔드포인트 (개인정보 친화적)

더 나은 개인정보 보호를 위해 전체 이메일 주소 대신 도메인 부분만 확인할 수 있습니다. 이렇게 하면 개인 정보가 전송되거나 기록되는 것을 방지할 수 있습니다.

개인정보 팁

도메인 전용 확인을 사용하면 개인 이메일 주소가 저희 서버로 전송되지 않아 정확한 일회용 이메일 감지를 받으면서도 최대한의 개인정보 보호를 제공합니다.

메서드:GET
응답:text/plain
URL:/api/check?domain={domain}

코드 예제

인기 있는 프로그래밍 언어의 실용적인 예제입니다. 결과를 위해 HTTP 상태 코드에 집중하고, 선택적으로 사람이 읽을 수 있는 메시지를 위해 응답 본문을 읽으세요.

JavaScript / Node.js

JAVASCRIPT
async function checkEmail(email) {
  try {
    const response = await fetch(
      `https://disposableemailchecker.com/api/check?email=${encodeURIComponent(email)}`
    );
    
    if (response.status === 200) {
      const message = await response.text();
      console.log('✅ Valid email:', message);
      return true; // Allow registration
    } else if (response.status === 403) {
      const message = await response.text();
      console.log('❌ Disposable email:', message);
      return false; // Block registration
    } else {
      const error = await response.text();
      console.log(`⚠️ Check failed (${response.status}):`, error);
      return null; // Handle error
    }
  } catch (error) {
    console.error('❌ Request failed:', error);
    return null;
  }
}

// Domain check (privacy-friendly)
async function checkDomain(domain) {
  try {
    const response = await fetch(
      `https://disposableemailchecker.com/api/check?domain=${encodeURIComponent(domain)}`
    );
    
    return response.status === 200; // true = legitimate, false = disposable
  } catch (error) {
    console.error('❌ Request failed:', error);
    return null;
  }
}

// Usage examples
checkEmail('user@gmail.com');
checkEmail('test@10minutemail.com');
checkDomain('gmail.com');

Python

PYTHON
import requests
from urllib.parse import quote

def check_email(email):
    """Check if email is disposable"""
    url = f"https://disposableemailchecker.com/api/check?email={quote(email)}"
    
    try:
        response = requests.get(url, timeout=5)
        
        if response.status_code == 200:
            print(f"✅ Valid email: {response.text}")
            return True  # Allow registration
        elif response.status_code == 403:
            print(f"❌ Disposable email: {response.text}")
            return False  # Block registration
        else:
            print(f"⚠️ Check failed ({response.status_code}): {response.text}")
            return None  # Handle error
            
    except requests.RequestException as e:
        print(f"❌ Request failed: {e}")
        return None

def check_domain(domain):
    """Check domain only (privacy-friendly)"""
    url = f"https://disposableemailchecker.com/api/check?domain={quote(domain)}"
    
    try:
        response = requests.get(url, timeout=5)
        return response.status_code == 200  # True = legitimate, False = disposable
    except requests.RequestException as e:
        print(f"❌ Request failed: {e}")
        return None

# Usage examples
check_email('user@gmail.com')
check_email('test@10minutemail.com')
check_domain('gmail.com')

PHP

PHP
<?php
function checkEmail($email) {
    $url = 'https://disposableemailchecker.com/api/check?email=' . urlencode($email);
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($httpCode === 200) {
        echo "✅ Valid email: " . $response . "\n";
        return true; // Allow registration
    } elseif ($httpCode === 403) {
        echo "❌ Disposable email: " . $response . "\n";
        return false; // Block registration
    } else {
        echo "⚠️ Check failed ({$httpCode}): " . $response . "\n";
        return null; // Handle error
    }
}

function checkDomain($domain) {
    $url = 'https://disposableemailchecker.com/api/check?domain=' . urlencode($domain);
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    curl_setopt($ch, CURLOPT_NOBODY, true); // HEAD request for status only
    
    curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    return $httpCode === 200; // true = legitimate, false = disposable
}

// Usage examples
checkEmail('user@gmail.com');
checkEmail('test@10minutemail.com');
var_dump(checkDomain('gmail.com'));
?>

cURL 명령줄

CURL
# Check email with status code and response
curl -w "HTTP Status: %{http_code}\n" \
  "https://disposableemailchecker.com/api/check?email=test@10minutemail.com"

# Check domain only (privacy-friendly)
curl -w "HTTP Status: %{http_code}\n" \
  "https://disposableemailchecker.com/api/check?domain=10minutemail.com"

# Get only status code (for scripts)
curl -s -o /dev/null -w "%{http_code}" \
  "https://disposableemailchecker.com/api/check?email=user@gmail.com"

# Batch check multiple emails
for email in "user@gmail.com" "test@tempmail.org" "admin@yahoo.com"; do
  echo "Checking $email:"
  curl -w "Status: %{http_code}\n" \
    "https://disposableemailchecker.com/api/check?email=$email"
  echo "---"
done

모범 사례

개인정보 보호를 위한 도메인 확인 사용

가능한 경우 클라이언트 측에서 이메일 주소에서 도메인을 추출하고 도메인만 저희 API로 보내세요. 이렇게 하면 개인 이메일 주소가 전송되거나 기록되는 것을 방지하여 최대한의 개인정보 보호를 제공합니다.

상태 코드에 집중

HTTP 상태 코드가 알아야 할 모든 것을 알려줍니다. 200 = 허용, 403 = 차단. 사람이 읽을 수 있는 메시지를 위해 응답 본문을 선택적으로 읽을 수 있지만, 대부분의 사용 사례에서는 상태 코드로 충분합니다.

오류를 우아하게 처리

API를 사용할 수 없을 때 항상 대체 로직을 구현하세요. 오류의 경우(4xx/5xx 상태 코드) 정당한 사용자를 차단하는 대신 등록을 계속 진행하는 것을 고려하세요. 합리적인 타임아웃(3-5초)을 설정하세요.

캐싱 구현

일반적인 도메인의 결과를 캐시하여 API 호출을 줄이고 성능을 향상시키세요. 대부분의 일회용 이메일 도메인은 상태가 자주 변경되지 않으므로 24-48시간 동안 캐싱하는 것이 일반적으로 안전하며 서버 부하를 줄입니다.

프로덕션에서의 스마트 차단

프로덕션 환경에서는 일회용 이메일이 감지되었을 때 사용자를 즉시 차단하지 마세요. 대신 API 결과를 다른 요인과 결합하세요: 이미 5명 이상의 사용자가 이 도메인을 사용하고 있는지, 또는 지난 24시간 동안 이 도메인에서 3회 이상의 등록이 발생했는지 확인하세요. 그런 다음에만 사용자에게 다른 이메일을 사용하도록 요청하세요. 이 접근 방식은 사용자 경험을 개선하고 거짓 양성의 영향을 줄입니다.

속도 제한 및 공정 사용

저희 API는 무료이며 엄격한 속도 제한을 적용하지 않지만, 모든 사람에게 좋은 성능을 보장하기 위해 책임감 있게 사용해 주시기 바랍니다.

공정 사용 가이드라인

  • 일반적인 애플리케이션 사용을 위한 합리적인 요청 볼륨
  • 동일한 도메인에 대한 반복 요청을 피하기 위한 캐싱 구현
  • 대량 도메인 스캔이나 연구 목적으로 API 사용 금지
  • 정당한 사용 사례를 위해 더 높은 제한이 필요한 경우 문의하세요

지원 및 피드백

저희 API 통합에 도움이 필요하거나 잘못 분류된 도메인을 발견하셨나요? 저희가 도와드리며 항상 감지 정확도를 개선하려고 노력하고 있습니다.

기술 지원

통합에 문제가 있으신가요? 특정 사용 사례에 대한 도움이 필요하신가요? 저희 기술 팀에 문의하세요.

기술 지원 받기

도메인 피드백 제출

거짓 양성이나 음성을 발견하셨나요? 도메인 피드백을 제출하여 저희가 개선할 수 있도록 도와주세요. 모든 제출을 24시간 이내에 검토합니다.

피드백 제출